lkml.org 
[lkml]   [2022]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v15 07/11] drm/mediatek: Add retry to prevent misjudgment for sink devices
From
Il 27/07/22 06:50, Bo-Chen Chen ha scritto:
> For some DP dungles, we need to train more than onece to confirm that we
> don't misjudge the status of sink device.

Please fix the typos in your commit title and description.
title: misjudgment -> misjudgement
desc: dungles->dongles; onece->once

>
> Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_dp.c | 21 ++++++++++++++++++---
> 1 file changed, 18 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c
> index ce817cb59445..80d7d6488105 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dp.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dp.c
> @@ -42,6 +42,7 @@
> #define MTK_DP_CHECK_SINK_CAP_TIMEOUT_COUNT 3
> #define MTK_DP_TBC_BUF_READ_START_ADDR 0x08
> #define MTK_DP_TRAIN_DOWNSCALE_RETRY 8
> +#define MTK_DP_TRAIN_CLEAR_RETRY 50
>
> struct mtk_dp_train_info {
> bool tps3;
> @@ -1431,11 +1432,25 @@ static int mtk_dp_video_config(struct mtk_dp *mtk_dp)
>
> static int mtk_dp_training(struct mtk_dp *mtk_dp)
> {
> + short max_retry = MTK_DP_TRAIN_CLEAR_RETRY;
> int ret;
>
> - ret = mtk_dp_train_start(mtk_dp);
> - if (ret)
> - return ret;
> + /*
> + * We do retry to confirm that we don't misjudge the sink status.
> + * If it is still failed, we can confirm there are some issues for the
> + * sink device.
> + */
> + do {
> + ret = mtk_dp_train_start(mtk_dp);
> + if (!ret)
> + break;
> + } while (--max_retry);
> +
> + dev_info(mtk_dp->dev, "dp training clear retry times: %d\n",
> + MTK_DP_TRAIN_CLEAR_RETRY - max_retry);

dev_dbg() here.

...after which,

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

> +
> + if (!max_retry)
> + return -ETIMEDOUT;
>
> ret = mtk_dp_video_config(mtk_dp);
> if (ret)

\
 
 \ /
  Last update: 2022-07-27 11:41    [W:1.741 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site