From: "Antonino A. Daplas" <adaplas@hotpop.com>

The hardware cursor implementation in i810fb broke sometime during 2.6. 
Until this is fixed, temporarily use soft_cursor().

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/video/i810/i810.h      |    1 +
 25-akpm/drivers/video/i810/i810_main.c |    3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff -puN drivers/video/i810/i810.h~fbdev-use-soft_cursor-in-i810fb drivers/video/i810/i810.h
--- 25/drivers/video/i810/i810.h~fbdev-use-soft_cursor-in-i810fb	2004-11-07 16:32:24.134170784 -0800
+++ 25-akpm/drivers/video/i810/i810.h	2004-11-07 16:32:24.140169872 -0800
@@ -201,6 +201,7 @@
 #define HAS_ACCELERATION            2
 #define ALWAYS_SYNC                 4
 #define LOCKUP                      8
+#define USE_HWCUR                  16
 
 struct gtt_data {
 	struct agp_memory *i810_fb_memory;
diff -puN drivers/video/i810/i810_main.c~fbdev-use-soft_cursor-in-i810fb drivers/video/i810/i810_main.c
--- 25/drivers/video/i810/i810_main.c~fbdev-use-soft_cursor-in-i810fb	2004-11-07 16:32:24.136170480 -0800
+++ 25-akpm/drivers/video/i810/i810_main.c	2004-11-07 16:32:24.141169720 -0800
@@ -1403,7 +1403,8 @@ static int i810fb_cursor(struct fb_info 
 	struct i810fb_par *par = (struct i810fb_par *)info->par;
 	u8 __iomem *mmio = par->mmio_start_virtual;
 
-	if (!info->var.accel_flags || par->dev_flags & LOCKUP) 
+	if (!(par->dev_flags & USE_HWCUR) || !info->var.accel_flags ||
+	    par->dev_flags & LOCKUP)
 		return soft_cursor(info, cursor);
 
 	if (cursor->image.width > 64 || cursor->image.height > 64)
_