[PATCH v2 11/15] drm/mediatek: add callback function to return OVL layer number
From: CK Hu <hidden>
Date: 2018-08-03 05:11:44
Also in:
dri-devel, linux-mediatek, lkml
Hi, Stu: On Fri, 2018-08-03 at 11:11 +0800, Stu Hsieh wrote:
quoted hunk ↗ jump to hunk
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
quoted hunk ↗ jump to hunk
+} + 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[] = {