On Fri, Jun 28, 2019 at 09:31:04AM -0700, Lucas De Marchi wrote: > On Fri, Jun 28, 2019 at 12:55:17PM +0300, Ville Syrjälä wrote: > >On Tue, Jun 25, 2019 at 10:54:21AM -0700, Lucas De Marchi wrote: > >> From: José Roberto de Souza <jose.souza@xxxxxxxxx> > >> > >> On TGL the special EDP transcoder is gone and it should be handled by > >> transcoder A. Add POWER_DOMAIN_TRANSCODER_A_VDSC to make this > >> distinction clear and update vdsc code path. > >> > >> Cc: Imre Deak <imre.deak@xxxxxxxxx> > >> Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > >> Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> > >> --- > >> drivers/gpu/drm/i915/display/intel_display_power.c | 2 ++ > >> drivers/gpu/drm/i915/display/intel_display_power.h | 1 + > >> drivers/gpu/drm/i915/display/intel_vdsc.c | 11 ++++++++--- > >> 3 files changed, 11 insertions(+), 3 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c > >> index 0c7d4a363deb..15582841fefc 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_display_power.c > >> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c > >> @@ -58,6 +58,8 @@ intel_display_power_domain_str(struct drm_i915_private *i915, > >> return "TRANSCODER_EDP"; > >> case POWER_DOMAIN_TRANSCODER_EDP_VDSC: > >> return "TRANSCODER_EDP_VDSC"; > >> + case POWER_DOMAIN_TRANSCODER_A_VDSC: > >> + return "TRANSCODER_A_VDSC"; > >> case POWER_DOMAIN_TRANSCODER_DSI_A: > >> return "TRANSCODER_DSI_A"; > >> case POWER_DOMAIN_TRANSCODER_DSI_C: > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h > >> index 79262a5bceb4..7761b493608a 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_display_power.h > >> +++ b/drivers/gpu/drm/i915/display/intel_display_power.h > >> @@ -29,6 +29,7 @@ enum intel_display_power_domain { > >> POWER_DOMAIN_TRANSCODER_D, > >> POWER_DOMAIN_TRANSCODER_EDP, > >> POWER_DOMAIN_TRANSCODER_EDP_VDSC, > >> + POWER_DOMAIN_TRANSCODER_A_VDSC, > > > >Two power domains for essentially the same thing seems a bit wasteful. > > just reuse the name then? > > and on gen12+ check for TRANSCODER_A like below? That was my initial idea yes. In theory it would be nice to have fully abstracted power domains but that would lead to a lot of bits getting used. I suspect we might have to switch to using the kernel bitmask stuff in that case. Not sure how many bits we have free ATM. > > Lucas De Marchi > > > > >> POWER_DOMAIN_TRANSCODER_DSI_A, > >> POWER_DOMAIN_TRANSCODER_DSI_C, > >> POWER_DOMAIN_PORT_DDI_A_LANES, > >> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c > >> index ffec807b8960..0c75b408d6ba 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c > >> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c > >> @@ -459,16 +459,21 @@ int intel_dp_compute_dsc_params(struct intel_dp *intel_dp, > >> enum intel_display_power_domain > >> intel_dsc_power_domain(const struct intel_crtc_state *crtc_state) > >> { > >> + struct drm_i915_private *dev_priv = to_i915(crtc_state->base.state->dev); > >> enum transcoder cpu_transcoder = crtc_state->cpu_transcoder; > >> > >> /* > >> - * On ICL VDSC/joining for eDP transcoder uses a separate power well PW2 > >> - * This requires POWER_DOMAIN_TRANSCODER_EDP_VDSC power domain. > >> + * On ICL+ VDSC/joining for eDP/A transcoder uses a separate power well > >> + * PW2. This requires > >> + * POWER_DOMAIN_TRANSCODER_EDP_VDSC/POWER_DOMAIN_TRANSCODER_A_VDSC power > >> + * domain. > >> * For any other transcoder, VDSC/joining uses the power well associated > >> * with the pipe/transcoder in use. Hence another reference on the > >> * transcoder power domain will suffice. > >> */ > >> - if (cpu_transcoder == TRANSCODER_EDP) > >> + if (INTEL_GEN(dev_priv) >= 12 && cpu_transcoder == TRANSCODER_A) > >> + return POWER_DOMAIN_TRANSCODER_A_VDSC; > >> + else if (cpu_transcoder == TRANSCODER_EDP) > >> return POWER_DOMAIN_TRANSCODER_EDP_VDSC; > >> else > >> return POWER_DOMAIN_TRANSCODER(cpu_transcoder); > >> -- > >> 2.21.0 > >> > >> _______________________________________________ > >> Intel-gfx mailing list > >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > >-- > >Ville Syrjälä > >Intel -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx