This patch add memory mode for RDMA

If use RDMA to read data from memory, it should set memory mode to RDMA

Signed-off-by: Stu Hsieh <stu.hs...@mediatek.com>
---
 drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c 
b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
index 60851bb2dd63..1985035451ce 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
@@ -31,6 +31,7 @@
 #define RDMA_REG_UPDATE_INT                            BIT(0)
 #define DISP_REG_RDMA_GLOBAL_CON               0x0010
 #define RDMA_ENGINE_EN                                 BIT(0)
+#define RDMA_MODE_MEMORY                               BIT(1)
 #define DISP_REG_RDMA_SIZE_CON_0               0x0014
 #define DISP_REG_RDMA_SIZE_CON_1               0x0018
 #define DISP_REG_RDMA_TARGET_LINE              0x001c
@@ -53,6 +54,7 @@ struct mtk_disp_rdma {
        struct mtk_ddp_comp             ddp_comp;
        struct drm_crtc                 *crtc;
        const struct mtk_disp_rdma_data *data;
+       bool rdma_memory_mode;
 };
 
 static inline struct mtk_disp_rdma *comp_to_rdma(struct mtk_ddp_comp *comp)
@@ -121,10 +123,15 @@ static void mtk_rdma_config(struct mtk_ddp_comp *comp, 
unsigned int width,
        unsigned int threshold;
        unsigned int reg;
        struct mtk_disp_rdma *rdma = comp_to_rdma(comp);
+       bool *rdma_memory_mode = comp->comp_mode;
 
        rdma_update_bits(comp, DISP_REG_RDMA_SIZE_CON_0, 0xfff, width);
        rdma_update_bits(comp, DISP_REG_RDMA_SIZE_CON_1, 0xfffff, height);
 
+       if (*rdma_memory_mode == true)
+               rdma_update_bits(comp, DISP_REG_RDMA_GLOBAL_CON,
+                                RDMA_MODE_MEMORY, RDMA_MODE_MEMORY);
+
        /*
         * Enable FIFO underflow since DSI and DPI can't be blocked.
         * Keep the FIFO pseudo size reset default of 8 KiB. Set the
-- 
2.12.5.2.gbdf23ab

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

Reply via email to