[PATCH] nvidiafb: Fix absence of cursor in nvidiafb
authorAntonino A. Daplas <adaplas@gmail.com>
Tue, 20 Sep 2005 23:30:21 +0000 (07:30 +0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 21 Sep 2005 00:36:38 +0000 (17:36 -0700)
A recent change in nvidiafb caused nvidiafb_cursor to always return -ENXIO
instead of using the soft_cursor.  This will happen if the parameter "hwcur"
is not set, which happens to be the default.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/video/Kconfig
drivers/video/nvidia/nvidia.c

index 31ee13eef7afb34eb1a4c40756108ebb1c2ad2e8..773ae11b4a19edfddf92b0333462d6ef19c000d3 100644 (file)
@@ -650,6 +650,7 @@ config FB_NVIDIA
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This driver supports graphics boards with the nVidia chips, TNT
          and newer. For very old chipsets, such as the RIVA128, then use
index 3620de0f252e6100c3da6a895de1cf7f3297dc14..a7f020ada630d1218b3699b12899e8757a577065 100644 (file)
@@ -893,7 +893,7 @@ static int nvidiafb_cursor(struct fb_info *info, struct fb_cursor *cursor)
        int i, set = cursor->set;
        u16 fg, bg;
 
-       if (!hwcur || cursor->image.width > MAX_CURS || cursor->image.height > MAX_CURS)
+       if (cursor->image.width > MAX_CURS || cursor->image.height > MAX_CURS)
                return -ENXIO;
 
        NVShowHideCursor(par, 0);
@@ -1356,6 +1356,9 @@ static int __devinit nvidia_set_fbinfo(struct fb_info *info)
        info->pixmap.size = 8 * 1024;
        info->pixmap.flags = FB_PIXMAP_SYSTEM;
 
+       if (!hwcur)
+           info->fbops->fb_cursor = soft_cursor;
+
        info->var.accel_flags = (!noaccel);
 
        switch (par->Architecture) {