[RESEND PATCH v1 03/18] drm/mediatek: redefine mtk_ddp_sout_sel

2019-03-15 Thread yongqiang.niu
From: Yongqiang Niu 

This patch redefine mtk_ddp_sout_sel

Signed-off-by: Yongqiang Niu 
---
 drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 32 
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c 
b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c
index adb37e4..592f852 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c
@@ -405,21 +405,27 @@ static unsigned int mtk_ddp_sel_in(enum mtk_ddp_comp_id 
cur,
return value;
 }
 
-static void mtk_ddp_sout_sel(void __iomem *config_regs,
-enum mtk_ddp_comp_id cur,
-enum mtk_ddp_comp_id next)
+static unsigned int mtk_ddp_sout_sel(void __iomem *config_regs,
+enum mtk_ddp_comp_id cur,
+enum mtk_ddp_comp_id next,
+unsigned int *addr)
 {
+   unsigned int value;
+
if (cur == DDP_COMPONENT_BLS && next == DDP_COMPONENT_DSI0) {
-   writel_relaxed(BLS_TO_DSI_RDMA1_TO_DPI1,
-  config_regs + DISP_REG_CONFIG_OUT_SEL);
+   *addr = DISP_REG_CONFIG_OUT_SEL;
+   value = BLS_TO_DSI_RDMA1_TO_DPI1;
} else if (cur == DDP_COMPONENT_BLS && next == DDP_COMPONENT_DPI0) {
-   writel_relaxed(BLS_TO_DPI_RDMA1_TO_DSI,
-  config_regs + DISP_REG_CONFIG_OUT_SEL);
-   writel_relaxed(DSI_SEL_IN_RDMA,
-  config_regs + DISP_REG_CONFIG_DSI_SEL);
-   writel_relaxed(DPI_SEL_IN_BLS,
-  config_regs + DISP_REG_CONFIG_DPI_SEL);
+   *addr = DISP_REG_CONFIG_OUT_SEL;
+   value = BLS_TO_DPI_RDMA1_TO_DSI;
+   } else if (cur == DDP_COMPONENT_RDMA1 && next == DDP_COMPONENT_DSI0) {
+   *addr = DISP_REG_CONFIG_DSI_SEL;
+   value = DSI_SEL_IN_RDMA;
+   } else {
+   value = 0;
}
+
+   return value;
 }
 
 void mtk_ddp_add_comp_to_path(void __iomem *config_regs,
@@ -434,7 +440,9 @@ void mtk_ddp_add_comp_to_path(void __iomem *config_regs,
writel_relaxed(reg, config_regs + addr);
}
 
-   mtk_ddp_sout_sel(config_regs, cur, next);
+   value = mtk_ddp_sout_sel(cur, next, );
+   if (value)
+   writel_relaxed(value, config_regs + addr);
 
value = mtk_ddp_sel_in(cur, next, );
if (value) {
-- 
1.8.1.1.dirty

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[RESEND PATCH v1, 03/18] drm/mediatek: redefine mtk_ddp_sout_sel

2019-03-14 Thread Yongqiang Niu
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[RESEND PATCH v1, 03/18] drm/mediatek: redefine mtk_ddp_sout_sel

2019-03-14 Thread Yongqiang Niu
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[RESEND PATCH v1, 03/18] drm/mediatek: redefine mtk_ddp_sout_sel

2019-03-14 Thread Yongqiang Niu
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[RESEND PATCH v1, 03/18] drm/mediatek: redefine mtk_ddp_sout_sel

2019-03-14 Thread Yongqiang Niu
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[RESEND PATCH v1, 03/18] drm/mediatek: redefine mtk_ddp_sout_sel

2019-03-13 Thread Yongqiang Niu
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel