On Mon, 2007-02-26 at 21:32 +0100, DervishD wrote:
>     Hi Antonino :)
> 
>  * Antonino A. Daplas <[EMAIL PROTECTED]> dixit:
> > On Mon, 2007-02-26 at 18:13 +0100, DervishD wrote:
> > That's why tdfxb limits the vyres to a maximum of 4096. As to why the
> > problem disappeared just by changing this parameter, that I too don't
> > know.
> 
>     Probably setting it back to 4096 will make the problem reappear.
> Right now I cannot test, but I'll make some experiments.
> 

Can you try this patch?  It might help with the screen corruption.

Tony

diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c
index 689ce02..bb3ca71 100644
--- a/drivers/video/tdfxfb.c
+++ b/drivers/video/tdfxfb.c
@@ -284,7 +284,8 @@ static inline void banshee_make_room(str
 {
 	/* Note: The Voodoo3's onboard FIFO has 32 slots. This loop
 	 * won't quit if you ask for more. */
-	while((tdfx_inl(par, STATUS) & 0x1f) < size-1);
+	while((tdfx_inl(par, STATUS) & 0x1f) < size-1)
+		mdelay(5);
 }
  
 static int banshee_wait_idle(struct fb_info *info)
@@ -297,7 +298,9 @@ static int banshee_wait_idle(struct fb_i
 
 	while(1) {
 		i = (tdfx_inl(par, STATUS) & STATUS_BUSY) ? 0 : i + 1;
-		if(i == 3) break;
+		if(i == 3)
+			break;
+		mdelay(5);
 	}
 	return 0;
 }

Reply via email to