On Thu, Jun 27, 2019 at 07:28:15PM +0000, Souza, Jose wrote: > On Tue, 2019-06-25 at 10:54 -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, > > 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); > > > This is missing the change adding POWER_DOMAIN_TRANSCODER_EDP_VDSC to > TGL_PW_2_POWER_DOMAINS. You mean POWER_DOMAIN_TRANSCODER_A_VDSC? Manasi > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx