[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <22cd8a6807385941c55e75b390d31424936ae8c4.camel@mediatek.com>
Date: Thu, 28 Jul 2022 17:40:41 +0800
From: Rex-BC Chen <rex-bc.chen@...iatek.com>
To: AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
<chunkuang.hu@...nel.org>, <p.zabel@...gutronix.de>,
<daniel@...ll.ch>, <robh+dt@...nel.org>,
<krzysztof.kozlowski+dt@...aro.org>, <mripard@...nel.org>,
<tzimmermann@...e.de>, <matthias.bgg@...il.com>, <deller@....de>,
<airlied@...ux.ie>
CC: <msp@...libre.com>, <granquet@...libre.com>,
<jitao.shi@...iatek.com>, <wenst@...omium.org>,
<ck.hu@...iatek.com>, <liangxu.xu@...iatek.com>,
<dri-devel@...ts.freedesktop.org>,
<linux-mediatek@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-fbdev@...r.kernel.org>,
<Project_Global_Chrome_Upstream_Group@...iatek.com>
Subject: Re: [PATCH v15 07/11] drm/mediatek: Add retry to prevent
misjudgment for sink devices
On Wed, 2022-07-27 at 11:40 +0200, AngeloGioacchino Del Regno wrote:
> 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@...iatek.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@...labora.com>
>
Hello Angelo,
Thanks for your review.
I will modify these in next version.
BRs,
Bo-Chen
> > +
> > + if (!max_retry)
> > + return -ETIMEDOUT;
> >
> > ret = mtk_dp_video_config(mtk_dp);
> > if (ret)
>
>
Powered by blists - more mailing lists