mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux (Rockchip): update patches for 5.18-rc3
This commit is contained in:
parent
e0e08202f4
commit
d16293d01e
@ -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;
|
||||
+ }
|
||||
|
@ -96,10 +96,10 @@ Subject: [PATCH] media: rockchip: Add Rockchip IEP driver
|
||||
|
||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
||||
---
|
||||
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 <knaerzche@gmail.com>
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user