OSDN Git Service

drm/mediatek: distinguish ovl and ovl_2l by layer_nr
authorYongqiang Niu <yongqiang.niu@mediatek.com>
Thu, 29 Aug 2019 14:50:45 +0000 (22:50 +0800)
committerCK Hu <ck.hu@mediatek.com>
Wed, 9 Oct 2019 08:58:12 +0000 (16:58 +0800)
distinguish ovl and ovl_2l by layer_nr when get comp
id

Signed-off-by: Yongqiang Niu <yongqiang.niu@mediatek.com>
Signed-off-by: CK Hu <ck.hu@mediatek.com>
drivers/gpu/drm/mediatek/mtk_disp_ovl.c

index 7a87196..14878eb 100644 (file)
@@ -318,7 +318,12 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
        if (irq < 0)
                return irq;
 
-       comp_id = mtk_ddp_comp_get_id(dev->of_node, MTK_DISP_OVL);
+       priv->data = of_device_get_match_data(dev);
+
+       comp_id = mtk_ddp_comp_get_id(dev->of_node,
+                                     priv->data->layer_nr == 4 ?
+                                     MTK_DISP_OVL :
+                                     MTK_DISP_OVL_2L);
        if (comp_id < 0) {
                dev_err(dev, "Failed to identify by alias: %d\n", comp_id);
                return comp_id;
@@ -331,8 +336,6 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
                return ret;
        }
 
-       priv->data = of_device_get_match_data(dev);
-
        platform_set_drvdata(pdev, priv);
 
        ret = devm_request_irq(dev, irq, mtk_disp_ovl_irq_handler,