* [PATCH] atyfb: Add option to disable hardware cursor.
@ 2004-06-17 9:41 Ville Syrjälä
0 siblings, 0 replies; only message in thread
From: Ville Syrjälä @ 2004-06-17 9:41 UTC (permalink / raw)
To: linux-fbdev-devel
[-- Attachment #1: Type: text/plain, Size: 304 bytes --]
The hardware cursor code in atyfb didn't work for me so I added this
swcursor option to disable it. The fbops->fb_cursor change good even
without the option since aty_init_cursor() is only called for chips with
integrated RAMDAC.
--
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/
[-- Attachment #2: atyfb-2.6-swcursor.patch --]
[-- Type: text/plain, Size: 2903 bytes --]
diff -urN linux-orig/drivers/video/aty/atyfb.h linux/drivers/video/aty/atyfb.h
--- linux-orig/drivers/video/aty/atyfb.h 2004-06-17 09:23:25.000000000 +0300
+++ linux/drivers/video/aty/atyfb.h 2004-06-17 11:22:15.140210168 +0300
@@ -297,7 +297,6 @@
*/
extern int aty_init_cursor(struct fb_info *info);
-extern int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor);
/*
* Hardware acceleration
diff -urN linux-orig/drivers/video/aty/atyfb_base.c linux/drivers/video/aty/atyfb_base.c
--- linux-orig/drivers/video/aty/atyfb_base.c 2004-06-17 09:23:25.000000000 +0300
+++ linux/drivers/video/aty/atyfb_base.c 2004-06-17 11:24:48.971824208 +0300
@@ -255,7 +255,7 @@
.fb_fillrect = atyfb_fillrect,
.fb_copyarea = atyfb_copyarea,
.fb_imageblit = atyfb_imageblit,
- .fb_cursor = atyfb_cursor,
+ .fb_cursor = soft_cursor, /* changed in aty_init_cursor() */
#ifdef __sparc__
.fb_mmap = atyfb_mmap,
#endif
@@ -263,6 +263,7 @@
};
static char noaccel __initdata = 0;
+static char swcursor __initdata = 0;
static u32 default_vram __initdata = 0;
static int default_pll __initdata = 0;
static int default_mclk __initdata = 0;
@@ -2353,7 +2354,7 @@
#endif
#ifdef CONFIG_FB_ATY_CT
- if (M64_HAS(INTEGRATED))
+ if (!swcursor && M64_HAS(INTEGRATED))
aty_init_cursor(info);
#endif /* CONFIG_FB_ATY_CT */
info->var = var;
@@ -2379,9 +2380,11 @@
return 0;
while ((this_opt = strsep(&options, ",")) != NULL) {
- if (!strncmp(this_opt, "noaccel", 7)) {
+ if (!strncmp(this_opt, "noaccel", 7))
noaccel = 1;
- } else if (!strncmp(this_opt, "vram:", 5))
+ else if (!strncmp(this_opt, "swcursor", 8))
+ swcursor = 1;
+ else if (!strncmp(this_opt, "vram:", 5))
default_vram =
simple_strtoul(this_opt + 5, NULL, 0);
else if (!strncmp(this_opt, "pll:", 4))
diff -urN linux-orig/drivers/video/aty/mach64_cursor.c linux/drivers/video/aty/mach64_cursor.c
--- linux-orig/drivers/video/aty/mach64_cursor.c 2004-06-17 09:23:25.000000000 +0300
+++ linux/drivers/video/aty/mach64_cursor.c 2004-06-17 11:22:37.324837592 +0300
@@ -71,7 +71,7 @@
0xa8, 0x28, 0x88, 0x08, 0xa0, 0x20, 0x80, 0x00
};
-void aty_set_cursor_shape(struct fb_info *info, u8 *dst, u8 *src, unsigned int width)
+static void aty_set_cursor_shape(struct fb_info *info, u8 *dst, u8 *src, unsigned int width)
{
int i, j, offset = info->sprite.scan_align - width*2;
u8 *mask = info->cursor.mask, m, b;
@@ -91,7 +91,7 @@
}
}
-int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
+static int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
{
struct atyfb_par *par = (struct atyfb_par *) info->par;
u16 xoff, yoff;
@@ -214,6 +214,9 @@
info->sprite.buf_align = 16; // *64; // and 64 lines tall.
info->sprite.flags = FB_PIXMAP_IO;
info->sprite.outbuf = aty_set_cursor_shape;
+
+ info->fbops->fb_cursor = atyfb_cursor;
+
return 0;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-06-17 9:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-17 9:41 [PATCH] atyfb: Add option to disable hardware cursor Ville Syrjälä
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).