28845940baec11b172d615b6071576f9ace7a3dd
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0116-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch
1 From ac5599d66654d69497945cb29e183824d9988e29 Mon Sep 17 00:00:00 2001
2 From: Eric Anholt <eric@anholt.net>
3 Date: Wed, 7 Jun 2017 14:39:49 -0700
4 Subject: [PATCH 116/703] drm/vc4: Add FB modifier support to firmwarekms.
5
6 Signed-off-by: Eric Anholt <eric@anholt.net>
7 (cherry picked from commit 11752d73488e08aaeb65fe8289a9c016acde26c2)
8 ---
9 drivers/gpu/drm/vc4/vc4_firmware_kms.c | 5 +++++
10 1 file changed, 5 insertions(+)
11
12 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
13 +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
14 @@ -17,6 +17,7 @@
15 #include "drm/drm_atomic_helper.h"
16 #include "drm/drm_plane_helper.h"
17 #include "drm/drm_crtc_helper.h"
18 +#include "drm/drm_fourcc.h"
19 #include "linux/clk.h"
20 #include "linux/debugfs.h"
21 #include "drm/drm_fb_cma_helper.h"
22 @@ -134,6 +135,10 @@ static void vc4_primary_plane_atomic_upd
23 fbinfo->yoffset = state->crtc_y;
24 fbinfo->base = bo->paddr + fb->offsets[0];
25 fbinfo->pitch = fb->pitches[0];
26 +
27 + if (fb->modifier == DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED)
28 + fbinfo->bpp |= BIT(31);
29 +
30 /* A bug in the firmware makes it so that if the fb->base is
31 * set to nonzero, the configured pitch gets overwritten with
32 * the previous pitch. So, to get the configured pitch