[PATCH v2 00/13] drm/i915/display: Add DC3CO support

Dibin Moolakadan Subrahmanian
2026-04-22T16:26:05Z

This series adds initial DC3CO support for display version 35+ and adds
debugfs visibility into DC3CO count/residency.

The series also includes required PSR/ALPM updates for DC3CO enablement.

This series is based on the CMTG enablement series currently under
review:
https://patchwork.freedesktop.org/series/157664/

DC3CO is not enabled by this series since power_domains->allowed_dc_mask
is not updated to include DC3CO.

TODO:
- CMTG restore on DC6 exit
- CMTG HWGB programming for DC3CO latencies
- Enable DC3CO in power_domains->allowed_dc_mask

Changes in v2:
- Move dc3co state from intel_atomic_state to display->power
- Squash cleanup and related patches to reduce series from 19 to 13
patches

Dibin Moolakadan Subrahmanian (13):
drm/i915/display: Remove TGL DC3CO support
drm/i915/display: Switch DC3Co enable from standalone bit to DC level
encoding
drm/i915/display: Use FIELD_PREP() for DC state enable bits
drm/i915/display: Add DC3CO DC_STATE enable/disable support
drm/i915/display: Add DC3CO support check and validate target DC state
drm/i915/display: Add HAS_DC3CO() macro
drm/i915/display: Add DC3CO eligibility computation
drm/i915/display: Store DC3CO eligibility in PSR state
drm/i915/display: PSR2: Set idle_frames to 0 for DC3CO
drm/i915/display: Enable DC3CO idle protocol in ALPM
drm/i915/display: PSR Add delayed work to exit DC3CO
drm/i915/display: Add helper to enable DC counter
drm/i915/display: Add DC3CO count and residency in dmc debugfs

drivers/gpu/drm/i915/display/intel_alpm.c | 6 +
drivers/gpu/drm/i915/display/intel_display.c | 92 ++++++-
drivers/gpu/drm/i915/display/intel_display.h | 1 -
.../gpu/drm/i915/display/intel_display_core.h | 3 +-
.../drm/i915/display/intel_display_device.h | 1 +
.../drm/i915/display/intel_display_power.c | 50 +++-
.../drm/i915/display/intel_display_power.h | 23 ++
.../i915/display/intel_display_power_well.c | 36 ++-
.../i915/display/intel_display_power_well.h | 1 +
.../gpu/drm/i915/display/intel_display_regs.h | 14 +-
.../drm/i915/display/intel_display_types.h | 7 +-
drivers/gpu/drm/i915/display/intel_dmc.c | 15 +-
drivers/gpu/drm/i915/display/intel_dmc_regs.h | 2 +
drivers/gpu/drm/i915/display/intel_dmc_wl.c | 2 +-
drivers/gpu/drm/i915/display/intel_psr.c | 230 +++++-------------
drivers/gpu/drm/i915/display/intel_psr_regs.h | 1 +
16 files changed, 266 insertions(+), 218 deletions(-)

--
2.43.0