diff --git a/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch b/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch index 3cb17389a2..bacd09c880 100644 --- a/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch +++ b/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch @@ -1130,7 +1130,7 @@ index 303c6e81ca4f..73fad678b6ee 100644 + int clock = mode->clock; + + if (pdata->ycbcr_420_allowed && drm_mode_is_420(info, mode) && -+ (info->color_formats & DRM_COLOR_FORMAT_YCRCB420)) ++ (info->color_formats & DRM_COLOR_FORMAT_YCBCR420)) + clock /= 2; + + if (clock > 340000 || @@ -2103,7 +2103,7 @@ index 90e683c65cbe..419fd9124d7b 100644 struct drm_display_mode *mode = &crtc_state->mode; u8 max_bpc = conn_state->max_requested_bpc; - bool is_hdmi2_sink = info->hdmi.scdc.supported || -- (info->color_formats & DRM_COLOR_FORMAT_YCRCB420); +- (info->color_formats & DRM_COLOR_FORMAT_YCBCR420); u32 *output_fmts; unsigned int i = 0; @@ -2115,7 +2115,7 @@ index 90e683c65cbe..419fd9124d7b 100644 - (drm_mode_is_420_only(info, mode) || - (is_hdmi2_sink && drm_mode_is_420_also(info, mode)))) { + if (conn->ycbcr_420_allowed && drm_mode_is_420(info, mode) && -+ (info->color_formats & DRM_COLOR_FORMAT_YCRCB420)) { ++ (info->color_formats & DRM_COLOR_FORMAT_YCBCR420)) { /* Order bus formats from 16bit to 8bit if supported */ if (max_bpc >= 16 && info->bpc == 16 && @@ -2153,8 +2153,8 @@ index 90e683c65cbe..419fd9124d7b 100644 */ if (max_bpc >= 16 && info->bpc == 16) { -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV16_1X48)) output_fmts[i++] = MEDIA_BUS_FMT_YUV16_1X48; @@ -2164,13 +2164,13 @@ index 90e683c65cbe..419fd9124d7b 100644 } if (max_bpc >= 12 && info->bpc >= 12) { -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB422) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR422) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR422) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY12_1X24)) output_fmts[i++] = MEDIA_BUS_FMT_UYVY12_1X24; -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV12_1X36)) output_fmts[i++] = MEDIA_BUS_FMT_YUV12_1X36; @@ -2180,13 +2180,13 @@ index 90e683c65cbe..419fd9124d7b 100644 } if (max_bpc >= 10 && info->bpc >= 10) { -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB422) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR422) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR422) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY10_1X20)) output_fmts[i++] = MEDIA_BUS_FMT_UYVY10_1X20; -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV10_1X30)) output_fmts[i++] = MEDIA_BUS_FMT_YUV10_1X30; @@ -2195,13 +2195,13 @@ index 90e683c65cbe..419fd9124d7b 100644 + output_fmts[i++] = MEDIA_BUS_FMT_RGB101010_1X30; } -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB422) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR422) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR422) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY8_1X16)) output_fmts[i++] = MEDIA_BUS_FMT_UYVY8_1X16; -- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444) -+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) && +- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) ++ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) && + is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV8_1X24)) output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24; @@ -2224,7 +2224,7 @@ index 90e683c65cbe..419fd9124d7b 100644 return MODE_BAD; + if (pdata->ycbcr_420_allowed && drm_mode_is_420(info, mode) && -+ (info->color_formats & DRM_COLOR_FORMAT_YCRCB420)) ++ (info->color_formats & DRM_COLOR_FORMAT_YCBCR420)) + clock /= 2; + + if (clock > max_tmds_clock) @@ -2843,8 +2843,8 @@ index 78b77b31436a..976dd3c9c26f 100644 + int i = 0; if (pdata->ycbcr_420_allowed && drm_mode_is_420(info, mode) && -- (info->color_formats & DRM_COLOR_FORMAT_YCRCB420)) -+ (info->color_formats & DRM_COLOR_FORMAT_YCRCB420)) { +- (info->color_formats & DRM_COLOR_FORMAT_YCBCR420)) ++ (info->color_formats & DRM_COLOR_FORMAT_YCBCR420)) { clock /= 2; + mpll_cfg = pdata->mpll_cfg_420; + } diff --git a/projects/Rockchip/patches/linux/default/linux-2001-v4l2-wip-iep-driver.patch b/projects/Rockchip/patches/linux/default/linux-2001-v4l2-wip-iep-driver.patch index a81d2bbcb7..d1dcbecec0 100644 --- a/projects/Rockchip/patches/linux/default/linux-2001-v4l2-wip-iep-driver.patch +++ b/projects/Rockchip/patches/linux/default/linux-2001-v4l2-wip-iep-driver.patch @@ -96,10 +96,10 @@ Subject: [PATCH] media: rockchip: Add Rockchip IEP driver Signed-off-by: Alex Bee --- - drivers/media/platform/Kconfig | 14 + drivers/media/platform/Makefile | 1 + drivers/media/platform/rockchip/iep/Makefile | 5 + .../media/platform/rockchip/iep/iep-regs.h | 291 +++++ + .../media/platform/rockchip/iep/Kconfig | 15 + drivers/media/platform/rockchip/iep/iep.c | 1089 +++++++++++++++++ drivers/media/platform/rockchip/iep/iep.h | 112 ++ 6 files changed, 1512 insertions(+) @@ -108,14 +108,13 @@ Signed-off-by: Alex Bee create mode 100644 drivers/media/platform/rockchip/iep/iep.c create mode 100644 drivers/media/platform/rockchip/iep/iep.h -diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig +diff --git /dev/null b/drivers/media/platform/rockchip/iep/Kconfig index cf4adc64c953..79b850a71449 100644 ---- a/drivers/media/platform/Kconfig -+++ b/drivers/media/platform/Kconfig -@@ -546,6 +546,20 @@ config VIDEO_RENESAS_VSP1 - To compile this driver as a module, choose M here: the module - will be called vsp1. - +--- /dev/null ++++ b/drivers/media/platform/rockchip/iep/Kconfig +@@ -0,0 +1,15 @@ config VIDEO_RENESAS_VSP1 ++# SPDX-License-Identifier: GPL-2.0-only ++ +config VIDEO_ROCKCHIP_IEP + tristate "Rockchip Image Enhancement Processor" + depends on VIDEO_DEV && VIDEO_V4L2 @@ -129,22 +128,25 @@ index cf4adc64c953..79b850a71449 100644 + images. The driver currently implements YUV deinterlacing only. + To compile this driver as a module, choose M here: the module + will be called rockchip-iep -+ - config VIDEO_ROCKCHIP_RGA - tristate "Rockchip Raster 2d Graphic Acceleration Unit" - depends on VIDEO_DEV && VIDEO_V4L2 -diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile +diff --git a/drivers/media/platform/rockchip/Kconfig b/drivers/media/platform/rockchip/Kconfig +--- a/drivers/media/platform/rockchip/Kconfig 2022-04-24 04:43:48.781195873 +0000 ++++ b/drivers/media/platform/rockchip/Kconfig 2022-04-24 04:39:04.394777975 +0000 +@@ -2,5 +2,6 @@ + + comment "Rockchip media platform drivers" + ++source "drivers/media/platform/rockchip/iep/Kconfig" + source "drivers/media/platform/rockchip/rga/Kconfig" + source "drivers/media/platform/rockchip/rkisp1/Kconfig" +diff --git a/drivers/media/platform/rockchip/Makefile b/drivers/media/platform/rockchip/Makefile index a148553babfc..08fcccdbbb49 100644 ---- a/drivers/media/platform/Makefile -+++ b/drivers/media/platform/Makefile -@@ -54,6 +54,7 @@ obj-$(CONFIG_VIDEO_RENESAS_FDP1) += rcar_fdp1.o - obj-$(CONFIG_VIDEO_RENESAS_JPU) += rcar_jpu.o - obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/ - -+obj-$(CONFIG_VIDEO_ROCKCHIP_IEP) += rockchip/iep/ - obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1) += rockchip/rkisp1/ - obj-$(CONFIG_VIDEO_ROCKCHIP_RGA) += rockchip/rga/ - +--- a/drivers/media/platform/rockchip/Makefile ++++ b/drivers/media/platform/rockchip/Makefile +@@ -1,3 +1,4 @@ + # SPDX-License-Identifier: GPL-2.0-only ++obj-y += iep/ + obj-y += rga/ + obj-y += rkisp1/ diff --git a/drivers/media/platform/rockchip/iep/Makefile b/drivers/media/platform/rockchip/iep/Makefile new file mode 100644 index 000000000000..5c89b3277469