[PATCH v7 2/5] drm/imx: Add initial support for DCSS on iMX8MQ
Philipp Zabel
p.zabel at pengutronix.de
Tue Jul 21 08:43:28 EDT 2020
Hi Laurentiu,
On Tue, 2020-07-21 at 13:20 +0300, Laurentiu Palcu wrote:
> From: Laurentiu Palcu <laurentiu.palcu at nxp.com>
>
> This adds initial support for iMX8MQ's Display Controller Subsystem (DCSS).
> Some of its capabilities include:
> * 4K at 60fps;
> * HDR10;
> * one graphics and 2 video pipelines;
> * on-the-fly decompression of compressed video and graphics;
>
> The reference manual can be found here:
> https://www.nxp.com/webapp/Download?colCode=IMX8MDQLQRM
>
> The current patch adds only basic functionality: one primary plane for
> graphics, linear, tiled and super-tiled buffers support (no graphics
> decompression yet), no HDR10 and no video planes.
>
> Video planes support and HDR10 will be added in subsequent patches once
> per-plane de-gamma/CSC/gamma support is in.
>
> Signed-off-by: Laurentiu Palcu <laurentiu.palcu at nxp.com>
> Reviewed-by: Lucas Stach <l.stach at pengutronix.de>
> ---
> drivers/gpu/drm/imx/Kconfig | 2 +
> drivers/gpu/drm/imx/Makefile | 1 +
> drivers/gpu/drm/imx/dcss/Kconfig | 9 +
> drivers/gpu/drm/imx/dcss/Makefile | 6 +
> drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 +++
> drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++++
> drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++++++
> drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 ++++++++++
> drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++++
> drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 +++++++++++++++++
> drivers/gpu/drm/imx/dcss/dcss-drv.c | 138 +++++
> drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 ++++++++++++
> drivers/gpu/drm/imx/dcss/dcss-kms.c | 177 ++++++
> drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 ++
> drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 ++++++++++++
> drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 +++++++++++++++++++++++++
> drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++++
> 17 files changed, 3962 insertions(+)
> create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig
> create mode 100644 drivers/gpu/drm/imx/dcss/Makefile
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c
> create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c
>
> diff --git a/drivers/gpu/drm/imx/Kconfig b/drivers/gpu/drm/imx/Kconfig
> index 207bf7409dfb..6231048aa5aa 100644
> --- a/drivers/gpu/drm/imx/Kconfig
> +++ b/drivers/gpu/drm/imx/Kconfig
> @@ -39,3 +39,5 @@ config DRM_IMX_HDMI
> depends on DRM_IMX
> help
> Choose this if you want to use HDMI on i.MX6.
> +
> +source "drivers/gpu/drm/imx/dcss/Kconfig"
> diff --git a/drivers/gpu/drm/imx/Makefile b/drivers/gpu/drm/imx/Makefile
> index 21cdcc2faabc..b644deffe948 100644
> --- a/drivers/gpu/drm/imx/Makefile
> +++ b/drivers/gpu/drm/imx/Makefile
> @@ -9,3 +9,4 @@ obj-$(CONFIG_DRM_IMX_TVE) += imx-tve.o
> obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o
>
> obj-$(CONFIG_DRM_IMX_HDMI) += dw_hdmi-imx.o
> +obj-$(CONFIG_DRM_IMX_DCSS) += dcss/
> diff --git a/drivers/gpu/drm/imx/dcss/Kconfig b/drivers/gpu/drm/imx/dcss/Kconfig
> new file mode 100644
> index 000000000000..988979bc22cc
> --- /dev/null
> +++ b/drivers/gpu/drm/imx/dcss/Kconfig
> @@ -0,0 +1,9 @@
> +config DRM_IMX_DCSS
> + tristate "i.MX8MQ DCSS"
> + select RESET_CONTROLLER
Why does DCSS select RESET_CONTROLLER?
regards
Philipp
More information about the linux-arm-kernel
mailing list