• Dave Airlie's avatar
    PCI: Don't touch card regs after runtime suspend D3 · 42eca230
    Dave Airlie authored
    If the driver takes care of state saving, don't touch any registers on it.
    
    Optimus (dual-gpu) laptops seem to have their own form of D3cold, but
    unfortunately enter it on normal D3 transitions via the ACPI callback.
    
    So when we use runtime PM to transition to D3, the card disappears off
    the PCI bus, however we then try to access registers on it in the
    runtime suspend finish, which really doesn't work.
    
    This patch checks whether the pci state is saved and doesn't attempt to hit
    any registers after that point if it is.
    
    (Looks okay to Rafael)
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    42eca230
pci-driver.c 30.6 KB