Lines Matching +full:imx8mq +full:- +full:dcss
1 // SPDX-License-Identifier: GPL-2.0
13 #include "dcss-dev.h"
14 #include "dcss-kms.h"
17 struct dcss_dev *dcss; member
25 return mdrv ? mdrv->dcss : NULL; in dcss_drv_dev_to_dcss()
32 return mdrv ? &mdrv->kms->base : NULL; in dcss_drv_dev_to_drm()
37 struct device *dev = &pdev->dev; in dcss_drv_platform_probe()
43 if (!dev->of_node) in dcss_drv_platform_probe()
44 return -ENODEV; in dcss_drv_platform_probe()
46 remote = of_graph_get_remote_node(dev->of_node, 0, 0); in dcss_drv_platform_probe()
48 return -ENODEV; in dcss_drv_platform_probe()
50 hdmi_output = !of_device_is_compatible(remote, "fsl,imx8mq-nwl-dsi"); in dcss_drv_platform_probe()
56 return -ENOMEM; in dcss_drv_platform_probe()
58 mdrv->dcss = dcss_dev_create(dev, hdmi_output); in dcss_drv_platform_probe()
59 if (IS_ERR(mdrv->dcss)) { in dcss_drv_platform_probe()
60 err = PTR_ERR(mdrv->dcss); in dcss_drv_platform_probe()
66 mdrv->kms = dcss_kms_attach(mdrv->dcss); in dcss_drv_platform_probe()
67 if (IS_ERR(mdrv->kms)) { in dcss_drv_platform_probe()
68 err = PTR_ERR(mdrv->kms); in dcss_drv_platform_probe()
75 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_probe()
86 struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev); in dcss_drv_platform_remove()
91 dcss_kms_detach(mdrv->kms); in dcss_drv_platform_remove()
92 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_remove()
94 dev_set_drvdata(&pdev->dev, NULL); in dcss_drv_platform_remove()
114 { .compatible = "nxp,imx8mq-dcss", .data = &dcss_types[DCSS_IMX8MQ], },
130 .name = "imx-dcss",
139 MODULE_DESCRIPTION("DCSS driver for i.MX8MQ");