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

Shankar, Uma uma.shankar at intel.com
Tue Jun 2 13:02:44 UTC 2020



> -----Original Message-----
> From: Gupta, Anshuman <anshuman.gupta at intel.com>
> Sent: Tuesday, June 2, 2020 5:37 PM
> To: Shankar, Uma <uma.shankar at intel.com>
> Cc: intel-gfx at lists.freedesktop.org; stable at vger.kernel.org
> Subject: Re: [Intel-gfx] [RFC] drm/i915: lpsp with hdmi/dp outputs
> 
> 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.

Yes HDMI can be enabled without audio, but if we want audio we will need to notify
audio driver through HSW_AUD_PIN_ELD_CP_VLD and also prepare and write ELD data
in hardware register. If I understand correctly this will need power and by this time audio
driver would not have requested for it. Hence this will fail audio detection.

> 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