• Dave Airlie's avatar
    nouveau: add runtime PM support (v0.9) · 5addcf0a
    Dave Airlie authored
    This hooks nouveau up to the runtime PM system to enable
    dynamic power management for secondary GPUs in switchable
    and optimus laptops.
    a) rewrite suspend/resume printks to hide them during dynamic s/r
    to avoid cluttering logs
    b) add runtime pm suspend to irq handler, crtc display, ioctl handler,
    connector status,
    c) handle hdmi audio dynamic power on/off using magic register.
    make sure we hit D3 properly
    fix fbdev_set_suspend locking interaction, we only will poweroff if we have no
    active crtcs/fbcon anyways.
    add reference for active crtcs.
    sprinkle mark last busy for autosuspend timeout
    allow more flexible debugging - to avoid log spam
    add option to enable/disable dynpm
    got to D3Cold
    add hdmi audio support.
    call autosuspend from idle, so pci config space access doesn't go straight
    back to sleep, this makes starting X faster.
    only signal usage if we actually handle the irq, otherwise usb keeps us awake.
    fix nv50 display active powerdown
    use masking function to enable hdmi audio
    set busy when we fail to suspend
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
nouveau_connector.c 33.6 KB