[Intel-gfx] [PATCH] drm/i915: Clear the VBT defaults for unused ports

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Mar 3 15:09:06 UTC 2017


On Fri, Mar 03, 2017 at 05:01:42AM -0800, Manasi Navare wrote:
> If during VBT parsing we find that the port is unused,
> the driver code just bails out without clearing the
> defaults for that port. This can cause failures down
> the path through link training for unused Port.
> This patch fixes this issue by clearing the defaults
> before bailing out from the VBT parsing function.
> 
> Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_bios.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index e144f03..3ac3d24 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -1148,9 +1148,15 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port,
>  			}
>  		}
>  	}
> -	if (!child)
> -		return;
> +	if (!child) {
> +		/* Clear the DDI VBT Port info values */
> +		info->supports_dvi = 0;
> +		info->supports_hdmi = 0;
> +		info->supports_dp = 0;
> +		info->supports_edp = 0;

I would s/0/false/ here. Although they are apparently of type 'uint8_t:1'.
As a followup someone might want to s/uint8_t:1/bool:1/ the definitions
so that the compiler will protect us against values >1 when we assign
these.

Otherwise lgtm. And based on a cursory glance the bogus port A has now
disappaered from the ci results on fi-skl-6700k, so looks like my
analysis of the problem was correct.

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  
> +		return;
> +	}
>  	aux_channel = child->common.aux_channel;
>  	ddc_pin = child->common.ddc_pin;
>  
> -- 
> 2.1.4

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list