Partial fix for 2400 16-bit video problem

Timothy A. Seufert tas at mindspring.com
Mon Dec 7 20:52:04 EST 1998


The Problem: In recent kernels, the chipsfb driver for the C&T 65550
chipset has been broken for 16-bit modes.

The Solution: I did some poking around, and discovered some lines related
to turning palettes on and off missing from the 16/8-bit mode switch code
in chipsfb.c.  These were present in 2.1.115 but disappeared somewhere
along the road to 2.1.130.

With the lines restored, the 2/3400 accelerated version of Xpmac works in
16-bit mode again.  I haven't been trying XF68FBDev, so I don't know if it
was ever broken, but I suspect it would be as this shouldn't be specific to
any one X server.

The console is still broken for 16-bit mode, and I have no idea why.
Fortunately, 16-bit color is not a necessity on the console.  For whatever
reason, the fb console driver does not seem to be capable of writing
anything to a chipsfb display; it doesn't even manage to clear the frame
buffer when the switch to 16-bit is made, so you get to see leftover
garbage from when it was 8-bit.

Here is the diff relative to the version of chipsfb.c in the latest vger
kernel that I synced with:

----------cut here-----------
360a361
> 			write_xr(0x82, 0x00);		// disable palettes
381a383
> 			write_xr(0x82, 0x08);		// Graphics gamma
>enable
----------cut here-----------

If your chipsfb.c is different from mine, here is the context:  The first
line should be inserted after the line containing "write_xr(0x81, 0x14)"
and the second line should be inserted after the line containing
"write_xr(0x81, 0x12)".

  Tim Seufert

[[ 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. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request at lists.linuxppc.org ]]




More information about the Linuxppc-dev mailing list