[RESEND PATCH v1 09/18] drm/mediatek: add component DITHER

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

This patch add component DITHER

Signed-off-by: Yongqiang Niu 
---
 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 32 +
 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h |  2 ++
 2 files changed, 34 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c 
b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
index 63f4b1e..a97e27b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
@@ -47,6 +47,12 @@
 #define CCORR_RELAY_MODE   BIT(0)
 #define DISP_CCORR_SIZE0x0030
 
+#define DISP_DITHER_EN 0x
+#define DITHER_EN  BIT(0)
+#define DISP_DITHER_CFG0x0020
+#define DITHER_RELAY_MODE  BIT(0)
+#define DISP_DITHER_SIZE   0x0030
+
 #define DISP_GAMMA_EN  0x
 #define DISP_GAMMA_CFG 0x0020
 #define DISP_GAMMA_SIZE0x0030
@@ -155,6 +161,24 @@ static void mtk_ccorr_stop(struct mtk_ddp_comp *comp)
writel_relaxed(0x0, comp->regs + DISP_CCORR_EN);
 }
 
+static void mtk_dither_config(struct mtk_ddp_comp *comp, unsigned int w,
+ unsigned int h, unsigned int vrefresh,
+ unsigned int bpc)
+{
+   writel(h << 16 | w, comp->regs + DISP_DITHER_SIZE);
+   writel(DITHER_RELAY_MODE, comp->regs + DISP_DITHER_CFG);
+}
+
+static void mtk_dither_start(struct mtk_ddp_comp *comp)
+{
+   writel(DITHER_EN, comp->regs + DISP_DITHER_EN);
+}
+
+static void mtk_dither_stop(struct mtk_ddp_comp *comp)
+{
+   writel_relaxed(0x0, comp->regs + DISP_DITHER_EN);
+}
+
 static void mtk_gamma_config(struct mtk_ddp_comp *comp, unsigned int w,
 unsigned int h, unsigned int vrefresh,
 unsigned int bpc)
@@ -209,6 +233,12 @@ static void mtk_gamma_set(struct mtk_ddp_comp *comp,
.stop = mtk_ccorr_stop,
 };
 
+static const struct mtk_ddp_comp_funcs ddp_dither = {
+   .config = mtk_dither_config,
+   .start = mtk_dither_start,
+   .stop = mtk_dither_stop,
+};
+
 static const struct mtk_ddp_comp_funcs ddp_gamma = {
.gamma_set = mtk_gamma_set,
.config = mtk_gamma_config,
@@ -233,6 +263,7 @@ static void mtk_gamma_set(struct mtk_ddp_comp *comp,
[MTK_DISP_CCORR] = "ccorr",
[MTK_DISP_AAL] = "aal",
[MTK_DISP_GAMMA] = "gamma",
+   [MTK_DISP_DITHER] = "dither",
[MTK_DISP_UFOE] = "ufoe",
[MTK_DSI] = "dsi",
[MTK_DPI] = "dpi",
@@ -255,6 +286,7 @@ struct mtk_ddp_comp_match {
[DDP_COMPONENT_CCORR]   = { MTK_DISP_CCORR, 0, _ccorr },
[DDP_COMPONENT_COLOR0]  = { MTK_DISP_COLOR, 0, NULL },
[DDP_COMPONENT_COLOR1]  = { MTK_DISP_COLOR, 1, NULL },
+   [DDP_COMPONENT_DITHER]  = { MTK_DISP_DITHER,0, _dither },
[DDP_COMPONENT_DPI0]= { MTK_DPI,0, NULL },
[DDP_COMPONENT_DPI1]= { MTK_DPI,1, NULL },
[DDP_COMPONENT_DSI0]= { MTK_DSI,0, NULL },
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h 
b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
index 6905647..b0064c52 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
@@ -29,6 +29,7 @@ enum mtk_ddp_comp_type {
MTK_DISP_WDMA,
MTK_DISP_COLOR,
MTK_DISP_CCORR,
+   MTK_DISP_DITHER,
MTK_DISP_AAL,
MTK_DISP_GAMMA,
MTK_DISP_UFOE,
@@ -48,6 +49,7 @@ enum mtk_ddp_comp_id {
DDP_COMPONENT_CCORR,
DDP_COMPONENT_COLOR0,
DDP_COMPONENT_COLOR1,
+   DDP_COMPONENT_DITHER,
DDP_COMPONENT_DPI0,
DDP_COMPONENT_DPI1,
DDP_COMPONENT_DSI0,
-- 
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, 09/18] drm/mediatek: add component DITHER

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, 09/18] drm/mediatek: add component DITHER

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, 09/18] drm/mediatek: add component DITHER

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, 09/18] drm/mediatek: add component DITHER

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, 09/18] drm/mediatek: add component DITHER

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