there will be more sout case in the future,
make the sout function format same mtk_ddp_sel_in

Signed-off-by: Yongqiang Niu <yongqiang....@mediatek.com>
---
 drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c 
b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c
index d66ce31..ae08fc4 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c
@@ -386,17 +386,23 @@ static unsigned int mtk_ddp_sel_in(enum mtk_ddp_comp_id 
cur,
        return value;
 }
 
-static void mtk_ddp_sout_sel(struct regmap *config_regs,
-                            enum mtk_ddp_comp_id cur,
-                            enum mtk_ddp_comp_id next)
+static unsigned int mtk_ddp_sout_sel(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) {
-               regmap_write(config_regs, DISP_REG_CONFIG_OUT_SEL,
-                               BLS_TO_DSI_RDMA1_TO_DPI1);
+               *addr = DISP_REG_CONFIG_OUT_SEL;
+               value = BLS_TO_DSI_RDMA1_TO_DPI1;
        } else if (cur == DDP_COMPONENT_BLS && next == DDP_COMPONENT_DPI0) {
-               regmap_write(config_regs, DISP_REG_CONFIG_OUT_SEL,
-                               BLS_TO_DPI_RDMA1_TO_DSI);
+               *addr = DISP_REG_CONFIG_OUT_SEL;
+               value = BLS_TO_DPI_RDMA1_TO_DSI;
+       } else {
+               value = 0;
        }
+
+       return value;
 }
 
 void mtk_ddp_add_comp_to_path(struct regmap *config_regs,
@@ -409,7 +415,9 @@ void mtk_ddp_add_comp_to_path(struct regmap *config_regs,
        if (value)
                regmap_update_bits(config_regs, addr, value, value);
 
-       mtk_ddp_sout_sel(config_regs, cur, next);
+       value = mtk_ddp_sout_sel(cur, next, &addr);
+       if (value)
+               regmap_update_bits(config_regs, addr, value, value);
 
        value = mtk_ddp_sel_in(cur, next, &addr);
        if (value)
-- 
1.8.1.1.dirty
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to