]> git.ipfire.org Git - thirdparty/kernel/linux.git/blobdiff - drivers/gpu/drm/mediatek/mtk_drm_drv.c
Merge remote-tracking branch 'drm/drm-next' into drm-misc-next
[thirdparty/kernel/linux.git] / drivers / gpu / drm / mediatek / mtk_drm_drv.c
index e336358fee20cb8dc6e060adfa7c3aa022317245..dd029307be7d8a23fc217118ef3e0e96855c3b76 100644 (file)
@@ -158,6 +158,25 @@ static const enum mtk_ddp_comp_id mt8183_mtk_ddp_ext[] = {
        DDP_COMPONENT_DPI0,
 };
 
+static const enum mtk_ddp_comp_id mt8192_mtk_ddp_main[] = {
+       DDP_COMPONENT_OVL0,
+       DDP_COMPONENT_OVL_2L0,
+       DDP_COMPONENT_RDMA0,
+       DDP_COMPONENT_COLOR0,
+       DDP_COMPONENT_CCORR,
+       DDP_COMPONENT_AAL0,
+       DDP_COMPONENT_GAMMA,
+       DDP_COMPONENT_POSTMASK0,
+       DDP_COMPONENT_DITHER,
+       DDP_COMPONENT_DSI0,
+};
+
+static const enum mtk_ddp_comp_id mt8192_mtk_ddp_ext[] = {
+       DDP_COMPONENT_OVL_2L2,
+       DDP_COMPONENT_RDMA4,
+       DDP_COMPONENT_DPI0,
+};
+
 static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = {
        .main_path = mt2701_mtk_ddp_main,
        .main_len = ARRAY_SIZE(mt2701_mtk_ddp_main),
@@ -202,6 +221,13 @@ static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
        .ext_len = ARRAY_SIZE(mt8183_mtk_ddp_ext),
 };
 
