• Ville Syrjälä's avatar
    platform/x86: Fix config space access for intel_atomisp2_pm · 6a310618
    Ville Syrjälä authored
    We lose even config space access when we power gate the ISP
    via the PUNIT. That makes lspci & co. produce gibberish.
    
    To fix that let's try to implement actual runtime pm hooks
    and inform the pci core that the device always goes to
    D3cold. That will cause the pci core to resume the device
    before attempting config space access.
    
    This introduces another annoyance though. We get the
    following error every time we try to resume the device:
    intel_atomisp2_pm 0000:00:03.0: Refused to change power state, currently in D3
    
    The reason being that the pci core tries to put the device
    back into D0 via the standard PCI PM mechanism before
    calling the driver resume hook. To fix this properly
    we'd need to infiltrate the platform pm hooks (could
    turn ugly real fast), or use pm domains (which don't
    seem to exist on x86), or some extra early resume
    hook for the driver (which doesn't exist either).
    So maybe we just choose to live with the error?
    
    Cc: Hans de Goede <hdegoede@redhat.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Darren Hart <dvhart@infradead.org>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
    6a310618
intel_atomisp2_pm.c 3.75 KB