[PATCH v5 0/9] DC3CO Support for TGL

Anshuman Gupta
2019-08-09T18:36:02Z

This revision is rebased on latest drm-tip as earlier v4 series had
CI failures due to merge conflicts, there are no functional changes
with this v5 series.

one patch of this series "tgl-DC3CO-PSR2-helper"
will require rebase after https://patchwork.freedesktop.org/series/62416/
series will merged to drm-tip.
TGL supports DC3CO only on PipeA in LPSP mpde, so DC3CO doesn't depends
on TGL PSR "Transcoder B" feature.

B.Specs:49196
DC3CO requirements:
*Audio codec idle and disabled.
*External displays disabled.
WD transcoders and DP/HDMI transcoders must be disabled.
*Backlight cannot be driven from the display utility pin.
It can be driven from the south display.
*This feature should be enabled only in Display Video playback on eDP.
*DC5 and DC6 not allowed when this feature is enabled.
*PSR2 deep sleep disabled (PSR2_CTL Idle Frames = 0000b)
*Disable DC3co before mode set, or other Aux, PLL, and DBUF programming,
and do not re-enable until after that programming is completed.
*DC3co must not be enabled until after PSR2 is enabled.
*DC3co must be disabled before PSR2 is disabled.

Anshuman Gupta (9):
drm/i915/tgl: Add DC3CO required register and bits
drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask
drm/i915/tgl: Add power well to enable DC3CO state
drm/i915/tgl: mutual exclusive handling for DC3CO and DC5/6
drm/i915/tgl: Add helper function to prefer dc3co over dc5
drm/i915/tgl: Add VIDEO power domain
drm/i915/tgl: DC3CO PSR2 helper
drm/i915/tgl: switch between dc3co and dc5 based on display idleness
drm/i915/tgl: Add DC3CO counter in i915_dmc_info

drivers/gpu/drm/i915/display/intel_display.c | 9 +
.../drm/i915/display/intel_display_power.c | 291 +++++++++++++++++-
.../drm/i915/display/intel_display_power.h | 11 +
drivers/gpu/drm/i915/display/intel_psr.c | 44 +++
drivers/gpu/drm/i915/display/intel_psr.h | 2 +
drivers/gpu/drm/i915/i915_debugfs.c | 6 +
drivers/gpu/drm/i915/i915_drv.h | 8 +
drivers/gpu/drm/i915/i915_params.c | 3 +-
drivers/gpu/drm/i915/i915_reg.h | 10 +
drivers/gpu/drm/i915/intel_pm.c | 2 +-
drivers/gpu/drm/i915/intel_pm.h | 2 +
11 files changed, 376 insertions(+), 12 deletions(-)

--
2.21.0