[Intel-gfx] [PATCH] drm/i915: make DP training try a little harder

Chris Wilson chris at chris-wilson.co.uk
Wed Jan 5 11:43:41 CET 2011


On Tue,  4 Jan 2011 11:53:14 -0800, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> When trying to do channel equalization, we need to make sure we still
> have clock recovery on all lanes while training.  We also need to try
> clock recovery again if we lose the clock or if channel eq fails 5
> times.  We'll try clock recovery up to 5 more times before giving up
> entirely.
> 
> Gets suspend/resume working on my Vaio again and brings us back into
> compliance with the DP training sequence spec.

There are still ways link training can silently fail. The next task for
the foolhardy is return error codes from modesetting (and accept that any
failure can leave the system in a partially defined state, with a forced
mode reset in the drm_kms_helper?).

> -		/* Try 5 times */
> -		if (tries > 5)
> +		/* Try 5 times, then try clock recovery if that fails */
> +		if (tries > 5) {
> +			intel_dp_link_down(intel_dp);
> +			intel_dp_start_link_train(intel_dp);
> +			tries = 0;
> +			cr_tries++;
>  			break;

This should be a continue, right?.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list