This is v2 of [1] addressing the review comments from Jani, moving the power well ops/desc struct accessor functions and implementation of the platform specific power well hooks to a separate file. [1] https://patchwork.freedesktop.org/series/99476/ Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Imre Deak (26): drm/i915: Fix the VDSC_PW2 power domain enum value drm/i915: Sanitize open-coded power well enable()/disable() calls drm/i915: Remove redundant state verification during TypeC AUX power well disabling drm/i915: Move i915_power_well_regs struct into i915_power_well_ops drm/i915: Move power well get/put/enable/disable functions to a new file drm/i915: Add function to call a power well's sync_hw() hook drm/i915: Add functions to get a power well's state/name/domains/mask/refcount drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c drm/i915: Move per-platform power well hooks to intel_display_power_well.c drm/i915: Unexport the for_each_power_well() macros drm/i915: Move the power domain->well mappings to intel_display_power_map.c drm/i915: Move the dg2 fixed_enable_delay power well param to a common bitfield drm/i915: Move the HSW power well flags to a common bitfield drm/i915: Rename the power domain names to end with pipes/ports drm/i915: Sanitize the power well names drm/i915: Convert the power well descriptor domain mask to an array of domains drm/i915: Convert the u64 power well domains mask to a bitmap drm/i915: Simplify power well definitions by adding power well instances drm/i915: Allow platforms to share power well descriptors drm/i915: Simplify the DG1 power well descriptors drm/i915: Sanitize the ADL-S power well definition drm/i915: Sanitize the port -> DDI/AUX power domain mapping for each platform drm/i915: Remove the aliasing of power domain enum values drm/i915: Remove the ICL specific TBT power domains drm/i915: Remove duplicate DDI/AUX power domain mappings drm/i915: Remove the XELPD specific AUX and DDI power domains drivers/gpu/drm/i915/Makefile | 2 + drivers/gpu/drm/i915/display/g4x_dp.c | 3 +- drivers/gpu/drm/i915/display/g4x_hdmi.c | 3 +- drivers/gpu/drm/i915/display/icl_dsi.c | 8 +- drivers/gpu/drm/i915/display/intel_ddi.c | 6 +- drivers/gpu/drm/i915/display/intel_display.c | 150 +- drivers/gpu/drm/i915/display/intel_display.h | 4 +- .../drm/i915/display/intel_display_debugfs.c | 1 + .../drm/i915/display/intel_display_power.c | 4842 ++--------------- .../drm/i915/display/intel_display_power.h | 154 +- .../i915/display/intel_display_power_map.c | 1487 +++++ .../i915/display/intel_display_power_map.h | 14 + .../i915/display/intel_display_power_well.c | 1937 +++++++ .../i915/display/intel_display_power_well.h | 168 + drivers/gpu/drm/i915/display/intel_hdcp.c | 1 + drivers/gpu/drm/i915/display/intel_tc.c | 5 +- 16 files changed, 4105 insertions(+), 4680 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_display_power_map.c create mode 100644 drivers/gpu/drm/i915/display/intel_display_power_map.h create mode 100644 drivers/gpu/drm/i915/display/intel_display_power_well.c create mode 100644 drivers/gpu/drm/i915/display/intel_display_power_well.h -- 2.27.0