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>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 296c967f195eab667784d1547b858a0d4f8b67ce Mon Sep 17 00:00:00 2001
 | 
						|
From: Phil Elwell <phil@raspberrypi.org>
 | 
						|
Date: Mon, 11 Nov 2019 20:18:08 +0000
 | 
						|
Subject: [PATCH 0183/1085] drm/v3d: Suppress all but the first MMU error
 | 
						|
 | 
						|
The v3d driver currently encounters a lot of MMU PTE exceptions, so
 | 
						|
only log the first to avoid swamping the kernel log.
 | 
						|
 | 
						|
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
						|
---
 | 
						|
 drivers/gpu/drm/v3d/v3d_irq.c | 3 +++
 | 
						|
 1 file changed, 3 insertions(+)
 | 
						|
 | 
						|
--- a/drivers/gpu/drm/v3d/v3d_irq.c
 | 
						|
+++ b/drivers/gpu/drm/v3d/v3d_irq.c
 | 
						|
@@ -177,6 +177,7 @@ v3d_hub_irq(int irq, void *arg)
 | 
						|
 			"GMP",
 | 
						|
 		};
 | 
						|
 		const char *client = "?";
 | 
						|
+		static int logged_error;
 | 
						|
 
 | 
						|
 		V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL));
 | 
						|
 
 | 
						|
@@ -186,6 +187,7 @@ v3d_hub_irq(int irq, void *arg)
 | 
						|
 				client = v3d41_axi_ids[axi_id];
 | 
						|
 		}
 | 
						|
 
 | 
						|
+		if (!logged_error)
 | 
						|
 		dev_err(v3d->drm.dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n",
 | 
						|
 			client, axi_id, (long long)vio_addr,
 | 
						|
 			((intsts & V3D_HUB_INT_MMU_WRV) ?
 | 
						|
@@ -194,6 +196,7 @@ v3d_hub_irq(int irq, void *arg)
 | 
						|
 			 ", pte invalid" : ""),
 | 
						|
 			((intsts & V3D_HUB_INT_MMU_CAP) ?
 | 
						|
 			 ", cap exceeded" : ""));
 | 
						|
+		logged_error = 1;
 | 
						|
 		status = IRQ_HANDLED;
 | 
						|
 	}
 | 
						|
 
 |