aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0664-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch
blob: cd2f7bd04f9452fbc5a65a8014648158acf4628d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
From da7972664ce5c26a876d092d8161901985f9fa8f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 12 Jun 2019 17:13:21 +0100
Subject: [PATCH 664/703] drm/vc4: In FKMS look at the modifiers correctly for
 SAND

Incorrect masking was used in the switch for the modifier,
therefore for SAND (which puts the column pitch in the
modifier) it didn't match.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
 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
@@ -460,7 +460,7 @@ static void vc4_plane_atomic_update(stru
 	}
 	mb->plane.planes[3] = 0;
 
-	switch (fb->modifier) {
+	switch (fourcc_mod_broadcom_mod(fb->modifier)) {
 	case DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED:
 		switch (mb->plane.vc_image_type) {
 		case VC_IMAGE_XRGB8888:
@@ -476,6 +476,9 @@ static void vc4_plane_atomic_update(stru
 		break;
 	case DRM_FORMAT_MOD_BROADCOM_SAND128:
 		mb->plane.vc_image_type = VC_IMAGE_YUV_UV;
+		/* Note that the column pitch is passed across in lines, not
+		 * bytes.
+		 */
 		mb->plane.pitch = fourcc_mod_broadcom_param(fb->modifier);
 		break;
 	}