Thread (1 message) 1 message, 1 author, 1999-08-03

Re: Patches for endianess problems in atyfb (fwd)

From: Geert Uytterhoeven <hidden>
Date: 1999-08-03 13:52:38

On Sat, 31 Jul 1999, Wulf Hofbauer wrote:
quoted hunk
I've found a fix that cures endianness problems with the ATI264VT
framebuffer consoles. I don't really understand why, and I'm not sure
if it affects the X server (XF68_FBDev doesn't work correctly with or
without the patch).

Ok, so here's what I changed:
--- atyfb.c.orig        Wed Jul 21 00:04:40 1999
+++ atyfb.c     Sat Jul 31 21:45:51 1999
@@ -1740,7 +1740,7 @@
                                        
     } else {
        aty_set_pll_ct(info, &par->pll.ct);
-       i = aty_ld_le32(MEM_CNTL, info) & 0xf30fffff;
+       i = aty_ld_le32(MEM_CNTL, info) & 0xf00fffff;
        if (!(Gx == VT_CHIP_ID && (Rev == 0x40 || Rev == 0x48)))
            i |= info->mem_refresh_rate << 20;
        switch (par->crtc.bpp) {
This still seems strange to me, and I suspect there is some confusion
concerning byte swapping. Somehow I suspect the raw FB driver enables
byte swapping, and drivers set on top of the framebuffer do the same again -
but that's only gut feeling.

Comments?
These 2 bits specify the byte swapping mode for the upper aperture:

   00 = Little endian: (no swapping)
   01 = Big endian: 16 bpp swapping
   10 = Big endian: 32 bpp swapping
   11 = (reserved)

So to me, it does seem correct to clear them to zero, before or'ing with the
correct value later.

Does this cure the problems on other machines with a Mach64 VT? Here I mainly
mean PowerMacs and UltraSPARC boxes.

Greetings,

						Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium


[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting.   ]]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help