Thread (29 messages) 29 messages, 2 authors, 2018-08-06

[PATCH v2 11/15] drm/mediatek: add callback function to return OVL layer number

From: Stu Hsieh <hidden>
Date: 2018-08-06 11:54:42
Also in: dri-devel, linux-mediatek, lkml

Hi, CK:
On Fri, 2018-08-03 at 13:11 +0800, CK Hu wrote:
Hi, Stu:

On Fri, 2018-08-03 at 11:11 +0800, Stu Hsieh wrote:
quoted
This patch add callback function to return OVL layer number

Signed-off-by: Stu Hsieh <redacted>
---
 drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
index 978782a77629..a42cfa057f42 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
@@ -58,6 +58,7 @@
 struct mtk_disp_ovl_data {
 	unsigned int addr;
 	bool fmt_rgb565_is_0;
+	unsigned int layer_nr;
 };
 
 /**
@@ -132,6 +133,13 @@ static void mtk_ovl_config(struct mtk_ddp_comp *comp, unsigned int w,
 	writel(0x0, comp->regs + DISP_REG_OVL_RST);
 }
 
+static unsigned int mtk_ovl_layer_nr(struct mtk_ddp_comp *comp)
+{
+	struct mtk_disp_ovl *ovl = comp_to_ovl(comp);
+
+	return ovl->data->layer_nr;
For now, MT8173, MT2712, MT2701 OVL all has 4 layer, so you could return
4 here. Once a SoC OVL has another layer number, then modified the code
to this statement.

Regards,
CK
OK

Regards,
Stu
quoted
+}
+
 static void mtk_ovl_layer_on(struct mtk_ddp_comp *comp, unsigned int idx)
 {
 	unsigned int reg;
@@ -221,6 +229,7 @@ static const struct mtk_ddp_comp_funcs mtk_disp_ovl_funcs = {
 	.stop = mtk_ovl_stop,
 	.enable_vblank = mtk_ovl_enable_vblank,
 	.disable_vblank = mtk_ovl_disable_vblank,
+	.layer_nr = mtk_ovl_layer_nr,
 	.layer_on = mtk_ovl_layer_on,
 	.layer_off = mtk_ovl_layer_off,
 	.layer_config = mtk_ovl_layer_config,
@@ -319,6 +328,7 @@ static const struct mtk_disp_ovl_data mt2701_ovl_driver_data = {
 static const struct mtk_disp_ovl_data mt8173_ovl_driver_data = {
 	.addr = DISP_REG_OVL_ADDR_MT8173,
 	.fmt_rgb565_is_0 = true,
+	.layer_nr = 4,
 };
 
 static const struct of_device_id mtk_disp_ovl_driver_dt_match[] = {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help