You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
(1) |
Apr
(104) |
May
(81) |
Jun
(248) |
Jul
(133) |
Aug
(33) |
Sep
(53) |
Oct
(82) |
Nov
(166) |
Dec
(71) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(121) |
Feb
(42) |
Mar
(39) |
Apr
(84) |
May
(87) |
Jun
(58) |
Jul
(97) |
Aug
(130) |
Sep
(32) |
Oct
(139) |
Nov
(108) |
Dec
(216) |
| 2003 |
Jan
(299) |
Feb
(136) |
Mar
(392) |
Apr
(141) |
May
(137) |
Jun
(107) |
Jul
(94) |
Aug
(262) |
Sep
(300) |
Oct
(216) |
Nov
(72) |
Dec
(94) |
| 2004 |
Jan
(174) |
Feb
(192) |
Mar
(215) |
Apr
(314) |
May
(319) |
Jun
(293) |
Jul
(205) |
Aug
(161) |
Sep
(192) |
Oct
(226) |
Nov
(308) |
Dec
(89) |
| 2005 |
Jan
(127) |
Feb
(269) |
Mar
(588) |
Apr
(106) |
May
(77) |
Jun
(77) |
Jul
(161) |
Aug
(239) |
Sep
(86) |
Oct
(112) |
Nov
(153) |
Dec
(145) |
| 2006 |
Jan
(87) |
Feb
(57) |
Mar
(129) |
Apr
(109) |
May
(102) |
Jun
(232) |
Jul
(97) |
Aug
(69) |
Sep
(67) |
Oct
(69) |
Nov
(214) |
Dec
(82) |
| 2007 |
Jan
(133) |
Feb
(307) |
Mar
(121) |
Apr
(171) |
May
(229) |
Jun
(156) |
Jul
(185) |
Aug
(160) |
Sep
(122) |
Oct
(130) |
Nov
(78) |
Dec
(27) |
| 2008 |
Jan
(105) |
Feb
(137) |
Mar
(146) |
Apr
(148) |
May
(239) |
Jun
(208) |
Jul
(157) |
Aug
(244) |
Sep
(119) |
Oct
(125) |
Nov
(189) |
Dec
(225) |
| 2009 |
Jan
(157) |
Feb
(139) |
Mar
(106) |
Apr
(130) |
May
(246) |
Jun
(189) |
Jul
(128) |
Aug
(127) |
Sep
(88) |
Oct
(86) |
Nov
(216) |
Dec
(9) |
| 2010 |
Jan
(5) |
Feb
|
Mar
(11) |
Apr
(31) |
May
(3) |
Jun
|
Jul
(7) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Antonino D. <ad...@po...> - 2002-12-14 21:36:27
|
On Fri, 2002-12-13 at 15:09, Petr Vandrovec wrote:
> Current interface just supports only cfb, and only very bad for my needs.
> And because of matroxfb supports also other modes (such as native text
> mode, or loading font into accelerator), bye-bye. For now I recommend you
> either to not upgrade, or use vesafb. Besides that accel_putcs() does not
> call fb_sync when using font width which is not multiple of 8, and that
Can you explain why an fb_sync is needed for every character?
> with fonts greater than 16*16 pixels (I believe that such fonts are still
> supported...) it will corrupt memory...
I agree. To be more specific, buffer overruns will occur if (xres *
fontheight/8 > 8192). The pixmap needs to be dynamically allocated and
resized somewhere in the fbcon layer (ideally in accel_setup(), but this
was removed). For those concerned about this problem, you can try this
patch as a temporary measure until fbcon is fixed. It should not cause
to much slowdown:
For anyone concerned, this is a heads up: The data in the pixmap must
be read completely by the hardware before exiting, otherwise font
corruption will occur. If you think this will be a problem, the
function can be easily modified to do multiple buffering instead.
Comments?
Tony
diff -Naur linux-2.5.51/drivers/video/console/fbcon.c linux/drivers/video/console/fbcon.c
--- linux-2.5.51/drivers/video/console/fbcon.c 2002-12-14 23:33:50.000000000 +0000
+++ linux/drivers/video/console/fbcon.c 2002-12-14 23:35:10.000000000 +0000
@@ -390,7 +390,9 @@
unsigned int cellsize = vc->vc_font.height * width;
struct fb_image image;
u16 c = scr_readw(s);
- static u8 pixmap[8192];
+ static int xres = 0;
+ static int fontheight = 0;
+ static u8 *pixmap = NULL;
image.fg_color = attr_fgcol(p, c);
image.bg_color = attr_bgcol(p, c);
@@ -399,9 +401,24 @@
image.height = vc->vc_font.height;
image.depth = 1;
-/* pixmap = kmalloc((info->var.bits_per_pixel + 7) >> 3 *
- vc->vc_font.height, GFP_KERNEL);
-*/
+ /*
+ * FIXME: This code segment has to be placed
+ * somewhere else to allow freeing of
+ * memory on exit and to reduce unnecessary
+ * processing.
+ */
+ if (xres != info->var.xres ||
+ fontheight != vc->vc_font.height) {
+ xres = info->var.xres;
+ fontheight = vc->vc_font.height;
+
+ if (info->fbops->fb_sync)
+ info->fbops->fb_sync(info);
+ if (pixmap != NULL)
+ kfree(pixmap);
+ pixmap = kmalloc((xres + 7)/8 *
+ fontheight, GFP_KERNEL);
+ }
if (!(vc->vc_font.width & 7) && pixmap != NULL) {
unsigned int pitch = width * count, i, j;
@@ -432,10 +449,6 @@
image.dx += vc->vc_font.width;
}
}
- /*
- if (pixmap);
- kfree(pixmap);
- */
}
void accel_clear_margins(struct vc_data *vc, struct display *p,
|
|
From: Antonino D. <ad...@po...> - 2002-12-14 21:35:46
|
On Sun, 2002-12-15 at 00:53, Andr=C3=A9 Stierenberg wrote: > Now the characters are printed correctly. And in the linux logo, the > pinguin, something is also wrong. It seems the some pixels are mirrored t= oo > whereas other pixels are correct. >=20 > What could this be and in what way can i fix the problem? >=20 The logo is drawn directly to the framebuffer by fbcon_show_logo() in linux/drivers/video/fbcon.c. In your case, (is this cfb4?), the code segment is enclosed by this conditional: #if defined(CONFIG_FBCON_CFB4) ... #endif You can apply the same reversal techniques to correct your problem. Tony |
|
From: Antonino D. <ad...@po...> - 2002-12-14 21:35:21
|
On Fri, 2002-12-13 at 23:33, Michael Kaufmann wrote: > Hello, > > i would like to use a mono LCD with a framebuffer driver. > > I've modified existing drivers, and after a lot of work i now have a clear > picture on my display. Unfortunately, the complete picture is mirrored. > The Bootlogo is top/right instead of top/left and the ascii output starts from > right to left. > > Where is the right place to modify this behaviour? > I'm also looking for a possibility to rotate the picture. > Because my videocontroller can emulate 15 grayscales, i'm useing 4bpp. > > It would be very nice, if someone can guide me in the right direction. > Are you using fbcon-cfb4.c to draw the characters? Is the whole display mirrored, including individual characters? If you run an fb-based app (like fbtest for instance), is the display also mirrored? If it's the whole display, maybe your hardware supports mirroring (some hardware with video overlay need this to support YUV formats that are either vertically or horizontally mirrored). Maybe it has something like that. Otherwise, it will be difficult to correct this without rewriting practically everything. Tony |
|
From: James S. <jsi...@in...> - 2002-12-14 21:13:55
|
Sounds like a endian issue. =Maybe the frmaebuffer and the processor are
different endianess.
On Sat, 14 Dec 2002, André Stierenberg wrote:
> Hello,
>
> i´m using the framebuffer driver pxafb for my board using the pxa processor
> (Accelent IDP). I have a 4 bit monocrom display. when I run the framebuffer
> I have some problems. The text in the console it in some way shifted. The
> two parts of the font are switched. The first 4 pixels are at dest+2 and the
> last 4 pixels at dest+0. And both parts are mirrored. Now I have done the
> following in fbcon_cfb4.c in function fbcon_cfb4_putcs:
>
> for (rows = fontheight(p), dest = dest0; rows-- ; dest += bytes) {
> fb_writew((nibbletab_cfb4[rv(*cdat) >> 4] & eorx) ^ bgx, dest+2);
> fb_writew((nibbletab_cfb4[rv(*cdat++) & 0xf] & eorx) ^ bgx, dest+0);
> }
>
>
> The function rv will reverse the bit order (bit 1 is bit 8, bit 2 is bit 7..
> etc.).
> And i have swaped the destination offset.
> Now the characters are printed correctly. And in the linux logo, the
> pinguin, something is also wrong. It seems the some pixels are mirrored too
> whereas other pixels are correct.
>
> What could this be and in what way can i fix the problem?
>
> Andre
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:
> With Great Power, Comes Great Responsibility
> Learn to use your power at OSDN's High Performance Computing Channel
> http://hpc.devchannel.org/
> _______________________________________________
> Linux-fbdev-devel mailing list
> Lin...@li...
> https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
>
|
|
From: <sti...@gm...> - 2002-12-14 19:57:41
|
Hello,
i´m using the framebuffer driver pxafb for my board using the pxa processor
(Accelent IDP). I have a 4 bit monocrom display. when I run the framebuffer
I have some problems. The text in the console it in some way shifted. The
two parts of the font are switched. The first 4 pixels are at dest+2 and the
last 4 pixels at dest+0. And both parts are mirrored. Now I have done the
following in fbcon_cfb4.c in function fbcon_cfb4_putcs:
for (rows = fontheight(p), dest = dest0; rows-- ; dest += bytes) {
fb_writew((nibbletab_cfb4[rv(*cdat) >> 4] & eorx) ^ bgx, dest+2);
fb_writew((nibbletab_cfb4[rv(*cdat++) & 0xf] & eorx) ^ bgx, dest+0);
}
The function rv will reverse the bit order (bit 1 is bit 8, bit 2 is bit 7..
etc.).
And i have swaped the destination offset.
Now the characters are printed correctly. And in the linux logo, the
pinguin, something is also wrong. It seems the some pixels are mirrored too
whereas other pixels are correct.
What could this be and in what way can i fix the problem?
Andre
|
|
From: Linus T. <tor...@tr...> - 2002-12-14 01:10:20
|
On Fri, 13 Dec 2002, James Simmons wrote: > > If it happens only when you press a key which is always true: > > 1) Its the same place on the screen or a different place every time? I think it's at the last line of the screen every time. > 3) Always the last column? Nope, I don't think so. > If you don't mind me asking what is model of your laptop to see if > someone else is having the same exact problem. This is a HP ze5155 (big, heavy and horrible, but cheap). But I seriously doubt that is the real issue: I suspect that the reason I see it on that machine is (a) I was travelling the last three days and that was the only machine I had and (b) because X is flaky at starting up on it, I wasn't in X all the time like I normally am. Linus |
|
From: James S. <jsi...@in...> - 2002-12-14 00:58:02
|
> This is UP, and not preemptible. And the backtrace may be corrupt, because > when the page fault happens, it will actually page fault _again_ as part > of trying to print out the oops, so the whole thing scrolls largely off > the screen.. Thats right. If the low level console driver is broken it will call printk which could be using the broken driver :-( > I only see this on one of my laptops, and even there it seems to be > timing-dependent or something (I think it only happens when I press a key, > and because the backtrace isn't trustworthy ..) If it happens only when you press a key which is always true: 1) Its the same place on the screen or a different place every time? 2) Always the last line of the screen? 3) Always the last column? If you don't mind me asking what is model of your laptop to see if someone else is having the same exact problem. |
|
From: James S. <jsi...@in...> - 2002-12-14 00:53:21
|
Hi folks!! I made the mailing list public again to make everyone happy :-) MS: (n) 1. A debilitating and surprisingly widespread affliction that renders the sufferer barely able to perform the simplest task. 2. A disease. James Simmons [jsi...@us...] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net |
|
From: James S. <jsi...@in...> - 2002-12-14 00:49:35
|
test MS: (n) 1. A debilitating and surprisingly widespread affliction that renders the sufferer barely able to perform the simplest task. 2. A disease. James Simmons [jsi...@us...] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net |
|
From: James S. <jsi...@in...> - 2002-12-14 00:41:44
|
test MS: (n) 1. A debilitating and surprisingly widespread affliction that renders the sufferer barely able to perform the simplest task. 2. A disease. James Simmons [jsi...@us...] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net |
|
From: Linus T. <tor...@tr...> - 2002-12-14 00:13:44
|
On Sat, 14 Dec 2002, James Simmons wrote: > > Calling scrup is out of place. It is only called by lf() and csi_M() in > the vt.c. lf() is used in vt_console_print but it is called before > set_cursor(). Also vgacon_cursor doesn't call vgacon_scroll. It can call > vgacon_scrolldelta. Now scrup does call vgacon_scroll. It looks like The > code jumped from the middle of vt_console_print to scrup. Do you get the > same error all the time? Also do you have Preemptible Kernel turned on? This is UP, and not preemptible. And the backtrace may be corrupt, because when the page fault happens, it will actually page fault _again_ as part of trying to print out the oops, so the whole thing scrolls largely off the screen.. I only see this on one of my laptops, and even there it seems to be timing-dependent or something (I think it only happens when I press a key, and because the backtrace isn't trustworthy ..) Linus |
|
From: James S. <jsi...@in...> - 2002-12-14 00:02:52
|
> James, > the fbcon update seems to have broken the plain VGA console. I get a page > fault at vgacon_scroll+0x144, the call sequence seems to be: > > vt_console_print+0x203 > set_cursor+0x78 > vgacon_cursor+x0xb5 > scrup+0x122 Calling scrup is out of place. It is only called by lf() and csi_M() in the vt.c. lf() is used in vt_console_print but it is called before set_cursor(). Also vgacon_cursor doesn't call vgacon_scroll. It can call vgacon_scrolldelta. Now scrup does call vgacon_scroll. It looks like The code jumped from the middle of vt_console_print to scrup. Do you get the same error all the time? Also do you have Preemptible Kernel turned on? > vgacon_scroll+0x144 > > I don't know what triggers it, since it seems to happen pretty randomly. > > Linus > > |
|
From: James S. <jsi...@in...> - 2002-12-13 23:42:37
|
> James,
> the fbcon update seems to have broken the plain VGA console. I get a page
> fault at vgacon_scroll+0x144, the call sequence seems to be:
>
> vt_console_print+0x203
> set_cursor+0x78
> vgacon_cursor+x0xb5
> scrup+0x122
> vgacon_scroll+0x144
>
> I don't know what triggers it, since it seems to happen pretty randomly.
Strange. I avoided touching that driver as much as possible. The other
strange error I have seen is vesa mode 791 for some reason stopped woking
on some boards. I just did a diff between 2.5.49 vgacon.c and the current
vgacon.c. The result is
--- /usr/src/linux-2.5.49/drivers/video/vgacon.c Fri Sep 13 14:17:14 2002
+++ vgacon.c Fri Dec 13 15:22:02 2002
@@ -41,7 +41,6 @@
#include <linux/kernel.h>
#include <linux/tty.h>
#include <linux/console.h>
-#include <linux/console_struct.h>
#include <linux/string.h>
#include <linux/kd.h>
#include <linux/slab.h>
@@ -180,6 +179,13 @@
#endif
}
+ /* VGA16 modes are not handled by VGACON */
+ if ((ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */
+ (ORIG_VIDEO_MODE == 0x0E) || /* 640x200/4 */
+ (ORIG_VIDEO_MODE == 0x10) || /* 640x350/4 */
+ (ORIG_VIDEO_MODE == 0x12) || /* 640x480/4 */
+ (ORIG_VIDEO_MODE == 0x6A)) /* 800x600/4, 0x6A is very common */
+ goto no_vga;
vga_video_num_lines = ORIG_VIDEO_LINES;
vga_video_num_columns = ORIG_VIDEO_COLS;
@@ -838,8 +844,8 @@
static int
vgacon_adjust_height(unsigned fontheight)
{
- int rows, maxscan;
unsigned char ovr, vde, fsr;
+ int rows, maxscan, i;
if (fontheight == vga_video_font_height)
return 0;
@@ -881,7 +887,12 @@
outb_p( vde, vga_video_port_val );
spin_unlock_irq(&vga_lock);
- vc_resize_all(rows, 0); /* Adjust console size */
+ for (i = 0; i < MAX_NR_CONSOLES; i++) {
+ struct vc_data *c = vc_cons[i].d;
+
+ if (c && c->vc_sw == &vga_con)
+ vc_resize(c->vc_num, 0, rows); /* Adjust console size */
+ }
return 0;
}
Now the first chuck of code was from a vga16fb patch. Originally you
could set a vga graphical mode that was standard but not apart of the VESA
number range (100+) and vgacon would still start. This prevented it.
To the people having trouble setting VESA fb mode 791 remove this code and
tell me if your problem goes away.
The second possible source is in vga_adjust_height. This is called when
you change your font set from userland. I attempted to change my font and
didn't have a problem.
The err you are talking about that is having issues in vgacon_scroll is
c->vc_origin = vga_vram_end - c->vc_screenbuf_size;
Which is when dir equals SM_DOWN and the old origin minus the amount we
scroll is less than A000 (vga_vram_base). Its just strange. I'm going to
stress test vgacon to see what is going on.
|
|
From: Linus T. <tor...@tr...> - 2002-12-13 21:49:39
|
James, the fbcon update seems to have broken the plain VGA console. I get a page fault at vgacon_scroll+0x144, the call sequence seems to be: vt_console_print+0x203 set_cursor+0x78 vgacon_cursor+x0xb5 scrup+0x122 vgacon_scroll+0x144 I don't know what triggers it, since it seems to happen pretty randomly. Linus |
|
From: Michael K. <kau...@so...> - 2002-12-13 16:35:37
|
Hello, i would like to use a mono LCD with a framebuffer driver. I've modified existing drivers, and after a lot of work i now have a clea= r picture on my display. Unfortunately, the complete picture is mirrored. The Bootlogo is top/right instead of top/left and the ascii output starts= from=20 right to left.=20 Where is the right place to modify this behaviour?=20 I'm also looking for a possibility to rotate the picture. Because my videocontroller can emulate 15 grayscales, i'm useing 4bpp. It would be very nice, if someone can guide me in the right direction. Thanks in advance! Michael=20 |
|
From: Pavel M. <pa...@uc...> - 2002-12-13 12:04:03
|
Hi! > On Wed, 2002-12-11 at 20:43, David S. Miller wrote: > > fbdev is nice, in the specific cases where the device fits the fbdev > > model, because once you have the kernel bits you have X support :) > > fbdev also can't be used in some situations on x86. Deeply fascinating > things happen on some x86 processors if you execute a loop of code with > an instruction that crosses two different memory types. Sounds like cpu bug to me? What cpus are affected? Could be worked around by pointing debug register at memory boundary? Pavel -- Worst form of spam? Adding advertisment signatures ala sourceforge.net. What goes next? Inserting advertisment *into* email? |
|
From: Petr V. <VAN...@vc...> - 2002-12-13 10:09:52
|
On 13 Dec 02 at 1:13, Ariel wrote:
> Kernel 2.5.51.
>
> I tried copying the fbcon*.h files from 2.2.19 kernel, but that didn't
> help much.
Either go for 2.5.50, or you'll have to wait several weeks. After looking
at current kernel interface it looks like that I'll have to write
matroxcon to get at least same level of functionality which was
available before, and it will definitely take weeks, or maybe months.
Current interface just supports only cfb, and only very bad for my needs.
And because of matroxfb supports also other modes (such as native text
mode, or loading font into accelerator), bye-bye. For now I recommend you
either to not upgrade, or use vesafb. Besides that accel_putcs() does not
call fb_sync when using font width which is not multiple of 8, and that
with fonts greater than 16*16 pixels (I believe that such fonts are still
supported...) it will corrupt memory...
You can also try to use complete drivers/video, include/video, plus
some of drivers/char and include/linux from 2.5.50... You should be
able to get working system that way too.
Petr Vandrovec
van...@vc...
|
|
From: Alan C. <al...@lx...> - 2002-12-13 09:53:35
|
On Fri, 2002-12-13 at 08:53, Geert Uytterhoeven wrote: > (At first I thought you meant an instruction where the opcode crosses those > two memory types, but we don't put code in video RAM...) I did. The frame buffer drivers support mmap(). x86 has no "non-exec" bit. So any user able to open /dev/fb can bring down such a box. Similar things apply with early athlon and prefetching /dev/fb |
|
From: Geert U. <ge...@li...> - 2002-12-13 09:00:17
|
On 11 Dec 2002, Alan Cox wrote:
> On Wed, 2002-12-11 at 20:43, David S. Miller wrote:
> > fbdev is nice, in the specific cases where the device fits the fbdev
> > model, because once you have the kernel bits you have X support :)
>
> fbdev also can't be used in some situations on x86. Deeply fascinating
> things happen on some x86 processors if you execute a loop of code with
> an instruction that crosses two different memory types.
Do you mean one load/store access to memory where the first and the last part
(e.g. first 2 and last 2 bytes for a 32-bit word) are to different memory types
(e.g. main RAM and video RAM on PCI)? If yes, where does that happen? If no,
can you please clarify?
(At first I thought you meant an instruction where the opcode crosses those
two memory types, but we don't put code in video RAM...)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li...
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
|
|
From: Geert U. <ge...@li...> - 2002-12-13 08:52:08
|
On 11 Dec 2002, David S. Miller wrote:
> On Tue, 2002-12-10 at 22:18, James Simmons wrote:
> > > AFAIK, the X "mach64" driver in XF 4.* doesn't care about UseFBDev.
> > > Marc Aurele La France (maintainer of this driver) is basically allergic
> > > to kernel fbdev support.
> >
> > :-(
>
> I've always stated that the whole fbdev model was flawed, it makes
> basic assumptions about how a video card's memory and registers are
> accessed (ie. the programming model) and many popular cards absolutely
> do not fit into that model.
Could you please elaborate so we have a chance to improve the model? Thanks!
In case you just mean graphics hardware (e.g. Creator) where you don't want to
provide direct access to the frame buffer, but do everything through the
acceleration engine, just set smem_start and smem_len both to 0.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li...
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
|
|
From: Miles L. <mil...@at...> - 2002-12-13 07:19:13
|
On Friday, December 13, 2002, at 01:34 AM, Antonino Daplas wrote: > How extensive is the color problem? Does it just affect the logo, or > everything? Also, is the color problem present in both hardware and > software mode (just do fbset -accel true/false to find out)? Is the > vertical mirroring as reported by Miles still present? How about bpp16 > or bpp32? I have had mixed results with 2.5.51 (vanilla). I have booted once where I didn't see the mirroring. I have not had a chance to test your patch. Hopefully I'll have time tomorrow. Sorry for the delay. Miles |
|
From: Antonino D. <ad...@po...> - 2002-12-13 06:40:11
|
On Fri, 2002-12-13 at 10:09, James Simmons wrote: > > > Can you test the attached patch (rivafb1.diff)? It fixes some things: > > I tested the patch. The colors are still messed up :-( I'm running at 8 > bpp mode. I applied the patch since it fixed some important things. > I also add support and more functionality. I still have some to go. > I'm confused too :-(. If I'm going to expect color problems, it's not at bpp8 since you don't really do anything except write to the DAC. And the fact that the driver works perfectly for the Riva128 (nvidia's first chipset) makes me wonder even more. Currently, I'm running everything with the riva128, directfb, xfbdev, even the xgamma utility works, flawlessly. The only thing I can think of that we're doing differently from the 2.4 driver is the save_vga() part in rivafb_open. Perhaps touching the vga registers somehow confuses the hardware. Unlikely, but maybe worth a try. How extensive is the color problem? Does it just affect the logo, or everything? Also, is the color problem present in both hardware and software mode (just do fbset -accel true/false to find out)? Is the vertical mirroring as reported by Miles still present? How about bpp16 or bpp32? How I would love to debug that, but I don't have the hardware :-( Tony |
|
From: Ariel <as...@ds...> - 2002-12-13 06:13:40
|
Kernel 2.5.51. I tried copying the fbcon*.h files from 2.2.19 kernel, but that didn't help much. Clip from .config: # Graphics support CONFIG_FB=y CONFIG_VIDEO_SELECT=y CONFIG_FB_MATROX=y CONFIG_FB_MATROX_G100A=y CONFIG_FB_MATROX_G100=y CONFIG_FB_MATROX_I2C=y CONFIG_FB_MATROX_MAVEN=y (I also have I2C on.) Output of make: make -f scripts/Makefile.build obj=drivers/video/matrox gcc -Wp,-MD,drivers/video/matrox/.matroxfb_base.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iarch/i386/mach-generic -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=matroxfb_base -DKBUILD_MODNAME=matroxfb_base -DEXPORT_SYMTAB -c -o drivers/video/matrox/matroxfb_base.o drivers/video/matrox/matroxfb_base.c In file included from drivers/video/matrox/matroxfb_base.c:105: drivers/video/matrox/matroxfb_base.h:52: video/fbcon.h: No such file or directory drivers/video/matrox/matroxfb_base.h:53: video/fbcon-cfb4.h: No such file or directory drivers/video/matrox/matroxfb_base.h:54: video/fbcon-cfb8.h: No such file or directory drivers/video/matrox/matroxfb_base.h:55: video/fbcon-cfb16.h: No such file or directory drivers/video/matrox/matroxfb_base.h:56: video/fbcon-cfb24.h: No such file or directory drivers/video/matrox/matroxfb_base.h:57: video/fbcon-cfb32.h: No such file or directory In file included from drivers/video/matrox/matroxfb_base.c:105: drivers/video/matrox/matroxfb_base.h:341: warning: `struct display' declared inside parameter list drivers/video/matrox/matroxfb_base.h:341: warning: its scope is only this definition or declaration, which is probably not what you want. drivers/video/matrox/matroxfb_base.h:342: warning: `struct display' declared inside parameter list drivers/video/matrox/matroxfb_base.h:558: field `dispsw' has incomplete type drivers/video/matrox/matroxfb_base.c:148: warning: braces around scalar initializer drivers/video/matrox/matroxfb_base.c:148: warning: (near initialization for `vesafb_defined.rotate') drivers/video/matrox/matroxfb_base.c:148: warning: excess elements in scalar initializer drivers/video/matrox/matroxfb_base.c:148: warning: (near initialization for `vesafb_defined.rotate') drivers/video/matrox/matroxfb_base.c:148: warning: excess elements in scalar initializer drivers/video/matrox/matroxfb_base.c:148: warning: (near initialization for `vesafb_defined.rotate') drivers/video/matrox/matroxfb_base.c:148: warning: excess elements in scalar initializer drivers/video/matrox/matroxfb_base.c:148: warning: (near initialization for `vesafb_defined.rotate') drivers/video/matrox/matroxfb_base.c:148: warning: excess elements in scalar initializer drivers/video/matrox/matroxfb_base.c:148: warning: (near initialization for `vesafb_defined.rotate') drivers/video/matrox/matroxfb_base.c:148: warning: excess elements in scalar initializer drivers/video/matrox/matroxfb_base.c:148: warning: (near initialization for `vesafb_defined.rotate') drivers/video/matrox/matroxfb_base.c: In function `my_install_cmap': drivers/video/matrox/matroxfb_base.c:158: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c: In function `matrox_pan_var': drivers/video/matrox/matroxfb_base.c:186: warning: implicit declaration of function `fontheight' drivers/video/matrox/matroxfb_base.c:186: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:186: warning: implicit declaration of function `fontwidth' drivers/video/matrox/matroxfb_base.c:169: warning: `pos' might be used uninitialized in this function drivers/video/matrox/matroxfb_base.c: In function `matroxfb_pan_display': drivers/video/matrox/matroxfb_base.c:279: `fb_display' undeclared (first use in this function) drivers/video/matrox/matroxfb_base.c:279: (Each undeclared identifier is reported only once drivers/video/matrox/matroxfb_base.c:279: for each function it appears in.) drivers/video/matrox/matroxfb_base.c: In function `matroxfb_updatevar': drivers/video/matrox/matroxfb_base.c:303: `fb_display' undeclared (first use in this function) drivers/video/matrox/matroxfb_base.c: In function `matroxfb_set_var': drivers/video/matrox/matroxfb_base.c:688: `fb_display' undeclared (first use in this function) drivers/video/matrox/matroxfb_base.c:690: structure has no member named `disp' drivers/video/matrox/matroxfb_base.c:700: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:701: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:702: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:703: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:704: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:705: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:706: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:707: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:711: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:721: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:725: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:728: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:729: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:735: structure has no member named `changevar' drivers/video/matrox/matroxfb_base.c:736: structure has no member named `changevar' drivers/video/matrox/matroxfb_base.c:802: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:678: warning: `display' might be used uninitialized in this function drivers/video/matrox/matroxfb_base.c:738: warning: `pos' might be used uninitialized in this function drivers/video/matrox/matroxfb_base.c: In function `matroxfb_get_cmap': drivers/video/matrox/matroxfb_base.c:866: structure has no member named `disp' drivers/video/matrox/matroxfb_base.c:867: `fb_display' undeclared (first use in this function) drivers/video/matrox/matroxfb_base.c:876: warning: implicit declaration of function `fb_get_cmap' drivers/video/matrox/matroxfb_base.c:877: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:878: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:880: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c: In function `matroxfb_set_cmap': drivers/video/matrox/matroxfb_base.c:890: structure has no member named `disp' drivers/video/matrox/matroxfb_base.c:890: `fb_display' undeclared (first use in this function) drivers/video/matrox/matroxfb_base.c:899: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:900: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:903: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:910: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c: In function `matroxfb_ioctl': drivers/video/matrox/matroxfb_base.c:1009: structure has no member named `switch_con' drivers/video/matrox/matroxfb_base.c: At top level: drivers/video/matrox/matroxfb_base.c:1188: unknown field `fb_set_var' specified in initializer drivers/video/matrox/matroxfb_base.c:1188: warning: initialization from incompatible pointer type drivers/video/matrox/matroxfb_base.c:1189: unknown field `fb_get_cmap' specified in initializer drivers/video/matrox/matroxfb_base.c:1189: warning: initialization from incompatible pointer type drivers/video/matrox/matroxfb_base.c:1190: unknown field `fb_set_cmap' specified in initializer drivers/video/matrox/matroxfb_base.c:1190: warning: initialization from incompatible pointer type drivers/video/matrox/matroxfb_base.c:1192: warning: initialization from incompatible pointer type drivers/video/matrox/matroxfb_base.c:1194: warning: initialization from incompatible pointer type drivers/video/matrox/matroxfb_base.c: In function `matroxfb_switch': drivers/video/matrox/matroxfb_base.c:1207: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:1222: structure has no member named `disp' drivers/video/matrox/matroxfb_base.c:1224: `fb_display' undeclared (first use in this function) drivers/video/matrox/matroxfb_base.c:1226: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:1235: derefe member named `changevar' drivers/video/matrox/matroxfb_base.c:1757: structure has no member named `disp' drivers/video/matrox/matroxfb_base.c:1758: structure has no member named `switch_con' drivers/video/matrox/matroxfb_base.c:1759: structure has no member named `updatevar' drivers/video/matrox/matroxfb_base.c:1875: structure has no member named `modename' drivers/video/matrox/matroxfb_base.c: In function `matroxfb_probe': drivers/video/matrox/matroxfb_base.c:1986: storage size of `global_disp' isn't known drivers/video/matrox/matroxfb_base.c:2028: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:2028: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:2028: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:2028: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:2028: dereferencing pointer to incomplete type drivers/video/matrox/matroxfb_base.c:2028: dereferencing pointer to incomplete type driver might be used uninitialized in this function make[3]: *** [drivers/video/matrox/matroxfb_base.o] Error 1 make[2]: *** [drivers/video/matrox] Error 2 make[1]: *** [drivers/video] Error 2 make: *** [drivers] Error 2 root@blueberry:/usr/src/linux-2.5.51# -Ariel |
|
From: James S. <jsi...@in...> - 2002-12-13 05:10:44
|
> Can you test the attached patch (rivafb1.diff)? It fixes some things: I tested the patch. The colors are still messed up :-( I'm running at 8 bpp mode. I applied the patch since it fixed some important things. I also add support and more functionality. I still have some to go. |
|
From: James S. <jsi...@in...> - 2002-12-13 05:08:08
|
All the patches have been applied :-) |