aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2005-09-21 07:30:21 +0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-20 17:36:38 -0700
commit7a482425f45e695a2e2821b32a887865f016fbf9 (patch)
treed368ef974461fd071bf0d6c48f96b3cdff6b58f2
parentc90eef84b8f5c7416cb99ab6907896f2dd392b4d (diff)
[PATCH] nvidiafb: Fix absence of cursor in nvidiafb
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>
-rw-r--r--drivers/video/Kconfig1
-rw-r--r--drivers/video/nvidia/nvidia.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 31ee13eef7a..773ae11b4a1 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -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
diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c
index 3620de0f252..a7f020ada63 100644
--- a/drivers/video/nvidia/nvidia.c
+++ b/drivers/video/nvidia/nvidia.c
@@ -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) {