Message ID | 20231221093057.7073-1-xiazhengqiao@huaqin.corp-partner.google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESEND] drm/bridge: Fixed a DP link training bug | expand |
On Thu, 21 Dec 2023 17:30:57 +0800, xiazhengqiao wrote: > To have better compatibility for DP sink, there is a retry mechanism > for the link training process to switch between different training process. > The original driver code doesn't reset the retry counter when training > state is pass. If the system triggers link training over 3 times, > there will be a chance to causes the driver to use the wrong training > method and return a training fail result. > > [...] Applied, thanks! [1/1] drm/bridge: Fixed a DP link training bug https://cgit.freedesktop.org/drm/drm-misc/commit/?id=ca077ff8cac5 Rob
diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c index 2f300f5ca051..b589136ca6da 100644 --- a/drivers/gpu/drm/bridge/ite-it6505.c +++ b/drivers/gpu/drm/bridge/ite-it6505.c @@ -2240,11 +2240,13 @@ static void it6505_link_training_work(struct work_struct *work) ret = it6505_link_start_auto_train(it6505); DRM_DEV_DEBUG_DRIVER(dev, "auto train %s, auto_train_retry: %d", ret ? "pass" : "failed", it6505->auto_train_retry); - it6505->auto_train_retry--; if (ret) { + it6505->auto_train_retry = AUTO_TRAIN_RETRY; it6505_link_train_ok(it6505); return; + } else { + it6505->auto_train_retry--; } it6505_dump(it6505);