Lines Matching +full:imx8mq +full:- +full:dcss
1 // SPDX-License-Identifier: GPL-2.0
11 #include "dcss-dev.h"
12 #include "dcss-kms.h"
15 struct dcss_dev *dcss; member
23 return mdrv ? mdrv->dcss : NULL; in dcss_drv_dev_to_dcss()
30 return mdrv ? &mdrv->kms->base : NULL; in dcss_drv_dev_to_drm()
35 struct device *dev = &pdev->dev; in dcss_drv_platform_probe()
41 if (!dev->of_node) in dcss_drv_platform_probe()
42 return -ENODEV; in dcss_drv_platform_probe()
44 remote = of_graph_get_remote_node(dev->of_node, 0, 0); in dcss_drv_platform_probe()
46 return -ENODEV; in dcss_drv_platform_probe()
48 hdmi_output = !of_device_is_compatible(remote, "fsl,imx8mq-nwl-dsi"); in dcss_drv_platform_probe()
54 return -ENOMEM; in dcss_drv_platform_probe()
56 mdrv->dcss = dcss_dev_create(dev, hdmi_output); in dcss_drv_platform_probe()
57 if (IS_ERR(mdrv->dcss)) { in dcss_drv_platform_probe()
58 err = PTR_ERR(mdrv->dcss); in dcss_drv_platform_probe()
64 mdrv->kms = dcss_kms_attach(mdrv->dcss); in dcss_drv_platform_probe()
65 if (IS_ERR(mdrv->kms)) { in dcss_drv_platform_probe()
66 err = PTR_ERR(mdrv->kms); in dcss_drv_platform_probe()
73 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_probe()
84 struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev); in dcss_drv_platform_remove()
89 dcss_kms_detach(mdrv->kms); in dcss_drv_platform_remove()
90 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_remove()
92 dev_set_drvdata(&pdev->dev, NULL); in dcss_drv_platform_remove()
112 { .compatible = "nxp,imx8mq-dcss", .data = &dcss_types[DCSS_IMX8MQ], },
128 .name = "imx-dcss",
137 MODULE_DESCRIPTION("DCSS driver for i.MX8MQ");