[Intel-gfx] [RFC] drm/i915: lpsp with hdmi/dp outputs

Anshuman Gupta anshuman.gupta at intel.com
Tue Jun 2 12:06:34 UTC 2020


On 2020-06-01 at 18:19:44 +0530, Shankar, Uma wrote:
> 
> 
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of
> > Anshuman Gupta
> > Sent: Monday, June 1, 2020 3:45 PM
> > To: intel-gfx at lists.freedesktop.org
> > Cc: stable at vger.kernel.org
> > Subject: [Intel-gfx] [RFC] drm/i915: lpsp with hdmi/dp outputs
> > 
> > Gen12 hw are failing to enable lpsp configuration due to PG3 was left on due to
> > valid usgae count of POWER_DOMAIN_AUDIO.
> > It is not required to get POWER_DOMAIN_AUDIO ref-count when enabling a crtc,
> > it should be always i915_audio_component request to get/put
> > AUDIO_POWER_DOMAIN.
> > 
> > Cc: stable at vger.kernel.org
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> > Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 6c3b11de2daf..f31a579d7a52 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -7356,7 +7356,11 @@ static u64 get_crtc_power_domains(struct
> > intel_crtc_state *crtc_state)
> >  		mask |= BIT_ULL(intel_encoder->power_domain);
> >  	}
> > 
> > -	if (HAS_DDI(dev_priv) && crtc_state->has_audio)
> > +	/*
> > +	 * Gen12 can drive lpsp on hdmi/dp outpus, it doesn't require to
> > +	 * enable AUDIO power in order to enable a crtc.
> > +	 */
> > +	if (INTEL_GEN(dev_priv) < 12 && HAS_DDI(dev_priv) &&
> > +crtc_state->has_audio)
> >  		mask |= BIT_ULL(POWER_DOMAIN_AUDIO);
> 
> As part of ddi_get_config we determine has_audio using power well enabled:
> pipe_config->has_audio =
>                 intel_ddi_is_audio_enabled(dev_priv, cpu_transcoder);
IMO AUDIO power will also be requested by i915_audio_component get request, 
we can always use HDMI display without audio playback, AUDIO power should be 
enabled when audio driver request for it. 
if we get AUDIO_POWER_DOMAIN while enabling crtc PG3 will always kept on till CRTC is disabled,
that is the issue required to be addressed here.
This is just RFC to initiate a discussion around it.
Thanks,
Anshuman Gupta.
> 
> If audio power domain is not enabled, we may end up with this as false.
> Later this may get checked in intel_enable_ddi_hdmi to call audio codec enable
> 
> if (crtc_state->has_audio)
>                 intel_audio_codec_enable(encoder, crtc_state, conn_state);
> 
> This may cause detection to fail. Please verify this usecase once and confirm.
> 
> Regards,
> Uma Shankar
> 
> >  	if (crtc_state->shared_dpll)
> > --
> > 2.26.2
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list