Re: drm/mgag200: Fix big-endian support
Christian Zigotzky <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Organization | A-EON Open Source |
| Message-ID | <[email protected]> |
On 26/08/26 11:06, Thomas Zimmermann wrote: > Hi > > Am 02.08.26 um 20:06 schrieb Christian Zigotzky: >> Hello René, >> >> Many thanks for your patch. [1] >> >> I have bought the PCI graphics card Matrox G200 G2+/QUADP-PL/7 32MB with 4x DVI. It is an AGP card connected via PCI. >> >> We use the new DRM driver MGAG200 since the kernel 7.2.0-rc4 and the old DRM legacy driver for Matrox g200/g400 graphics cards since the stable long-term kernel 5.10.260. >> >> I tested it with the RC5 of kernel 7.2 in my PowerPC machine (e5500) today. Unfortunately, the DRM driver mgag200 can't read the PCI ROM. Maybe only an x86 ROM? >> >> xrandr detects the ports but reports that they are not connected, even though the cables are plugged in. >> >> I also tested it with the stable long-term kernel 5.10.261 with the old legacy DRM drivers for Matrox graphics cards. >> I installed the Xorg MGA server xf86-video-mga-2.0.0_3 for the old legacy DRM driver but unfortunately I get only a black screen. >> >> Is it possible to use this card with PPC Linux? > > Attached is the patch I promised. Please apply it and test it on your machine. Does it make the card work? > > Best regards > Thomas Hello Thomas, Thank you for your patch. Unfortunately the card doesn't work with the patched kernel. dmesg | grep -i mga [ 2.307195] [drm] Initialized mgag200 1.0.0 for 0001:05:00.0 on minor 1 [ 2.308649] mgag200 0001:05:00.0: [drm] Cannot find any crtc or sizes [ 2.309551] mgag200 0001:05:04.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff [ 2.310305] [drm] Initialized mgag200 1.0.0 for 0001:05:04.0 on minor 2 [ 2.312660] mgag200 0001:05:04.0: [drm] Cannot find any crtc or sizes [ 2.313177] mgag200 0001:05:00.0: [drm] Cannot find any crtc or sizes [ 2.313640] mgag200 0001:05:08.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff [ 2.314357] [drm] Initialized mgag200 1.0.0 for 0001:05:08.0 on minor 3 [ 2.317630] mgag200 0001:05:08.0: [drm] Cannot find any crtc or sizes [ 2.318185] mgag200 0001:05:0c.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff [ 2.318840] mgag200 0001:05:04.0: [drm] Cannot find any crtc or sizes [ 2.319345] [drm] Initialized mgag200 1.0.0 for 0001:05:0c.0 on minor 4 [ 2.321014] mgag200 0001:05:0c.0: [drm] Cannot find any crtc or sizes [ 2.322400] mgag200 0001:05:08.0: [drm] Cannot find any crtc or sizes [ 2.327215] mgag200 0001:05:0c.0: [drm] Cannot find any crtc or sizes lspci -vvv 0001:05:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03) (prog-if 00 [VGA controller]) Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at c20000000 (32-bit, prefetchable) [size=16M] Region 1: Memory at c21000000 (32-bit, non-prefetchable) [size=16K] Region 2: Memory at c21800000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at c21010000 [disabled] [size=64K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 1.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none> Kernel driver in use: mgag200 0001:05:04.0 Display controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03) Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at c22000000 (32-bit, prefetchable) [size=16M] Region 1: Memory at c23000000 (32-bit, non-prefetchable) [size=16K] Region 2: Memory at c23800000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at c21020000 [disabled] [size=64K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 1.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none> Kernel driver in use: mgag200 0001:05:08.0 Display controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03) Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at c24000000 (32-bit, prefetchable) [size=16M] Region 1: Memory at c25000000 (32-bit, non-prefetchable) [size=16K] Region 2: Memory at c25800000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at c21030000 [disabled] [size=64K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 1.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none> Kernel driver in use: mgag200 0001:05:0c.0 Display controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03) Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at c26000000 (32-bit, prefetchable) [size=16M] Region 1: Memory at c27000000 (32-bit, non-prefetchable) [size=16K] Region 2: Memory at c27800000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at c21040000 [disabled] [size=64K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 1.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none> Kernel driver in use: mgag200 xrandr VGA-4-4 disconnected (normal left inverted right x axis y axis) VGA-3-3 disconnected (normal left inverted right x axis y axis) VGA-2-2 disconnected (normal left inverted right x axis y axis) VGA-1-1 disconnected (normal left inverted right x axis y axis) lspci -nnk | grep VGA 0001:05:00.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200 AGP [102b:0521] (rev 03) Thanks, Christian -- Sent with BrassMonkey 34.3.2.1 (https://github.com/chzigotzky/Web-Browsers-and-Suites-for-Linux-PPC/releases/tag/BrassMonkey_34.3.2.1)