Skip to contentSkip to conversation

nvidiafb: Some chipsets need a buffer pitch divisible by 64

PATCH In review Antonino A. Daplas 1 participant 1 message Mar 6, 2005 Framebuffer layer

lore
Share & tools
lore
#0 lore raw

PATCH 6/10 nvidiafb: Some chipsets need a buffer pitch divisible by 64

The Geforce2 cards crashes at 800x600-8, but not at 640x480 or 1024x768. Changing the xres_virtual to be divisible by 64 fixes the problem.

---

 nvidia.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/video/nvidia/nvidia.c +3 -2
diff -Nru a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c
@@ -1099,7 +1099,6 @@
 	var->transp.length = 0;
 
 	var->xres &= ~7;
-	var->xres_virtual &= ~7;
 
 	if (var->bits_per_pixel <= 8)
 		var->bits_per_pixel = 8;
@@ -1179,6 +1178,8 @@
 	if (var->xres_virtual < var->xres)
 		var->xres_virtual = var->xres;
 
+	var->xres_virtual = (var->xres_virtual + 63) & ~63;
+
 	vramlen = info->fix.smem_len;
 	pitch = ((var->xres_virtual * var->bits_per_pixel) + 7) / 8;
 	memlen = pitch * var->yres_virtual;
@@ -1212,7 +1213,7 @@
 			var->xres_virtual = 0x7fff;
 	}
 
-	var->xres_virtual &= ~8;
+	var->xres_virtual &= ~63;
 
 	NVTRACE_LEAVE();
 

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click