mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 05:06:43 +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;
|
+ int clock = mode->clock;
|
||||||
+
|
+
|
||||||
+ if (pdata->ycbcr_420_allowed && drm_mode_is_420(info, mode) &&
|
+ 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;
|
+ clock /= 2;
|
||||||
+
|
+
|
||||||
+ if (clock > 340000 ||
|
+ if (clock > 340000 ||
|
||||||
@ -2103,7 +2103,7 @@ index 90e683c65cbe..419fd9124d7b 100644
|
|||||||
struct drm_display_mode *mode = &crtc_state->mode;
|
struct drm_display_mode *mode = &crtc_state->mode;
|
||||||
u8 max_bpc = conn_state->max_requested_bpc;
|
u8 max_bpc = conn_state->max_requested_bpc;
|
||||||
- bool is_hdmi2_sink = info->hdmi.scdc.supported ||
|
- 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;
|
u32 *output_fmts;
|
||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
|
|
||||||
@ -2115,7 +2115,7 @@ index 90e683c65cbe..419fd9124d7b 100644
|
|||||||
- (drm_mode_is_420_only(info, mode) ||
|
- (drm_mode_is_420_only(info, mode) ||
|
||||||
- (is_hdmi2_sink && drm_mode_is_420_also(info, mode)))) {
|
- (is_hdmi2_sink && drm_mode_is_420_also(info, mode)))) {
|
||||||
+ if (conn->ycbcr_420_allowed && drm_mode_is_420(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 */
|
/* Order bus formats from 16bit to 8bit if supported */
|
||||||
if (max_bpc >= 16 && info->bpc == 16 &&
|
if (max_bpc >= 16 && info->bpc == 16 &&
|
||||||
@ -2153,8 +2153,8 @@ index 90e683c65cbe..419fd9124d7b 100644
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (max_bpc >= 16 && info->bpc == 16) {
|
if (max_bpc >= 16 && info->bpc == 16) {
|
||||||
- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444)
|
- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV16_1X48))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV16_1X48))
|
||||||
output_fmts[i++] = 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 (max_bpc >= 12 && info->bpc >= 12) {
|
||||||
- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422)
|
- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR422)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB422) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR422) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY12_1X24))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY12_1X24))
|
||||||
output_fmts[i++] = 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_YCBCR444)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV12_1X36))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV12_1X36))
|
||||||
output_fmts[i++] = 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 (max_bpc >= 10 && info->bpc >= 10) {
|
||||||
- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422)
|
- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR422)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB422) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR422) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY10_1X20))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY10_1X20))
|
||||||
output_fmts[i++] = 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_YCBCR444)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV10_1X30))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV10_1X30))
|
||||||
output_fmts[i++] = 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;
|
+ output_fmts[i++] = MEDIA_BUS_FMT_RGB101010_1X30;
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422)
|
- if (info->color_formats & DRM_COLOR_FORMAT_YCBCR422)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB422) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR422) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY8_1X16))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_UYVY8_1X16))
|
||||||
output_fmts[i++] = 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_YCBCR444)
|
||||||
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCRCB444) &&
|
+ if ((info->color_formats & DRM_COLOR_FORMAT_YCBCR444) &&
|
||||||
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV8_1X24))
|
+ is_tmds_allowed(info, mode, MEDIA_BUS_FMT_YUV8_1X24))
|
||||||
output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
|
output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
|
||||||
|
|
||||||
@ -2224,7 +2224,7 @@ index 90e683c65cbe..419fd9124d7b 100644
|
|||||||
return MODE_BAD;
|
return MODE_BAD;
|
||||||
|
|
||||||
+ if (pdata->ycbcr_420_allowed && drm_mode_is_420(info, mode) &&
|
+ 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;
|
+ clock /= 2;
|
||||||
+
|
+
|
||||||
+ if (clock > max_tmds_clock)
|
+ if (clock > max_tmds_clock)
|
||||||
@ -2843,8 +2843,8 @@ index 78b77b31436a..976dd3c9c26f 100644
|
|||||||
+ int i = 0;
|
+ int i = 0;
|
||||||
|
|
||||||
if (pdata->ycbcr_420_allowed && drm_mode_is_420(info, mode) &&
|
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))
|
||||||
+ (info->color_formats & DRM_COLOR_FORMAT_YCRCB420)) {
|
+ (info->color_formats & DRM_COLOR_FORMAT_YCBCR420)) {
|
||||||
clock /= 2;
|
clock /= 2;
|
||||||
+ mpll_cfg = pdata->mpll_cfg_420;
|
+ 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>
|
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
||||||
---
|
---
|
||||||
drivers/media/platform/Kconfig | 14 +
|
|
||||||
drivers/media/platform/Makefile | 1 +
|
drivers/media/platform/Makefile | 1 +
|
||||||
drivers/media/platform/rockchip/iep/Makefile | 5 +
|
drivers/media/platform/rockchip/iep/Makefile | 5 +
|
||||||
.../media/platform/rockchip/iep/iep-regs.h | 291 +++++
|
.../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.c | 1089 +++++++++++++++++
|
||||||
drivers/media/platform/rockchip/iep/iep.h | 112 ++
|
drivers/media/platform/rockchip/iep/iep.h | 112 ++
|
||||||
6 files changed, 1512 insertions(+)
|
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.c
|
||||||
create mode 100644 drivers/media/platform/rockchip/iep/iep.h
|
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
|
index cf4adc64c953..79b850a71449 100644
|
||||||
--- a/drivers/media/platform/Kconfig
|
--- /dev/null
|
||||||
+++ b/drivers/media/platform/Kconfig
|
+++ b/drivers/media/platform/rockchip/iep/Kconfig
|
||||||
@@ -546,6 +546,20 @@ config VIDEO_RENESAS_VSP1
|
@@ -0,0 +1,15 @@ config VIDEO_RENESAS_VSP1
|
||||||
To compile this driver as a module, choose M here: the module
|
+# SPDX-License-Identifier: GPL-2.0-only
|
||||||
will be called vsp1.
|
+
|
||||||
|
|
||||||
+config VIDEO_ROCKCHIP_IEP
|
+config VIDEO_ROCKCHIP_IEP
|
||||||
+ tristate "Rockchip Image Enhancement Processor"
|
+ tristate "Rockchip Image Enhancement Processor"
|
||||||
+ depends on VIDEO_DEV && VIDEO_V4L2
|
+ depends on VIDEO_DEV && VIDEO_V4L2
|
||||||
@ -129,22 +128,25 @@ index cf4adc64c953..79b850a71449 100644
|
|||||||
+ images. The driver currently implements YUV deinterlacing only.
|
+ images. The driver currently implements YUV deinterlacing only.
|
||||||
+ To compile this driver as a module, choose M here: the module
|
+ To compile this driver as a module, choose M here: the module
|
||||||
+ will be called rockchip-iep
|
+ will be called rockchip-iep
|
||||||
+
|
diff --git a/drivers/media/platform/rockchip/Kconfig b/drivers/media/platform/rockchip/Kconfig
|
||||||
config VIDEO_ROCKCHIP_RGA
|
--- a/drivers/media/platform/rockchip/Kconfig 2022-04-24 04:43:48.781195873 +0000
|
||||||
tristate "Rockchip Raster 2d Graphic Acceleration Unit"
|
+++ b/drivers/media/platform/rockchip/Kconfig 2022-04-24 04:39:04.394777975 +0000
|
||||||
depends on VIDEO_DEV && VIDEO_V4L2
|
@@ -2,5 +2,6 @@
|
||||||
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
|
|
||||||
|
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
|
index a148553babfc..08fcccdbbb49 100644
|
||||||
--- a/drivers/media/platform/Makefile
|
--- a/drivers/media/platform/rockchip/Makefile
|
||||||
+++ b/drivers/media/platform/Makefile
|
+++ b/drivers/media/platform/rockchip/Makefile
|
||||||
@@ -54,6 +54,7 @@ obj-$(CONFIG_VIDEO_RENESAS_FDP1) += rcar_fdp1.o
|
@@ -1,3 +1,4 @@
|
||||||
obj-$(CONFIG_VIDEO_RENESAS_JPU) += rcar_jpu.o
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/
|
+obj-y += iep/
|
||||||
|
obj-y += rga/
|
||||||
+obj-$(CONFIG_VIDEO_ROCKCHIP_IEP) += rockchip/iep/
|
obj-y += rkisp1/
|
||||||
obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1) += rockchip/rkisp1/
|
|
||||||
obj-$(CONFIG_VIDEO_ROCKCHIP_RGA) += rockchip/rga/
|
|
||||||
|
|
||||||
diff --git a/drivers/media/platform/rockchip/iep/Makefile b/drivers/media/platform/rockchip/iep/Makefile
|
diff --git a/drivers/media/platform/rockchip/iep/Makefile b/drivers/media/platform/rockchip/iep/Makefile
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..5c89b3277469
|
index 000000000000..5c89b3277469
|
||||||
|
Loading…
x
Reference in New Issue
Block a user