On Fri, 1 Jul 2011 15:22:51 -0700, Jesse Barnes <[email protected]> wrote:
> Especially after a hotplug or power status change, the sink may not
> reply immediately to a link status query. So retry 3 times per the spec
> to really make sure nothing is there.
There's no 'false' return path here. I think you want:
>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 17 +++++++++++++----
> 1 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 391b55f..1829ecc 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1019,13 +1019,22 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
> static bool
> intel_dp_get_link_status(struct intel_dp *intel_dp)
> {
> - int ret;
> + int ret, i;
> +
> + /* Must try AUX reads for this at least 3 times */
> + for (i = 0; i < 3; i++) {
> + ret = intel_dp_aux_native_read(intel_dp,
> + DP_LANE0_1_STATUS,
> + intel_dp->link_status,
> + DP_LINK_STATUS_SIZE);
> + if (ret == DP_LINK_STATUS_SIZE)
> + break;
return true;
> + msleep(1);
> + }
>
> - ret = intel_dp_aux_native_read(intel_dp,
> - DP_LANE0_1_STATUS,
> - intel_dp->link_status,
> DP_LINK_STATUS_SIZE);
> if (ret != DP_LINK_STATUS_SIZE)
> return false;
> +
> return true;
return false;
> }
--
[email protected]
pgphrwqufOek7.pgp
Description: PGP signature
_______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
