On Wed, Oct 01, 2025 at 01:04:48PM -0300, Gustavo Sousa wrote: > In an upcoming change, we will fix an ordering issue between PICA and > AUX power wells for Xe2_LPD and later, making sure that the driver > acquires PICA power before AUX. As a preparation for that, let's > extract separate descriptors for AUX power wells. > > Suggested-by: Imre Deak <[email protected]> > Signed-off-by: Gustavo Sousa <[email protected]>
Thanks, this also unifies the xe, xe2, xe3 (except for wcl) aux definitions: Reviewed-by: Imre Deak <[email protected]> > --- > .../gpu/drm/i915/display/intel_display_power_map.c | 26 > ++++++++++++---------- > 1 file changed, 14 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c > b/drivers/gpu/drm/i915/display/intel_display_power_map.c > index 39b71fffa2cd..e89f18b7037f 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c > @@ -1516,7 +1516,11 @@ static const struct i915_power_well_desc > xelpdp_power_wells_main[] = { > .ops = &hsw_power_well_ops, > .irq_pipe_mask = BIT(PIPE_D), > .has_fuses = true, > - }, { > + }, > +}; > + > +static const struct i915_power_well_desc xelpdp_power_wells_aux[] = { > + { > .instances = &I915_PW_INSTANCES( > I915_PW("AUX_A", &icl_pwdoms_aux_a, .xelpdp.aux_ch = > AUX_CH_A), > I915_PW("AUX_B", &icl_pwdoms_aux_b, .xelpdp.aux_ch = > AUX_CH_B), > @@ -1534,6 +1538,7 @@ static const struct i915_power_well_desc_list > xelpdp_power_wells[] = { > I915_PW_DESCRIPTORS(icl_power_wells_pw_1), > I915_PW_DESCRIPTORS(xelpd_power_wells_dc_off), > I915_PW_DESCRIPTORS(xelpdp_power_wells_main), > + I915_PW_DESCRIPTORS(xelpdp_power_wells_aux), > }; > > I915_DECL_PW_DOMAINS(xe2lpd_pwdoms_pica_tc, > @@ -1583,6 +1588,7 @@ static const struct i915_power_well_desc_list > xe2lpd_power_wells[] = { > I915_PW_DESCRIPTORS(icl_power_wells_pw_1), > I915_PW_DESCRIPTORS(xe2lpd_power_wells_dcoff), > I915_PW_DESCRIPTORS(xelpdp_power_wells_main), > + I915_PW_DESCRIPTORS(xelpdp_power_wells_aux), > I915_PW_DESCRIPTORS(xe2lpd_power_wells_pica), > }; > > @@ -1677,16 +1683,6 @@ static const struct i915_power_well_desc > xe3lpd_power_wells_main[] = { > .ops = &hsw_power_well_ops, > .irq_pipe_mask = BIT(PIPE_D), > .has_fuses = true, > - }, { > - .instances = &I915_PW_INSTANCES( > - I915_PW("AUX_A", &icl_pwdoms_aux_a, .xelpdp.aux_ch = > AUX_CH_A), > - I915_PW("AUX_B", &icl_pwdoms_aux_b, .xelpdp.aux_ch = > AUX_CH_B), > - I915_PW("AUX_TC1", &xelpdp_pwdoms_aux_tc1, > .xelpdp.aux_ch = AUX_CH_USBC1), > - I915_PW("AUX_TC2", &xelpdp_pwdoms_aux_tc2, > .xelpdp.aux_ch = AUX_CH_USBC2), > - I915_PW("AUX_TC3", &xelpdp_pwdoms_aux_tc3, > .xelpdp.aux_ch = AUX_CH_USBC3), > - I915_PW("AUX_TC4", &xelpdp_pwdoms_aux_tc4, > .xelpdp.aux_ch = AUX_CH_USBC4), > - ), > - .ops = &xelpdp_aux_power_well_ops, > }, > }; > > @@ -1714,6 +1710,7 @@ static const struct i915_power_well_desc_list > xe3lpd_power_wells[] = { > I915_PW_DESCRIPTORS(icl_power_wells_pw_1), > I915_PW_DESCRIPTORS(xe3lpd_power_wells_dcoff), > I915_PW_DESCRIPTORS(xe3lpd_power_wells_main), > + I915_PW_DESCRIPTORS(xelpdp_power_wells_aux), > I915_PW_DESCRIPTORS(xe2lpd_power_wells_pica), > }; > > @@ -1751,7 +1748,11 @@ static const struct i915_power_well_desc > wcl_power_wells_main[] = { > .ops = &hsw_power_well_ops, > .irq_pipe_mask = BIT(PIPE_C), > .has_fuses = true, > - }, { > + }, > +}; > + > +static const struct i915_power_well_desc wcl_power_wells_aux[] = { > + { > .instances = &I915_PW_INSTANCES( > I915_PW("AUX_A", &icl_pwdoms_aux_a, .xelpdp.aux_ch = > AUX_CH_A), > I915_PW("AUX_B", &icl_pwdoms_aux_b, .xelpdp.aux_ch = > AUX_CH_B), > @@ -1767,6 +1768,7 @@ static const struct i915_power_well_desc_list > wcl_power_wells[] = { > I915_PW_DESCRIPTORS(icl_power_wells_pw_1), > I915_PW_DESCRIPTORS(xe3lpd_power_wells_dcoff), > I915_PW_DESCRIPTORS(wcl_power_wells_main), > + I915_PW_DESCRIPTORS(wcl_power_wells_aux), > I915_PW_DESCRIPTORS(xe2lpd_power_wells_pica), > }; > > > -- > 2.51.0 >
