The patches were generated from the RPi repo with the following command: git format-patch v6.6.34..rpi-6.1.y Some patches needed rebasing and, as usual, the applied and reverted, wireless drivers, Github workflows, READMEs and defconfigs patches were removed. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 8dec337920a708a94bd0e00badacfe1f27a6a12e Mon Sep 17 00:00:00 2001
 | 
						|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
						|
Date: Wed, 24 Jan 2024 16:35:11 +0000
 | 
						|
Subject: [PATCH 0886/1085] drm/vc4: Disable overrun interrupts
 | 
						|
 | 
						|
We have a read-modify-write race when updating SCALER_DISPCTRL for
 | 
						|
underrun and end-of-frame interrupts.
 | 
						|
Ideally it would be fixed via a spinlock or similar, but that will
 | 
						|
require a reasonable amount of study to ensure we don't get deadlocks.
 | 
						|
 | 
						|
The underrun reporting is only for debug, so disable it for now.
 | 
						|
 | 
						|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
						|
---
 | 
						|
 drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
 | 
						|
 drivers/gpu/drm/vc4/vc4_kms.c  | 2 +-
 | 
						|
 2 files changed, 2 insertions(+), 2 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
 | 
						|
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
 | 
						|
@@ -868,7 +868,7 @@ static void vc4_crtc_handle_page_flip(st
 | 
						|
 		 * the CRTC and encoder already reconfigured, leading to
 | 
						|
 		 * underruns. This can be seen when reconfiguring the CRTC.
 | 
						|
 		 */
 | 
						|
-		if (vc4->gen < VC4_GEN_6)
 | 
						|
+		if (0 && vc4->gen < VC4_GEN_6)
 | 
						|
 			vc4_hvs_unmask_underrun(hvs, chan);
 | 
						|
 	}
 | 
						|
 	spin_unlock(&vc4_crtc->irq_lock);
 | 
						|
--- a/drivers/gpu/drm/vc4/vc4_kms.c
 | 
						|
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
 | 
						|
@@ -391,7 +391,7 @@ static void vc4_atomic_commit_tail(struc
 | 
						|
 	if (WARN_ON(IS_ERR(new_hvs_state)))
 | 
						|
 		return;
 | 
						|
 
 | 
						|
-	if (vc4->gen < VC4_GEN_6) {
 | 
						|
+	if (0 && vc4->gen < VC4_GEN_6) {
 | 
						|
 		struct drm_crtc_state *new_crtc_state;
 | 
						|
 		struct drm_crtc *crtc;
 | 
						|
 		int i;
 |