Subject: L68K: mach64fb for 2.1.47
From: "Bernd Harries" <[email-masked]>
To: [email-masked]
Cc: "Bernd Harries" <[email-masked]>
Date: Sun, 17 Aug 1997 20:12:21 +0200 (MET DST)

Hi!

If you have Geerts FB patches applied, you might like this if you have a
Mach64.

It's a .tgz and a .diff, all collected in a big .tgz file. Extract
mach64.tgz in /usr/src/linux-2.1.47/ and then apply the .diff.

You have to do a 'make config'. 2 New config questions have been added.

I should add one thing:
The driver assumes that the 0xnn0BFC00 GUI registers are relative below
the IO base address 0xnn100000 specified on the command line. If this is
not the case on Computers other than Medusa, please let me know! With GFA
basic it should be possible to find the GUI regs. We might then have to
add another parameter.

Register dumps at boot can be enabled in mach64fb.c by changing the 

#define _NOT_DUMP_...    lines to

#define _DUMP_...

With these patches it is possible to use the normal atafb:external:
driver instead of the mach64:Mach64: driver.

If a valid video=atafb:external: option is present it is always used as
the 0th fb and thus as console. I use to destroy the option a bit to
disable it. atafb.c is modified so that it doesn't default to STE anymore
and thus not register_framebuffer(). This leaves the fb0 free for other
drivers. 

In the future I would like to have another strategy in fbmem.c which sorts
the register_framebuffer() calls in the same order as the bootargs occur.
Geert has already prepared that. :-) And I have written the mach64fb.c to
be easily switched to an array of mach64 cards, lets say 8.   ;-)

If a valid video=mach64:Mach64: option is present it is always used as   
the next fb. Additionally, the 'accel' argument controlls weather
acceleration is used or the driver registers as being unaccelerated. This
should behave like the normal atafb driver, besides the _fb_init()
function tries to initialize the Ahrdware and might crash if the GUI
registers are not present. In this case destroy the 

video=mach64:Mach64: option to something like

video=ach64:Mach64:

This disables the register_framebuffer()

root=/dev/hda4 ro
video=tafb:external:1280;1024;8;p;0x7f400000;0x003FFC00;0x7f100000;8;vga
video=mach64:Mach64:1280;1024;8;p;0x7f400000;0x00400000;0x7f100000;8;accel
video=vfb:1024;768;8;p;;;;8;vga 
debug debug=ser1

Hexe:/home/bharries/>

Bernd 
--------------------------
Bernd Harries

[email-masked]            +49 421 804 309
[email-masked]        +49 421 804 309
[email-masked]               +49 421 457 3276
[email-masked]

http://www.freeyellow.com/members/bharries

[tar file here is in bernd-mach64fb.tar.gz]