aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0597-drm-vc4-The-check-for-assigned-HVS-channels-is-not-a.patch
blob: 00a65a9b111806ebf5dbef89c3ff6a31bdf0e264 (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
From 76534156ad6e835ad89135210d565dd5f58e91ab Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Tue, 11 Feb 2020 15:36:59 +0000
Subject: [PATCH] drm/vc4: The check for assigned HVS channels is not
 applicable firmware_kms

Channel assignments is only in full KMS, so skip the check
if in firmware kms mode.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -579,6 +579,7 @@ static int
 vc4_atomic_check(struct drm_device *dev, struct drm_atomic_state *state)
 {
 	unsigned long unassigned_channels = GENMASK(NUM_CHANNELS - 1, 0);
+	struct vc4_dev *vc4 = to_vc4_dev(state->dev);
 	struct drm_crtc_state *crtc_state;
 	struct drm_crtc *crtc;
 	int i, ret;
@@ -590,7 +591,7 @@ vc4_atomic_check(struct drm_device *dev,
 		bool is_assigned = false;
 		unsigned int channel;
 
-		if (!crtc_state->active)
+		if (!crtc_state->active || vc4->firmware_kms)
 			continue;
 
 		/*