aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0576-drm-vc4-In-FKMS-look-at-the-modifiers-correctly-for-.patch
blob: a72f1420df066db0ad7ccd961e3da653df9b4611 (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 5643e47700d3c1b2a8a1aca56629f12e90df407c 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] 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;
 	}