[Intel-gfx] [PATCH v2 1/2] drm/i915/dp: fix DP audio for PORT_A on gen12+

Matt Roper matthew.d.roper at intel.com
Wed Nov 27 00:10:25 UTC 2019


On Mon, Nov 25, 2019 at 02:53:12PM +0200, Kai Vehmanen wrote:
> Starting with gen12, PORT_A can be connected to a transcoder
> with audio support. Modify the existing logic that disabled
> audio on PORT_A unconditionally.
> 
> Signed-off-by: Kai Vehmanen <kai.vehmanen at linux.intel.com>

Reviewed-by: Matt Roper <matthew.d.roper at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 9b15ac4f2fb6..4519c32f6c24 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2237,6 +2237,17 @@ bool intel_dp_limited_color_range(const struct intel_crtc_state *crtc_state,
>  	}
>  }
>  
> +static bool intel_dp_port_has_audio(struct drm_i915_private *dev_priv,
> +				    enum port port)
> +{
> +	if (IS_G4X(dev_priv))
> +		return false;
> +	if (INTEL_GEN(dev_priv) < 12 && port == PORT_A)
> +		return false;
> +
> +	return true;
> +}
> +
>  int
>  intel_dp_compute_config(struct intel_encoder *encoder,
>  			struct intel_crtc_state *pipe_config,
> @@ -2269,7 +2280,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
>  		return ret;
>  
>  	pipe_config->has_drrs = false;
> -	if (IS_G4X(dev_priv) || port == PORT_A)
> +	if (!intel_dp_port_has_audio(dev_priv, port))
>  		pipe_config->has_audio = false;
>  	else if (intel_conn_state->force_audio == HDMI_AUDIO_AUTO)
>  		pipe_config->has_audio = intel_dp->has_audio;
> -- 
> 2.17.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795


More information about the Intel-gfx mailing list