diff mbox series

[v11,3/9] drm/mediatek: add RDMA fifo size error handle

Message ID 20210128072802.830971-4-hsinyi@chromium.org
State New
Headers show
Series drm/mediatek: add support for mediatek SOC MT8183 | expand

Commit Message

Hsin-Yi Wang Jan. 28, 2021, 7:27 a.m. UTC
From: Yongqiang Niu <yongqiang.niu@mediatek.com>

This patch add RDMA fifo size error handle
rdma fifo size will not always bigger than the calculated threshold
if that case happened, we need set fifo size as the threshold

Signed-off-by: Yongqiang Niu <yongqiang.niu@mediatek.com>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
---
 drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

CK Hu (胡俊光) Jan. 28, 2021, 7:50 a.m. UTC | #1
Hi, Hsin-Yi:

On Thu, 2021-01-28 at 15:27 +0800, Hsin-Yi Wang wrote:
> From: Yongqiang Niu <yongqiang.niu@mediatek.com>

> 

> This patch add RDMA fifo size error handle

> rdma fifo size will not always bigger than the calculated threshold

> if that case happened, we need set fifo size as the threshold

> 

> Signed-off-by: Yongqiang Niu <yongqiang.niu@mediatek.com>

> Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>

> ---

>  drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 4 ++++

>  1 file changed, 4 insertions(+)

> 

> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c

> index b84004394970f..04b9542010b00 100644

> --- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c

> +++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c

> @@ -168,6 +168,10 @@ void mtk_rdma_config(struct device *dev, unsigned int width,

>  	 * account for blanking, and with a pixel depth of 4 bytes:

>  	 */

>  	threshold = width * height * vrefresh * 4 * 7 / 1000000;

> +

> +	if (threshold > rdma_fifo_size)

> +		threshold = rdma_fifo_size;

> +


Please see the discussion in [1].

[1]
https://patchwork.kernel.org/project/linux-mediatek/patch/1607591262-21736-6-git-send-email-yongqiang.niu@mediatek.com/

Regards,
CK

>  	reg = RDMA_FIFO_UNDERFLOW_EN |

>  	      RDMA_FIFO_PSEUDO_SIZE(rdma_fifo_size) |

>  	      RDMA_OUTPUT_VALID_FIFO_THRESHOLD(threshold);
diff mbox series

Patch

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
index b84004394970f..04b9542010b00 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
@@ -168,6 +168,10 @@  void mtk_rdma_config(struct device *dev, unsigned int width,
 	 * account for blanking, and with a pixel depth of 4 bytes:
 	 */
 	threshold = width * height * vrefresh * 4 * 7 / 1000000;
+
+	if (threshold > rdma_fifo_size)
+		threshold = rdma_fifo_size;
+
 	reg = RDMA_FIFO_UNDERFLOW_EN |
 	      RDMA_FIFO_PSEUDO_SIZE(rdma_fifo_size) |
 	      RDMA_OUTPUT_VALID_FIFO_THRESHOLD(threshold);