[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20061109193153.a9709912.akpm@osdl.org>
Date: Thu, 9 Nov 2006 19:31:53 -0800
From: Andrew Morton <akpm@...l.org>
To: Ed Tomlinson <edt@....ca>
Cc: linux-kernel@...r.kernel.org
Subject: Re: 2.6.19-rc5-mm1
On Thu, 9 Nov 2006 22:21:49 -0500
Ed Tomlinson <edt@....ca> wrote:
> On Wednesday 08 November 2006 04:54, Andrew Morton wrote:
> > -radeonfb-support-24bpp-32bpp-minus-alpha.patch
> >
> > Dropped
> >
> > +various-fbdev-files-mark-structs-fix.patch
> >
> > Fix various-fbdev-files-mark-structs.patch
> >
> > +fbcon-rere-fix-little-endian-bogosity-in-slow_imageblit.patch
> >
> > fbdev fix
>
> Strongly suspect that something is not right with these patches. I have a:
>
> 01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200] (rev 01) (prog-if 00 [VGA])
> Subsystem: ATI Technologies Inc Unknown device 2002
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (2000ns min), Cache Line Size 08
> Interrupt: pin A routed to IRQ 16
> Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
> Region 1: I/O ports at 8000 [size=256]
> Region 2: Memory at e9010000 (32-bit, non-prefetchable) [size=64K]
> [virtual] Expansion ROM at e8000000 [disabled] [size=128K]
> Capabilities: [58] AGP version 3.0
> Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
> Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8
> Capabilities: [50] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> booting with:
>
> kernel /boot/2.6.19-rc5-mm1 root=/dev/sda3 vga=0x318 video=vesafb:ywrap,mtrr:3 console=tty0 console=ttyS0,38400 nmi_watchdog=1
>
> gives a strangely corrupted screen. The characters seem reversed...
>
Yup, thanks. You'll need to revert
fbcon-rere-fix-little-endian-bogosity-in-slow_imageblit.patch:'
diff -puN drivers/video/cfbimgblt.c~revert-fbcon-rere-fix-little-endian-bogosity-in-slow_imageblit drivers/video/cfbimgblt.c
--- a/drivers/video/cfbimgblt.c~revert-fbcon-rere-fix-little-endian-bogosity-in-slow_imageblit
+++ a/drivers/video/cfbimgblt.c
@@ -168,7 +168,7 @@ static inline void slow_imageblit(const
while (j--) {
l--;
- color = (*s & (1 << FB_BIT_NR(l))) ? fgcolor : bgcolor;
+ color = (*s & (1 << l)) ? fgcolor : bgcolor;
val |= FB_SHIFT_HIGH(color, shift);
/* Did the bitshift spill bits to the next long? */
@@ -258,7 +258,7 @@ static inline void fast_imageblit(const
s += spitch;
}
}
-
+
void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
{
u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0;
diff -puN include/linux/fb.h~revert-fbcon-rere-fix-little-endian-bogosity-in-slow_imageblit include/linux/fb.h
--- a/include/linux/fb.h~revert-fbcon-rere-fix-little-endian-bogosity-in-slow_imageblit
+++ a/include/linux/fb.h
@@ -854,12 +854,10 @@ struct fb_info {
#endif
#if defined (__BIG_ENDIAN)
-#define FB_BIT_NR(b) (b)
#define FB_LEFT_POS(bpp) (32 - bpp)
#define FB_SHIFT_HIGH(val, bits) ((val) >> (bits))
#define FB_SHIFT_LOW(val, bits) ((val) << (bits))
#else
-#define FB_BIT_NR(b) (7 - (b))
#define FB_LEFT_POS(bpp) (0)
#define FB_SHIFT_HIGH(val, bits) ((val) << (bits))
#define FB_SHIFT_LOW(val, bits) ((val) >> (bits))
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists