openwrt/target/linux/bcm27xx/patches-5.4/950-0842-drm-vc4-Allow-interlaced-HDMI-modes-from-FKMS.patch
Álvaro Fernández Rojas 62b7f5931c bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit f07e572f64)
2021-02-19 07:17:21 +01:00

38 lines
1.2 KiB
Diff

From 354bf89fd678a6da6256a6ac37440c27c3b62e80 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Tue, 30 Jun 2020 18:04:13 +0100
Subject: [PATCH] drm/vc4: Allow interlaced HDMI modes from FKMS.
Having checked the firmware handling for interlaced modes,
it appears to be possible to support interlaced modes on
HDMI without adverse side effects, so do so.
https://github.com/raspberrypi/linux/issues/3694
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
drivers/gpu/drm/vc4/vc4_firmware_kms.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
@@ -936,6 +936,9 @@ static void vc4_crtc_mode_set_nofb(struc
break;
}
+ if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+ mb.timings.flags |= TIMINGS_FLAGS_INTERLACE;
+
mb.timings.video_id_code = frame.avi.video_code;
if (!vc4_encoder->hdmi_monitor) {
@@ -1632,7 +1635,7 @@ vc4_fkms_connector_init(struct drm_devic
DRM_MODE_CONNECTOR_HDMIA);
drm_connector_helper_add(connector,
&vc4_fkms_connector_helper_funcs);
- connector->interlace_allowed = 0;
+ connector->interlace_allowed = 1;
}
ret = drm_mode_create_tv_margin_properties(dev);