OSDN Git Service

drm/mediatek: replace writeb() with mtk_dsi_mask()
authorJitao Shi <jitao.shi@mediatek.com>
Thu, 19 Sep 2019 06:58:00 +0000 (14:58 +0800)
committerCK Hu <ck.hu@mediatek.com>
Mon, 7 Oct 2019 04:29:37 +0000 (12:29 +0800)
The writeb() is unavailable in mt8173. Because the mt8173 dsi module
doesn't support 8bit mode access.

Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
Signed-off-by: CK Hu <ck.hu@mediatek.com>
drivers/gpu/drm/mediatek/mtk_dsi.c

index f165ec5..a7caf75 100644 (file)
@@ -962,7 +962,9 @@ static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg)
        }
 
        for (i = 0; i < msg->tx_len; i++)
-               writeb(tx_buf[i], dsi->regs + reg_cmdq_off + cmdq_off + i);
+               mtk_dsi_mask(dsi, (reg_cmdq_off + cmdq_off + i) & (~0x3U),
+                            (0xffUL << (((i + cmdq_off) & 3U) * 8U)),
+                            tx_buf[i] << (((i + cmdq_off) & 3U) * 8U));
 
        mtk_dsi_mask(dsi, reg_cmdq_off, cmdq_mask, reg_val);
        mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE, cmdq_size);