Re: [RFC] drm/i915: lpsp with hdmi/dp outputs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of
> Anshuman Gupta
> Sent: Monday, June 1, 2020 3:45 PM
> To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: stable@xxxxxxxxxxxxxxx
> Subject:  [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@xxxxxxxxxxxxxxx
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@xxxxxxxxx>
> ---
>  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);

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@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux