Introduce PME support for PME capable devices and avoid
HPD polling on runtime suspend. For PME capable devices
HPD will trigger PME which will wakeup the system. And
rest of the runtime resume call is same as before.

v2: Instead of plumbing keep_hpd and pme_capability to
    the existing interfaces, a separate helper function to
    set and get pme capability is added.

    HPD polling is handled directly inside the
    intel_hpd_poll_enable() based on the pme capability
    flag

Vinod Govindapillai (5):
  drm/xe/pm: initialize the device's system wakeup capabilities
  drm/i915/hotplug: add helpers to track HPDs can generate PME
  drm/i915/irq: conditional HPD IRQ resets based on PME capability
  drm/i915/hotplug: avoid HPD polling if the device is PME capable
  drm/xe/pm: handle the PME capability and runtime pm routines

 .../gpu/drm/i915/display/intel_display_core.h |  2 ++
 .../gpu/drm/i915/display/intel_display_irq.c  | 20 ++++++++++++-------
 drivers/gpu/drm/i915/display/intel_hotplug.c  | 15 ++++++++++++++
 drivers/gpu/drm/i915/display/intel_hotplug.h  |  3 +++
 drivers/gpu/drm/xe/display/xe_display.c       | 10 ++++++++++
 drivers/gpu/drm/xe/display/xe_display.h       |  4 ++++
 drivers/gpu/drm/xe/xe_pci.c                   | 20 ++++++++++++++++++-
 7 files changed, 66 insertions(+), 8 deletions(-)

-- 
2.43.0

Reply via email to