[Intel-gfx] [PATCH v2] drm/i915/icl: Add TypeC ports only if VBT is present

Souza, Jose jose.souza at intel.com
Mon Jan 28 18:06:26 UTC 2019


On Mon, 2019-01-28 at 13:42 +0200, Imre Deak wrote:
> We can't safely probe Type C ports, whether they are a legacy or a
> USB/Thunderbolt DP Alternate Type C port. This would require
> performing
> the TypeC connect sequence - as described by the specification - but
> that may have unwanted side-effects. These side-effects include at
> least
> - without completeness - timeouts during AUX power well enabling and
> subsequent PLL enabling errors.
> 
> To safely identify these ports we really need VBT, which has the
> proper
> flag for this (ddi_vbt_port_info::supports_typec_usb, supports_tbt).
> Based on the above disable Type C ports if we can't load VBT for some
> reason.
> 
> v2:
> - Notice that we disable TypeC ports completely and simplify
> accordingly
>   (Jose).
> - Add code comment explaining why we disabled the ports. (Jani)

Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> 
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Jose Roberto de Souza <jose.souza at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_bios.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_bios.c
> b/drivers/gpu/drm/i915/intel_bios.c
> index 561a4f9f044c..b508d8a735e0 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -1663,6 +1663,13 @@ init_vbt_missing_defaults(struct
> drm_i915_private *dev_priv)
>  		struct ddi_vbt_port_info *info =
>  			&dev_priv->vbt.ddi_port_info[port];
>  
> +		/*
> +		 * VBT has the TypeC mode (native,TBT/USB) and we don't
> want
> +		 * to detect it.
> +		 */
> +		if (intel_port_is_tc(dev_priv, port))
> +			continue;
> +
>  		info->supports_dvi = (port != PORT_A && port !=
> PORT_E);
>  		info->supports_hdmi = info->supports_dvi;
>  		info->supports_dp = (port != PORT_E);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190128/9973d18c/attachment-0001.sig>


More information about the Intel-gfx mailing list