mirror of
https://github.com/armbian/build.git
synced 2025-08-14 07:06:58 +02:00
* Change DEV to EDGE * Renaming patches dev folder to edge * Move patches into subdir where they will be archived. * Relink patch directories properly
50 lines
1.9 KiB
Diff
50 lines
1.9 KiB
Diff
From 3d8c15d79e8d7499453b067d6b9f99be8bd8e060 Mon Sep 17 00:00:00 2001
|
|
From: Dongjin Kim <tobetter@gmail.com>
|
|
Date: Wed, 29 Jul 2020 04:05:03 +0900
|
|
Subject: [PATCH 05/58] HACK: drm/meson: add YUV422 output support
|
|
|
|
Support YUV422 output from the Amlogic Meson SoC VPU to the HDMI
|
|
controller. This incorrectly fixes the green-line on GX devices.
|
|
|
|
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
|
|
---
|
|
drivers/gpu/drm/meson/meson_dw_hdmi.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
|
index aad75a22dc33..97d670081824 100644
|
|
--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
|
+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
|
|
@@ -703,6 +703,7 @@ dw_hdmi_mode_valid(struct dw_hdmi *hdmi, void *data,
|
|
|
|
static const u32 meson_dw_hdmi_out_bus_fmts[] = {
|
|
MEDIA_BUS_FMT_YUV8_1X24,
|
|
+ MEDIA_BUS_FMT_UYVY8_1X16,
|
|
MEDIA_BUS_FMT_UYYVYY8_0_5X24,
|
|
};
|
|
|
|
@@ -802,7 +803,8 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_bridge *bridge,
|
|
if (dw_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYYVYY8_0_5X24) {
|
|
ycrcb_map = VPU_HDMI_OUTPUT_CRYCB;
|
|
yuv420_mode = true;
|
|
- }
|
|
+ } else if (dw_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYVY8_1X16)
|
|
+ ycrcb_map = VPU_HDMI_OUTPUT_CRYCB;
|
|
|
|
/* VENC + VENC-DVI Mode setup */
|
|
meson_venc_hdmi_mode_set(priv, vic, ycrcb_map, yuv420_mode, mode);
|
|
@@ -814,6 +816,10 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_bridge *bridge,
|
|
/* Setup YUV420 to HDMI-TX, no 10bit diphering */
|
|
writel_relaxed(2 | (2 << 2),
|
|
priv->io_base + _REG(VPU_HDMI_FMT_CTRL));
|
|
+ else if (dw_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYVY8_1X16)
|
|
+ /* Setup YUV422 to HDMI-TX, no 10bit diphering */
|
|
+ writel_relaxed(1 | (2 << 2),
|
|
+ priv->io_base + _REG(VPU_HDMI_FMT_CTRL));
|
|
else
|
|
/* Setup YUV444 to HDMI-TX, no 10bit diphering */
|
|
writel_relaxed(0, priv->io_base + _REG(VPU_HDMI_FMT_CTRL));
|
|
--
|
|
2.25.1
|
|
|