mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From e08252e9eb97ccde349a38d13934e57a7609a9b0 Mon Sep 17 00:00:00 2001
 | 
						|
From: Eric Anholt <eric@anholt.net>
 | 
						|
Date: Mon, 6 Mar 2017 12:17:16 -0800
 | 
						|
Subject: [PATCH 138/277] panel-raspberrypi-touchscreen: Round up clk rate to
 | 
						|
 fix DSI panel.
 | 
						|
 | 
						|
Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the
 | 
						|
reported rate of PLLD, so the clk driver decided that PLLD/3/8 was now
 | 
						|
higher than our requested pixel clock rate and rejected it in favor of
 | 
						|
PLLD/4/8, which then ran the pixel clock way out of spec.
 | 
						|
 | 
						|
By bumping the requested clock rate just slightly, we get back to
 | 
						|
PLLD/3/8 like we wanted and the panel displays content again.
 | 
						|
 | 
						|
Signed-off-by: Eric Anholt <eric@anholt.net>
 | 
						|
---
 | 
						|
 drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 7 ++++++-
 | 
						|
 1 file changed, 6 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
diff --git a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
 | 
						|
index 5d6bfd81b07a..b57b7ad9aa4c 100644
 | 
						|
--- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
 | 
						|
+++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
 | 
						|
@@ -220,7 +220,12 @@ static const struct drm_display_mode rpi_touchscreen_modes[] = {
 | 
						|
 #define HBP         46
 | 
						|
 #define HFP         ((PIXEL_CLOCK / (VTOTAL * VREFRESH)) - (HACT + HSW + HBP))
 | 
						|
 
 | 
						|
-		.clock = PIXEL_CLOCK / 1000,
 | 
						|
+		/* Round up the pixel clock a bit (10khz), so that the
 | 
						|
+		 * "don't run things faster than the requested clock
 | 
						|
+		 * rate" rule of the clk driver doesn't reject the
 | 
						|
+		 * divide-by-3 mode due to rounding error.
 | 
						|
+		 */
 | 
						|
+		.clock = PIXEL_CLOCK / 1000 + 10,
 | 
						|
 		.hdisplay = HACT,
 | 
						|
 		.hsync_start = HACT + HFP,
 | 
						|
 		.hsync_end = HACT + HFP + HSW,
 | 
						|
-- 
 | 
						|
2.16.1
 | 
						|
 |