On Sun, Sep 13, 2015 at 2:57 PM, Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> wrote: > Hello, > I have a PC Chips A31G board with AGPro slot and found that nouveau does not > work properly with it. Console works but reverts to software mode, X11 hangs > with mouse cursor only. > > The slot is physically AGP 1.5V but is wired to PCI bus as the chipset (SiS > 761) does not support AGP cards. To further complicate things, the chipset has > AGP capability - but only for the integrated video. You can see that in the > lspci output below - the AGP card is on bus 0 and SiS card on bus 1 (AGP bus > behind the AGP bridge). The SiS card is not used (can be disabled in BIOS but > it does not improve things - as the AGP capability of the host bridge remains > active). > > As seen in dmesg below, kernel tries to set AGP 8x mode for all AGP devices, > including the AGP 4x TNT2 card which is not even connected to the AGP bridge. > > Setting nouveau.agpmode=0 makes it work but how can we make this case work > automatically? > > Radeon driver does some "ring test" and if it fails, it disables AGP mode and > retries. That seems to work a bit (with R7000 but not with R7200). You can boot with radeon.agpmode=-1 to force pci mode. Alex > > But I think that we shouldn't even touch the AGP registers of other devices > in this case as it might break the integrated video. > But how can we know that the card is connected to the AGP bus? There does not > seem to be a reliable way... > > dmesg: > [ 22.015411] nouveau [ DEVICE][0000:00:05.0] BOOT0 : 0x20154000 > [ 22.015473] nouveau [ DEVICE][0000:00:05.0] Chipset: NV05 (NV05) > [ 22.015527] nouveau [ DEVICE][0000:00:05.0] Family : NV04 > [ 22.041131] nouveau [ VBIOS][0000:00:05.0] using image from PRAMIN > [ 22.041194] nouveau [ VBIOS][0000:00:05.0] BMP version 5.6 > [ 22.041382] nouveau [ VBIOS][0000:00:05.0] version 02.05.20.02.00 > [ 22.041561] nouveau W[ VBIOS][0000:00:05.0] DCB table not found > [ 22.041867] nouveau W[ VBIOS][0000:00:05.0] DCB table not found > [ 22.042079] nouveau W[ VBIOS][0000:00:05.0] DCB table not found > [ 22.042133] nouveau W[ VBIOS][0000:00:05.0] DCB table not found > [ 22.042245] nouveau W[ PTIMER][0000:00:05.0] unknown input clock freq > [ 22.042306] nouveau [ PFB][0000:00:05.0] RAM type: SDRAM > [ 22.042360] nouveau [ PFB][0000:00:05.0] RAM size: 32 MiB > [ 22.042413] nouveau [ PFB][0000:00:05.0] ZCOMP: 0 tags > [ 22.047063] nouveau [ CLK][0000:00:05.0] --: > [ 22.047137] nouveau W[ VBIOS][0000:00:05.0] DCB table not found > [ 22.047220] agpgart-amd64 0000:00:00.0: AGP 3.0 bridge > [ 22.047281] agpgart: systemd-udevd tried to set rate=x12. Setting to AGP3 x8 mode. > [ 22.047348] agpgart-amd64 0000:00:00.0: putting AGP V3 device into 8x mode > [ 22.047425] nouveau 0000:00:05.0: putting AGP V3 device into 8x mode > [ 22.047503] pci 0000:01:00.0: putting AGP V3 device into 8x mode > [ 22.047632] [TTM] Zone kernel: Available graphics memory: 239112 kiB > [ 22.047685] [TTM] Initializing pool allocator > [ 22.047744] [TTM] Initializing DMA pool allocator > [ 22.047814] nouveau [ DRM] VRAM: 31 MiB > [ 22.047865] nouveau [ DRM] GART: 64 MiB > [ 22.047918] nouveau [ DRM] BMP version 5.6 > [ 22.047971] nouveau W[ DRM] No DCB data found in VBIOS > [ 22.051250] nouveau [ DRM] Saving VGA fonts > [ 22.099912] nouveau W[ DRM] No DCB data found in VBIOS > [ 22.101006] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). > [ 22.101061] [drm] Driver supports precise vblank timestamp query. > [ 22.102645] nouveau [ DRM] MM: using M2MF for buffer copies > [ 22.133344] nouveau [ DRM] allocated 1280x1024 fb: 0x4000, bo db2d6c00 > [ 22.133545] fbcon: nouveaufb (fb0) is primary device > [ 22.369387] nouveau E[ DRM] GPU lockup - switching to software fbcon > [ 22.378443] Console: switching to colour frame buffer device 160x64 > [ 22.395704] nouveau 0000:00:05.0: fb0: nouveaufb frame buffer device > [ 22.395808] nouveau 0000:00:05.0: registered panic notifier > [ 22.396783] [drm] Initialized nouveau 1.2.2 20120801 for 0000:00:05.0 on minor 0 > > lspci -vvnn: > 00:00.0 Host bridge [0600]: Silicon Integrated Systems [SiS] 761/M761 Host [1039:0761] (rev 01) > Subsystem: Elitegroup Computer Systems Device [1019:0131] > 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: 32 > Region 0: Memory at f0000000 (32-bit, non-prefetchable) [size=64M] > Capabilities: [a0] AGP version 3.0 > Status: RQ=32 Iso- ArqSz=2 Cal=3 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3+ Rate=x4,x8 > Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8 > Capabilities: [d0] HyperTransport: Slave or Primary Interface > Command: BaseUnitID=0 UnitCnt=17 MastHost- DefDir- DUL- > Link Control 0: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0 IsocEn- LSEn- ExtCTL- 64b- > Link Config 0: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn- > Link Control 1: CFlE- CST- CFE- <LkFail+ Init- EOC+ TXO+ <CRCErr=0 IsocEn- LSEn- ExtCTL- 64b- > Link Config 1: MLWI=N/C DwFcIn- MLWO=N/C DwFcOut- LWI=N/C DwFcInEn- LWO=N/C DwFcOutEn- > Revision ID: 1.05 > Link Frequency 0: 800MHz > Link Error 0: <Prot- <Ovfl- <EOC- CTLTm- > Link Frequency Capability 0: 200MHz+ 300MHz- 400MHz+ 500MHz- 600MHz- 800MHz+ 1.0GHz+ 1.2GHz- 1.4GHz- 1.6GHz- Vend- > Feature Capability: IsocFC- LDTSTOP+ CRCTM- ECTLT- 64bA+ UIDRD- > Link Frequency 1: 200MHz > Link Error 1: <Prot- <Ovfl- <EOC- CTLTm- > Link Frequency Capability 1: 200MHz- 300MHz- 400MHz- 500MHz- 600MHz- 800MHz- 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend- > Error Handling: PFlE- OFlE- PFE- OFE- EOCFE- RFE- CRCFE- SERRFE- CF- RE- PNFE- ONFE- EOCNFE- RNFE- CRCNFE- SERRNFE- > Prefetchable memory behind bridge Upper: 00-00 > Bus Number: 00 > Capabilities: [f0] HyperTransport: Interrupt Discovery and Configuration > Capabilities: [5c] HyperTransport: Revision ID: 1.05 > Kernel driver in use: agpgart-amd64 > > 00:01.0 PCI bridge [0604]: Silicon Integrated Systems [SiS] AGP Port (virtual PCI-to-PCI bridge) [1039:0002] (prog-if 00 [Normal decode]) > 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: 64 > Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 > I/O behind bridge: 0000e000-0000efff > Memory behind bridge: feb00000-febfffff > Prefetchable memory behind bridge: d8000000-dfffffff > Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR- > BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B- > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > Capabilities: [a4] HyperTransport: UnitID Clumping > ... > 00:05.0 VGA compatible controller [0300]: NVIDIA Corporation NV5 [Riva TNT2 Model 64 / Model 64 Pro] [10de:002d] (rev 15) (prog-if 00 [VGA controller]) > 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: 64 (1250ns min, 250ns max) > Interrupt: pin A routed to IRQ 16 > Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M] > Region 1: Memory at d6000000 (32-bit, prefetchable) [size=32M] > Expansion ROM at feae0000 [disabled] [size=64K] > Capabilities: [60] 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: [44] AGP version 2.0 > Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4 > Command: RQ=32 ArqSz=0 Cal=0 SBA- AGP+ GART64- 64bit- FW- Rate=x2 > Kernel driver in use: nouveau > ... > 01:00.0 VGA compatible controller [0300]: Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter [1039:6330] (rev 03) (prog-if 00 [VGA controller]) > Subsystem: Silicon Integrated Systems [SiS] [M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter [1039:6330] > 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- > Interrupt: pin A routed to IRQ 10 > BIST result: 00 > Region 0: Memory at d8000000 (32-bit, prefetchable) [disabled] [size=128M] > Region 1: Memory at febe0000 (32-bit, non-prefetchable) [disabled] [size=128K] > Region 2: I/O ports at e800 [disabled] [size=128] > Capabilities: [40] Power Management version 2 > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > Capabilities: [50] AGP version 3.0 > Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3+ Rate=x4,x8 > Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8 > > -- > Ondrej Zary > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel