8cb85316c6ca2476e393f771f7f29bdfbfcece7f
[openwrt/staging/ldir.git] / target / linux / bcm27xx / patches-5.4 / 950-0842-drm-vc4-Allow-interlaced-HDMI-modes-from-FKMS.patch
1 From 354bf89fd678a6da6256a6ac37440c27c3b62e80 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Tue, 30 Jun 2020 18:04:13 +0100
4 Subject: [PATCH] drm/vc4: Allow interlaced HDMI modes from FKMS.
5
6 Having checked the firmware handling for interlaced modes,
7 it appears to be possible to support interlaced modes on
8 HDMI without adverse side effects, so do so.
9
10 https://github.com/raspberrypi/linux/issues/3694
11
12 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
13 ---
14 drivers/gpu/drm/vc4/vc4_firmware_kms.c | 5 ++++-
15 1 file changed, 4 insertions(+), 1 deletion(-)
16
17 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
18 +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
19 @@ -936,6 +936,9 @@ static void vc4_crtc_mode_set_nofb(struc
20 break;
21 }
22
23 + if (mode->flags & DRM_MODE_FLAG_INTERLACE)
24 + mb.timings.flags |= TIMINGS_FLAGS_INTERLACE;
25 +
26 mb.timings.video_id_code = frame.avi.video_code;
27
28 if (!vc4_encoder->hdmi_monitor) {
29 @@ -1632,7 +1635,7 @@ vc4_fkms_connector_init(struct drm_devic
30 DRM_MODE_CONNECTOR_HDMIA);
31 drm_connector_helper_add(connector,
32 &vc4_fkms_connector_helper_funcs);
33 - connector->interlace_allowed = 0;
34 + connector->interlace_allowed = 1;
35 }
36
37 ret = drm_mode_create_tv_margin_properties(dev);