Subject: help on linux-mipsel frame buffer

From: Fuxin Zhang <[email-masked]>
Date: Thu, 19 Jul 2001 21:41:5 +0800

hello,linux-mips gurus
   Recently I am trying to make frame buffer work on my P6032 board
(from Algorithmics).I have a cirrus logic 5430,a RIVA TNT2 and a
Trident 3dImage9750 on hand.The linux kernel I am using is 2.2.14
(  mipsel 1.05? modified by Algorithmics. 
   BTW,could someone tell me how to access the mips tree and 
   what the version scheme for mipsel? I read the mips-howto.
   but although i can login to the cvs server of oss.sgi.com
   i could not find out where is the kernel. "cvs get linux"
   responded with "cannot find module 'linux'"
   I am new to mips world.
) 
and the distribution is Hardhat downloaded from oss.sgi.com
  First I try the vga16 frame buffer driver,but i can only get
some black/white strips on the screen.(after made some changes 
to the source,most important one is use pci to find and set the
vbase address). I can use tty driver,because I can switch consoles
using alt-f? on the keyboard attached to the board and even login 
and reboot the machine: just no readable display.
  Then I try to use vesa driver. This one use some vgabios code 
I commented out the x86 relevant codes and made it compiled,(again
use pci_find_device to find video memory address,and tweak the make
file to force vgacon use vesa driver). But the result is a blank 
screen.The fb driver is certainly on: I can copy to/from /dev/fb0.
but with no visual effect.
  Finally I back port the Riva TNT frame buffer code to 2.2,the result
is the same as the vesa driver.

  I suspect that the pci memory map is somewhat broken,but I checked
the source code and the bonito(P6032 north bridge) manual and found 
no obvious flaw.

  Where could i be wrong?Is there anybody has some experience with
frame buffer for mips?

  Any help will be great appreciated.

Regards
            Fuxin Zhang
            [email-masked]

---

From: James Simmons <[email-masked]>
Date: Tue, 17 Jul 2001 17:01:05 -0700 (PDT)

> vbase address). 

It is hardwired into the vga16fb driver the memory region (0xA000). This
is very wrong on non intel platforms. So that drivers pretty much doesn't
work on anything else.

> I commented out the x86 relevant codes and made it compiled,

The VESA framebuffer is also intel specific. It uses the BIOS to setup the
video mode. This is done long before the cpu is placed into protect mode.

> is the same as the vesa driver.

Hum. Try a cat /dev/urandom > /dev/fb0. If you don't see anything then the
virtual memory address of the framebuffer is wrong. It could be that the
physical address is wrong (smem_start). Go to the fbdev website
(http://www.linux-fbdev.org) and download a tool called fbtest and give it
a try.

---

From: Geert Uytterhoeven <[email-masked]>
Date: Wed, 18 Jul 2001 09:18:10 +0200 (MEST)

> is very wrong on non intel platforms. So that drivers pretty much doesn't

Does your firmware initialize the VGA card to VGA text mode? Vga16fb requires
this initialization, which is normally done by the VGA BIOS. An x86
BIOS-emulator may be your friend.

> video mode. This is done long before the cpu is placed into protect mode.

Similar issue here.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven ------------- Sony Software Development Center Europe (SDCE)
[email-masked] ------------------- Sint-Stevens-Woluwestraat 55
Voice +32-2-7248626 Fax +32-2-7262686 ---------------- B-1130 Brussels, Belgium