brcm2708: update linux 4.4 patches to latest version
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0515-drm-vc4-Disallow-interlaced-modes-on-DPI.patch
1 From b03aa8d12928c3413b3f02fd7c52d900edee196a Mon Sep 17 00:00:00 2001
2 From: Mario Kleiner <mario.kleiner.de@gmail.com>
3 Date: Tue, 19 Jul 2016 20:58:57 +0200
4 Subject: [PATCH] drm/vc4: Disallow interlaced modes on DPI.
5
6 We already don't expose such modes to userspace, but make
7 sure userspace can't sneak some interlaced mode in.
8
9 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
10 Signed-off-by: Eric Anholt <eric@anholt.net>
11 ---
12 drivers/gpu/drm/vc4/vc4_dpi.c | 11 +++++++++++
13 1 file changed, 11 insertions(+)
14
15 --- a/drivers/gpu/drm/vc4/vc4_dpi.c
16 +++ b/drivers/gpu/drm/vc4/vc4_dpi.c
17 @@ -349,9 +349,20 @@ static void vc4_dpi_encoder_enable(struc
18 }
19 }
20
21 +static bool vc4_dpi_encoder_mode_fixup(struct drm_encoder *encoder,
22 + const struct drm_display_mode *mode,
23 + struct drm_display_mode *adjusted_mode)
24 +{
25 + if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE)
26 + return false;
27 +
28 + return true;
29 +}
30 +
31 static const struct drm_encoder_helper_funcs vc4_dpi_encoder_helper_funcs = {
32 .disable = vc4_dpi_encoder_disable,
33 .enable = vc4_dpi_encoder_enable,
34 + .mode_fixup = vc4_dpi_encoder_mode_fixup,
35 };
36
37 static const struct of_device_id vc4_dpi_dt_match[] = {