+static const struct mtk_mmsys_driver_data mt8192_mmsys_driver_data = {
+       .main_path = mt8192_mtk_ddp_main,
+       .main_len = ARRAY_SIZE(mt8192_mtk_ddp_main),
+       .ext_path = mt8192_mtk_ddp_ext,
+       .ext_len = ARRAY_SIZE(mt8192_mtk_ddp_ext),
+};
+
 static int mtk_drm_kms_init(struct drm_device *drm)
 {
        struct mtk_drm_private *private = drm->dev_private;
@@ -400,68 +426,36 @@ static const struct component_master_ops mtk_drm_ops = {
 };
 
 static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
-       { .compatible = "mediatek,mt2701-disp-ovl",
-         .data = (void *)MTK_DISP_OVL },
-       { .compatible = "mediatek,mt8167-disp-ovl",
-         .data = (void *)MTK_DISP_OVL },
-       { .compatible = "mediatek,mt8173-disp-ovl",
-         .data = (void *)MTK_DISP_OVL },
-       { .compatible = "mediatek,mt8183-disp-ovl",
-         .data = (void *)MTK_DISP_OVL },
-       { .compatible = "mediatek,mt8183-disp-ovl-2l",
-         .data = (void *)MTK_DISP_OVL_2L },
-       { .compatible = "mediatek,mt2701-disp-rdma",
-         .data = (void *)MTK_DISP_RDMA },
-       { .compatible = "mediatek,mt8167-disp-rdma",
-         .data = (void *)MTK_DISP_RDMA },
-       { .compatible = "mediatek,mt8173-disp-rdma",
-         .data = (void *)MTK_DISP_RDMA },
-       { .compatible = "mediatek,mt8183-disp-rdma",
-         .data = (void *)MTK_DISP_RDMA },
-       { .compatible = "mediatek,mt8173-disp-wdma",
-         .data = (void *)MTK_DISP_WDMA },
+       { .compatible = "mediatek,mt8167-disp-aal",
+         .data = (void *)MTK_DISP_AAL},
+       { .compatible = "mediatek,mt8173-disp-aal",
+         .data = (void *)MTK_DISP_AAL},
+       { .compatible = "mediatek,mt8183-disp-aal",
+         .data = (void *)MTK_DISP_AAL},
+       { .compatible = "mediatek,mt8192-disp-aal",
+         .data = (void *)MTK_DISP_AAL},
        { .compatible = "mediatek,mt8167-disp-ccorr",
          .data = (void *)MTK_DISP_CCORR },
        { .compatible = "mediatek,mt8183-disp-ccorr",
          .data = (void *)MTK_DISP_CCORR },
+       { .compatible = "mediatek,mt8192-disp-ccorr",
+         .data = (void *)MTK_DISP_CCORR },
        { .compatible = "mediatek,mt2701-disp-color",
          .data = (void *)MTK_DISP_COLOR },
        { .compatible = "mediatek,mt8167-disp-color",
          .data = (void *)MTK_DISP_COLOR },
        { .compatible = "mediatek,mt8173-disp-color",
          .data = (void *)MTK_DISP_COLOR },
-       { .compatible = "mediatek,mt8167-disp-aal",
-         .data = (void *)MTK_DISP_AAL},
-       { .compatible = "mediatek,mt8173-disp-aal",
-         .data = (void *)MTK_DISP_AAL},
-       { .compatible = "mediatek,mt8183-disp-aal",
-         .data = (void *)MTK_DISP_AAL},
+       { .compatible = "mediatek,mt8167-disp-dither",
+         .data = (void *)MTK_DISP_DITHER },
+       { .compatible = "mediatek,mt8183-disp-dither",
+         .data = (void *)MTK_DISP_DITHER },
        { .compatible = "mediatek,mt8167-disp-gamma",
          .data = (void *)MTK_DISP_GAMMA, },
        { .compatible = "mediatek,mt8173-disp-gamma",
          .data = (void *)MTK_DISP_GAMMA, },
        { .compatible = "mediatek,mt8183-disp-gamma",
          .data = (void *)MTK_DISP_GAMMA, },
-       { .compatible = "mediatek,mt8167-disp-dither",
-         .data = (void *)MTK_DISP_DITHER },
-       { .compatible = "mediatek,mt8183-disp-dither",
-         .data = (void *)MTK_DISP_DITHER },
-       { .compatible = "mediatek,mt8173-disp-ufoe",
-         .data = (void *)MTK_DISP_UFOE },
-       { .compatible = "mediatek,mt2701-dsi",
-         .data = (void *)MTK_DSI },
-       { .compatible = "mediatek,mt8167-dsi",
-         .data = (void *)MTK_DSI },
-       { .compatible = "mediatek,mt8173-dsi",
-         .data = (void *)MTK_DSI },
-       { .compatible = "mediatek,mt8183-dsi",
-         .data = (void *)MTK_DSI },
-       { .compatible = "mediatek,mt2701-dpi",
-         .data = (void *)MTK_DPI },
-       { .compatible = "mediatek,mt8173-dpi",
-         .data = (void *)MTK_DPI },
-       { .compatible = "mediatek,mt8183-dpi",
-         .data = (void *)MTK_DPI },
        { .compatible = "mediatek,mt2701-disp-mutex",
          .data = (void *)MTK_DISP_MUTEX },
        { .compatible = "mediatek,mt2712-disp-mutex",
@@ -472,14 +466,60 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
          .data = (void *)MTK_DISP_MUTEX },
        { .compatible = "mediatek,mt8183-disp-mutex",
          .data = (void *)MTK_DISP_MUTEX },
+       { .compatible = "mediatek,mt8192-disp-mutex",
+         .data = (void *)MTK_DISP_MUTEX },
+       { .compatible = "mediatek,mt8173-disp-od",
+         .data = (void *)MTK_DISP_OD },
+       { .compatible = "mediatek,mt2701-disp-ovl",
+         .data = (void *)MTK_DISP_OVL },
+       { .compatible = "mediatek,mt8167-disp-ovl",
+         .data = (void *)MTK_DISP_OVL },
+       { .compatible = "mediatek,mt8173-disp-ovl",
+         .data = (void *)MTK_DISP_OVL },
+       { .compatible = "mediatek,mt8183-disp-ovl",
+         .data = (void *)MTK_DISP_OVL },
+       { .compatible = "mediatek,mt8192-disp-ovl",
+         .data = (void *)MTK_DISP_OVL },
+       { .compatible = "mediatek,mt8183-disp-ovl-2l",
+         .data = (void *)MTK_DISP_OVL_2L },
+       { .compatible = "mediatek,mt8192-disp-ovl-2l",
+         .data = (void *)MTK_DISP_OVL_2L },
+       { .compatible = "mediatek,mt8192-disp-postmask",
+         .data = (void *)MTK_DISP_POSTMASK },
        { .compatible = "mediatek,mt2701-disp-pwm",
          .data = (void *)MTK_DISP_BLS },
        { .compatible = "mediatek,mt8167-disp-pwm",
          .data = (void *)MTK_DISP_PWM },
        { .compatible = "mediatek,mt8173-disp-pwm",
          .data = (void *)MTK_DISP_PWM },
-       { .compatible = "mediatek,mt8173-disp-od",
-         .data = (void *)MTK_DISP_OD },
+       { .compatible = "mediatek,mt2701-disp-rdma",
+         .data = (void *)MTK_DISP_RDMA },
+       { .compatible = "mediatek,mt8167-disp-rdma",
+         .data = (void *)MTK_DISP_RDMA },
+       { .compatible = "mediatek,mt8173-disp-rdma",
+         .data = (void *)MTK_DISP_RDMA },
+       { .compatible = "mediatek,mt8183-disp-rdma",
+         .data = (void *)MTK_DISP_RDMA },
+       { .compatible = "mediatek,mt8192-disp-rdma",
+         .data = (void *)MTK_DISP_RDMA },
+       { .compatible = "mediatek,mt8173-disp-ufoe",
+         .data = (void *)MTK_DISP_UFOE },
+       { .compatible = "mediatek,mt8173-disp-wdma",
+         .data = (void *)MTK_DISP_WDMA },
+       { .compatible = "mediatek,mt2701-dpi",
+         .data = (void *)MTK_DPI },
+       { .compatible = "mediatek,mt8167-dsi",
+         .data = (void *)MTK_DSI },
+       { .compatible = "mediatek,mt8173-dpi",
+         .data = (void *)MTK_DPI },
+       { .compatible = "mediatek,mt8183-dpi",
+         .data = (void *)MTK_DPI },
+       { .compatible = "mediatek,mt2701-dsi",
+         .data = (void *)MTK_DSI },
+       { .compatible = "mediatek,mt8173-dsi",
+         .data = (void *)MTK_DSI },
+       { .compatible = "mediatek,mt8183-dsi",
+         .data = (void *)MTK_DSI },
        { }
 };
 
@@ -496,6 +536,8 @@ static const struct of_device_id mtk_drm_of_ids[] = {
          .data = &mt8173_mmsys_driver_data},
        { .compatible = "mediatek,mt8183-mmsys",
          .data = &mt8183_mmsys_driver_data},
+       { .compatible = "mediatek,mt8192-mmsys",
+         .data = &mt8192_mmsys_driver_data},
        { }
 };
 MODULE_DEVICE_TABLE(of, mtk_drm_of_ids);
@@ -571,8 +613,8 @@ static int mtk_drm_probe(struct platform_device *pdev)
                    comp_type == MTK_DISP_OVL ||
                    comp_type == MTK_DISP_OVL_2L ||
                    comp_type == MTK_DISP_RDMA ||
-                   comp_type == MTK_DSI ||
-                   comp_type == MTK_DPI) {
+                   comp_type == MTK_DPI ||
+                   comp_type == MTK_DSI) {
                        dev_info(dev, "Adding component match for %pOF\n",
                                 node);
                        drm_of_component_match_add(dev, &match, compare_of,