[PATCH 00/10] drm/i915: Add support for asynchronous display power disabling

Imre Deak
2019-05-02T23:27:03Z

This is a preparation for making hotplug useable on ICL TypeC ports. On
ICL we need a stricter control on when either kind of AUX power domain
(TBT-alt or DP-alt) is enabled. That control becomes unfeasible if the
reference can be held for arbitratry periods due to locking
dependencies. OTOH it makes sense to restrict holding the reference only
for the duration when it's actually needed. One result of that would be
the unnecessary on-off-on power togglings when the reference is dropped
and reacquired quickly.

This patchset adds support for dropping display power domain references
asynchronously with a delay to avoid the unecessary power togglings, and
restricts holding the AUX power domain reference to the sequence where
it's required during detection and HPD pulse handling.

Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>

Imre Deak (10):
drm/i915: Add support for tracking wakerefs w/o power-on guarantee
drm/i915: Verify power domains state during suspend in all cases
drm/i915: Add support for asynchronous display power disabling
drm/i915: Disable power asynchronously during DP AUX transfers
drm/i915: WARN for eDP encoders in intel_dp_detect_dpcd()
drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()
drm/i915: Remove the unneeded AUX power ref from intel_dp_hpd_pulse()
drm/i915: Replace use of PLLS power domain with DISPLAY_CORE domain
drm/i915: Avoid taking the PPS lock for non-eDP/VLV/CHV
drm/i915: Assert that TypeC ports are not used for eDP

drivers/gpu/drm/i915/i915_drv.h | 6 +
drivers/gpu/drm/i915/intel_display.c | 2 +-
drivers/gpu/drm/i915/intel_display.h | 2 +-
drivers/gpu/drm/i915/intel_dp.c | 76 ++--
drivers/gpu/drm/i915/intel_dpll_mgr.c | 36 +-
drivers/gpu/drm/i915/intel_psr.c | 6 +
drivers/gpu/drm/i915/intel_runtime_pm.c | 443 ++++++++++++++++++++++--
drivers/gpu/drm/i915/intel_runtime_pm.h | 4 +
8 files changed, 491 insertions(+), 84 deletions(-)

--
2.17.1