Linux MIPS Architecture development
 help / color / mirror / Atom feed
* help on matroxfb
@ 2001-08-29 22:25 Fuxin Zhang
  2001-08-30 13:58 ` Dan Aizenstros
  0 siblings, 1 reply; 3+ messages in thread
From: Fuxin Zhang @ 2001-08-29 22:25 UTC (permalink / raw)
  To: vandrove@vc.cvut.cz; +Cc: linux-mips@oss.sgi.com

[-- Attachment #1: Type: text/plain, Size: 2237 bytes --]

hello,

    I have touble to make matroxfb work,could you be so kind to help me out? 

    My configuration:
     Algorithmics P6032 evaluation board + idt64474 mipsel CPU
       (with pci slot,no AGP)
     Millennium G450 (PCI),16M DDR mem,Dual head.
     linux kernel 2.4.2 from hardhat (www.mvista.com) with some 
       code by me to port it to p6032
      (BTW,I just can't find where the often-mentioned sgi cvs
       tree is,the one listed in FAQ seems not work for me,so i 
       have to use hardhat kernel,if possible,I am willing to
       contribute to linux-mips:)
    
    symptom:
     1. The card is detected as a G450 (AGP) 
     2. memory cannot be autodetected. getmemory exit with realSize=0
     3. if i set video.len mannually to 0x1000000(16M),then all seems
         to work,but the screen shows only some regular vertical lines
         and a real BIG cursor(about 2cm x 2cm!). There is about 
         0.5cm between two vertical lines.
     4. I can use fbset to change fb modes,and the screen do react to
         changes,but only with slightly different lines or blank sc.
     5. I can input with a keyboard,the big cursor moves as expected
        just no text is output.
    
    tweaks I have tried:
      1. Update matroxfb to the one in 2.4.9-ac2,it doesn't help
      2. try all kind of options: novga,nobios,noaccel,nohwcursor etc
         but nothing seems to really help(with nohwcursor,the big
         cursor disappears)(of course,I may have left out the 
         correct combination:,it is impossible to try all)
      
    One thing that may be useful is that pci initialization may have 
   problems because my firmware (pmon from algor) has some bugs which 
   prevent it from recognize and initialize the matrox card correctly.
   ( e.g. There is a type error in type1 configuration access code so
     it can't initialize devices behind pci-pci bridge)
   I fixed part of it but not sure enough is done.So i attached an
   output of "lspci -vv" for your reference.

     The other attachment is boot time messages.I switch on most of
   the matroxfb debug option so it contains many related info.
  
   Thank you in advance.


Regards
            Fuxin Zhang
            fxzhang@ict.ac.cn

[-- Attachment #2: lspci --]
[-- Type: application/octet-stream, Size: 3801 bytes --]

00:0e.0 PCI bridge: Hint Corp: Unknown device 0021 (rev 12) (prog-if 00 [Normal decode])
	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: 200, cache line size 08
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00000000-00000fff
	Memory behind bridge: 00000000-09ffffff
	Prefetchable memory behind bridge: 0000000000000000-0000000000000000
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
	Capabilities: [80] 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-
	Capabilities: [90] #06 [0000]
	Capabilities: [a0] Vital Product Data

00:10.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE] (rev 44)
	Subsystem: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE]
	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: 200 (6000ns min, 6000ns max)
	Interrupt: pin A routed to IRQ 43
	Region 0: I/O ports at fffe0 [size=32]
	Region 1: Memory at 0befffe0 (32-bit, non-prefetchable) [size=32]
	Expansion ROM at 0bf00000 [size=1M]
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-

00:11.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
	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: 0

00:11.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master])
	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: 192
	Interrupt: pin ? routed to IRQ 14
	Region 4: I/O ports at ff10

00:11.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
	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: 192
	Interrupt: pin D routed to IRQ 0
	Region 4: I/O ports at <unassigned> [size=32]

00:11.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
	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-

01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 82) (prog-if 00 [VGA])
	Subsystem: Matrox Graphics, Inc.: Unknown device 0d41
	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: 128 (4000ns min, 8000ns max), cache line size 08
	Interrupt: pin A routed to IRQ 255
	Region 0: Memory at 08000000 (32-bit, prefetchable) [size=32M]
	Region 1: Memory at 077dc000 (32-bit, non-prefetchable) [size=16K]
	Region 2: Memory at 07800000 (32-bit, non-prefetchable) [size=8M]
	Expansion ROM at 077e0000 [size=128K]
	Capabilities: [dc] 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-
	Capabilities: [f0] AGP version 2.0
		Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
		Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>


[-- Attachment #3: log.txt --]
[-- Type: application/octet-stream, Size: 7998 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread
* Re: help on matroxfb
@ 2001-08-30  0:41 Petr Vandrovec
  0 siblings, 0 replies; 3+ messages in thread
From: Petr Vandrovec @ 2001-08-30  0:41 UTC (permalink / raw)
  To: Fuxin Zhang; +Cc: linux-mips@oss.sgi.com

[I'm not on linux-mips, so cc me if needed]

On 30 Aug 01 at 6:25, Fuxin Zhang wrote:
>     I have touble to make matroxfb work,could you be so kind to help me out? 
> 
>     My configuration:
>      Algorithmics P6032 evaluation board + idt64474 mipsel CPU
>        (with pci slot,no AGP)
>      Millennium G450 (PCI),16M DDR mem,Dual head.

>      2. memory cannot be autodetected. getmemory exit with realSize=0
>      3. if i set video.len mannually to 0x1000000(16M),then all seems
>          to work,but the screen shows only some regular vertical lines
>          and a real BIG cursor(about 2cm x 2cm!). There is about 
>          0.5cm between two vertical lines.

Unfortunately, you are out of luck, matroxfb can initialize only
old Millenniums/Mysqtiques and G200 from scratch. If you have some 
PC around, you can try either reading PCI registers from initialized
hardware, and set them by this during initialization in G100_preinit.
You must also initialize G450->video memory interface, and as this inteface
differs from G400, and G450 datasheet is still unavailable, it
can be tricky.

You can try contacting 'hollis@austin.ibm.com' (I hope that he wont mind),
he asked about 3 weeks ago same question, but for their PPC hardware.
So maybe that he already has some initialization code ready.

>       2. try all kind of options: novga,nobios,noaccel,nohwcursor etc
>          but nothing seems to really help(with nohwcursor,the big
>          cursor disappears)(of course,I may have left out the 
>          correct combination:,it is impossible to try all)

You can try 'init' together with different 'memtype' values.

>     One thing that may be useful is that pci initialization may have 
>    problems because my firmware (pmon from algor) has some bugs which 
>    prevent it from recognize and initialize the matrox card correctly.

It is not enough. You must also execute x86 initialization code to
bring chip to live, otherwise couple of parts of chip are powered
off (second head...), and uninitialized (memory interface, AGP), and
matroxfb does not care because of these init sequences and values are
undocumented (and on PC it requires two videocards in the box, and it
is currently impossible for me as all 6 PCI/AGP slots are used in my
testbox).

I'm currently (and will for at least several next weeks) overloaded
with work I'm doing for my employer, so I cannot reverse engineer this
myself.
                                                    Petr Vandrovec
                                                    vandrove@vc.cvut.cz

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-08-30 13:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-08-29 22:25 help on matroxfb Fuxin Zhang
2001-08-30 13:58 ` Dan Aizenstros
  -- strict thread matches above, loose matches on Subject: below --
2001-08-30  0:41 Petr Vandrovec

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox