From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752777AbaD0UAj (ORCPT ); Sun, 27 Apr 2014 16:00:39 -0400 Received: from mail-qg0-f44.google.com ([209.85.192.44]:63929 "EHLO mail-qg0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751283AbaD0UAh (ORCPT ); Sun, 27 Apr 2014 16:00:37 -0400 Date: Sun, 27 Apr 2014 15:55:29 -0400 From: Jerome Glisse To: Thomas Schwinge Cc: Bjorn Helgaas , linux-pci@vger.kernel.org, Johannes Weiner , Mel Gorman , Rik van Riel , Andrea Arcangeli , Zlatko Calusic , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= , dri-devel@lists.freedesktop.org Subject: Re: radeon: screen garbled after page allocator change, was: Re: [patch v2 3/3] mm: page_alloc: fair zone allocator policy Message-ID: <20140427195527.GC9315@gmail.com> References: <1375457846-21521-1-git-send-email-hannes@cmpxchg.org> <1375457846-21521-4-git-send-email-hannes@cmpxchg.org> <87r45fajun.fsf@schwinge.name> <20140424133722.GD4107@cmpxchg.org> <20140427033110.GA15091@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20140427033110.GA15091@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 26, 2014 at 11:31:11PM -0400, Jerome Glisse wrote: > On Thu, Apr 24, 2014 at 09:37:22AM -0400, Johannes Weiner wrote: > > Hi Thomas, > > > > On Wed, Apr 02, 2014 at 04:26:08PM +0200, Thomas Schwinge wrote: > > > Hi! > > > > > > On Fri, 2 Aug 2013 11:37:26 -0400, Johannes Weiner wrote: > > > > Each zone that holds userspace pages of one workload must be aged at a > > > > speed proportional to the zone size. [...] > > > > > > > Fix this with a very simple round robin allocator. [...] > > > > > > This patch, adding NR_ALLOC_BATCH, eventually landed in mainline as > > > commit 81c0a2bb515fd4daae8cab64352877480792b515 (2013-09-11). > > > > > > I recently upgraded a Debian testing system from a 3.11 kernel to 3.12, > > > and it started to exhibit "strange" issues, which I then bisected to this > > > patch. I'm not saying that the patch is faulty, as it seems to be > > > working fine for everyone else, so I rather assume that something in a > > > (vastly?) different corner of the kernel (or my hardware?) is broken. > > > ;-) > > > > > > The issue is that when X.org/lightdm starts up, there are "garbled" > > > section on the screen, for example, rectangular boxes that are just black > > > or otherwise "distorted", and/or sets of glyphs (corresponding to a set > > > of characters; but not all characters) are displayed as rectangular gray > > > or black boxes, and/or icons in a GNOME session are not displayed > > > properly, and so on. (Can take a snapshot if that helps?) Switching to > > > a Linux console, I can use that one fine. Switching back to X, in the > > > majority of all cases, the screen will be completely black, but with the > > > mouse cursor still rendered properly (done in hardware, I assume). > > > > > > Reverting commit 81c0a2bb515fd4daae8cab64352877480792b515, for example on > > > top of v3.12, and everything is back to normal. The problem also > > > persists with a v3.14 kernel that I just built. > > > > > > I will try to figure out what's going on, but will gladly take any > > > pointers, or suggestions about how to tackle such a problem. > > > > > > The hardware is a Fujitsu Siemens Esprimo E5600, mainboard D2264-A1, CPU > > > AMD Sempron 3000+. There is a on-board graphics thingy, but I'm not > > > using that; instead I put in a Sapphire Radeon HD 4350 card. > > > > I went over this code change repeatedly but I could not see anything > > directly that would explain it. However, this patch DOES change the > > way allocations are placed (while still respecting zone specifiers > > like __GFP_DMA etc.) and so it's possible that they unearthed a > > corruption, or a wrongly set dma mask in the drivers. > > > > Ccing the radeon driver guys. Full quote follows. > > > > > $ cat < /proc/cpuinfo > > > processor : 0 > > > vendor_id : AuthenticAMD > > > cpu family : 15 > > > model : 47 > > > model name : AMD Sempron(tm) Processor 3000+ > > > stepping : 2 > > > cpu MHz : 1000.000 > > > cache size : 128 KB > > > physical id : 0 > > > siblings : 1 > > > core id : 0 > > > cpu cores : 1 > > > apicid : 0 > > > initial apicid : 0 > > > fpu : yes > > > fpu_exception : yes > > > cpuid level : 1 > > > wp : yes > > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl pni lahf_lm > > > bogomips : 2000.20 > > > TLB size : 1024 4K pages > > > clflush size : 64 > > > cache_alignment : 64 > > > address sizes : 40 bits physical, 48 bits virtual > > > power management: ts fid vid ttp tm stc > > > $ sudo lspci -nn -k -vv > > > 00:00.0 Host bridge [0600]: Silicon Integrated Systems [SiS] 761/M761 Host [1039:0761] (rev 01) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1099] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 > > > Region 0: Memory at f0000000 (32-bit, non-prefetchable) [size=32M] > > > 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= > > > Capabilities: [d0] HyperTransport: Slave or Primary Interface > > > Command: BaseUnitID=0 UnitCnt=17 MastHost- DefDir- DUL- > > > Link Control 0: CFlE- CST- CFE- > > Link Config 0: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn- > > > Link Control 1: CFlE- CST- CFE- > > 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: > > 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: > > 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] PCI-to-PCI bridge [1039:0004] (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=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 > > > I/O behind bridge: 00002000-00002fff > > > Memory behind bridge: f2100000-f21fffff > > > Prefetchable memory behind bridge: e0000000-efffffff > > > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > > BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B- > > > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > > > Capabilities: [d0] Express (v1) Root Port (Slot+), MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0 > > > ExtTag+ RBE- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <2us > > > ClockPM- Surprise- LLActRep+ BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt- > > > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise- > > > Slot #0, PowerLimit 75.000W; Interlock- NoCompl- > > > SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- > > > Control: AttnInd Off, PwrInd Off, Power- Interlock- > > > SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- > > > Changed: MRL- PresDet- LinkState- > > > RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- > > > RootCap: CRSVisible- > > > RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > > Capabilities: [bc] HyperTransport: MSI Mapping Enable- Fixed+ > > > Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit- > > > Address: 00000000 Data: 0000 > > > Capabilities: [f4] 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- > > > Kernel driver in use: pcieport > > > > > > 00:02.0 ISA bridge [0601]: Silicon Integrated Systems [SiS] SiS965 [MuTIOL Media IO] [1039:0965] (rev 48) > > > Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 0 > > > > > > 00:02.5 IDE interface [0101]: Silicon Integrated Systems [SiS] 5513 IDE Controller [1039:5513] (rev 01) (prog-if 80 [Master]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 128 > > > Interrupt: pin ? routed to IRQ 16 > > > Region 0: I/O ports at 01f0 [size=8] > > > Region 1: I/O ports at 03f4 > > > Region 2: I/O ports at 0170 [size=8] > > > Region 3: I/O ports at 0374 > > > Region 4: I/O ports at 1c80 [size=16] > > > Capabilities: [58] 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- > > > Kernel driver in use: pata_sis > > > > > > 00:02.7 Multimedia audio controller [0401]: Silicon Integrated Systems [SiS] SiS7012 AC'97 Sound Controller [1039:7012] (rev a0) > > > Subsystem: Fujitsu Technology Solutions Device [1734:109c] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 173 (13000ns min, 2750ns max) > > > Interrupt: pin C routed to IRQ 18 > > > Region 0: I/O ports at 1400 [size=256] > > > Region 1: I/O ports at 1000 [size=128] > > > Capabilities: [48] Power Management version 2 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Kernel driver in use: snd_intel8x0 > > > > > > 00:03.0 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin A routed to IRQ 20 > > > Region 0: Memory at f2000000 (32-bit, non-prefetchable) [size=4K] > > > Kernel driver in use: ohci-pci > > > > > > 00:03.1 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin B routed to IRQ 21 > > > Region 0: Memory at f2001000 (32-bit, non-prefetchable) [size=4K] > > > Kernel driver in use: ohci-pci > > > > > > 00:03.2 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin C routed to IRQ 22 > > > Region 0: Memory at f2002000 (32-bit, non-prefetchable) [size=4K] > > > Kernel driver in use: ohci-pci > > > > > > 00:03.3 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 2.0 Controller [1039:7002] (prog-if 20 [EHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:1095] > > > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin D routed to IRQ 23 > > > Region 0: Memory at f2003000 (32-bit, non-prefetchable) [size=4K] > > > Capabilities: [50] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Kernel driver in use: ehci-pci > > > > > > 00:05.0 IDE interface [0101]: Silicon Integrated Systems [SiS] 182 SATA/RAID Controller [1039:0182] (rev 01) (prog-if 8f [Master SecP SecO PriP PriO]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:1095] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 > > > Interrupt: pin A routed to IRQ 17 > > > Region 0: I/O ports at 1cb0 [size=8] > > > Region 1: I/O ports at 1ca4 [size=4] > > > Region 2: I/O ports at 1ca8 [size=8] > > > Region 3: I/O ports at 1ca0 [size=4] > > > Region 4: I/O ports at 1c90 [size=16] > > > Region 5: I/O ports at 1c00 [size=128] > > > Capabilities: [58] 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- > > > Kernel driver in use: sata_sis > > > > > > 00:06.0 PCI bridge [0604]: Silicon Integrated Systems [SiS] PCI-to-PCI bridge [1039:000a] (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=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 > > > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > > BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B- > > > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > > > Capabilities: [b0] Subsystem: Silicon Integrated Systems [SiS] Device [1039:0000] > > > Capabilities: [c0] MSI: Enable+ Count=1/1 Maskable- 64bit- > > > Address: fee0100c Data: 4181 > > > Capabilities: [d0] Express (v1) Root Port (Slot+), MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0 > > > ExtTag+ RBE- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <2us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise- > > > Slot #0, PowerLimit 0.000W; Interlock- NoCompl- > > > SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- > > > Control: AttnInd Off, PwrInd Off, Power- Interlock- > > > SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- > > > Changed: MRL- PresDet- LinkState- > > > RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- > > > RootCap: CRSVisible- > > > RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > > Capabilities: [f4] 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: [100 v1] Virtual Channel > > > Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 > > > Arb: Fixed- WRR32- WRR64- WRR128- > > > Ctrl: ArbSelect=Fixed > > > Status: InProgress- > > > VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- > > > Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- > > > Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff > > > Status: NegoPending- InProgress- > > > Capabilities: [130 v1] Advanced Error Reporting > > > UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > > > UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > > > UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- > > > CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- > > > CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- > > > AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn- > > > Kernel driver in use: pcieport > > > > > > 00:09.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8169 PCI Gigabit Ethernet Controller [10ec:8169] (rev 10) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:1091] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (8000ns min, 16000ns max), Cache Line Size: 32 bytes > > > Interrupt: pin A routed to IRQ 19 > > > Region 0: I/O ports at 1800 [size=256] > > > Region 1: Memory at f2004000 (32-bit, non-prefetchable) [size=256] > > > Capabilities: [dc] Power Management version 2 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Kernel driver in use: r8169 > > > > > > 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Capabilities: [80] HyperTransport: Host or Secondary Interface > > > Command: WarmRst+ DblEnd- DevNum=0 ChainSide- HostHide+ Slave- > > Link Control: CFlE- CST- CFE- > > Link Config: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn- > > > Revision ID: 1.02 > > > Link Frequency: 800MHz > > > Link Error: > > Link Frequency Capability: 200MHz+ 300MHz- 400MHz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend- > > > Feature Capability: IsocFC- LDTSTOP+ CRCTM- ECTLT- 64bA- UIDRD- ExtRS- UCnfE- > > > > > > 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > > > > 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Kernel driver in use: amd64_edac > > > > > > 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Kernel driver in use: k8temp > > > > > > 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v] [1002:9553] (prog-if 00 [VGA controller]) > > > Subsystem: PC Partner Limited / Sapphire Technology Device [174b:3092] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Interrupt: pin A routed to IRQ 42 > > > Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M] > > > Region 2: Memory at f2100000 (64-bit, non-prefetchable) [size=64K] > > > Region 4: I/O ports at 2000 [size=256] > > > [virtual] Expansion ROM at f2120000 [disabled] [size=128K] > > > Capabilities: [50] Power Management version 3 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited > > > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported > > > DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled > > > LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis- > > > Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- > > > Compliance De-emphasis: -6dB > > > LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- > > > EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- > > > Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ > > > Address: 00000000fee0100c Data: 41e1 > > > Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 > > > Kernel driver in use: radeon > > > > > > 01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] RV710/730 HDMI Audio [Radeon HD 4000 series] [1002:aa38] > > > Subsystem: PC Partner Limited / Sapphire Technology Device [174b:aa38] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Interrupt: pin B routed to IRQ 41 > > > Region 0: Memory at f2110000 (64-bit, non-prefetchable) [size=16K] > > > Capabilities: [50] Power Management version 3 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited > > > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported > > > DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled > > > LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- > > > EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- > > > Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ > > > Address: 00000000fee0100c Data: 41d1 > > > Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 > > > Kernel driver in use: snd_hda_intel > > > > > > > > > Grüße, > > > Thomas > > Thomas can you provide output of lspci -t > > Also did you had a chance to test my ugly patch ? > > Cheers, > Jérôme If my ugly patch works does this quirk also work ? -- >>From 4a2ed6114cd774e502bab24515988fa1d8366762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= Date: Sun, 27 Apr 2014 15:48:57 -0400 Subject: [PATCH] pci: quirk for pci bridge behind hypertransport link with 32bits addressing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It seems some PCI or PCIE bridge are behind HyperTransport that do not support 64bits addressing but only 32bit (even though the HyperTransport specification state that it should 40bit at least). This patch add a quirk that walk the parent chain of a device before setting the dma mask so that any dma allocation/mapping will fit inside the limit of any HyperTransport link that might be in front of the PCI/PCIE root complex. Signed-off-by: Jérôme Glisse --- drivers/pci/quirks.c | 36 ++++++++++++++++++++++++++++++++++++ include/asm-generic/pci-dma-compat.h | 26 ++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e729206..373ae05 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2447,6 +2447,42 @@ out: pci_dev_put(host_bridge); } +#define PCI_HT_LCTR_64B 0x8000 /* 64-bit Addressing Enable */ + +u64 pci_ht_quirk_dma_32bit_only(struct pci_dev *dev, u64 mask) +{ + struct pci_bus *bus = dev->bus; + + do { + struct pci_dev *bridge = bus->self; + int pos; + + pos = pci_find_ht_capability(bridge, HT_CAPTYPE_SLAVE); + if (pos) { + int ctrl_off; + u16 flags, ctrl; + + /* See hypertransport specification about master host + * (section 7.5.3.2 in HTC200393). + */ + pci_read_config_word(dev, pos + PCI_CAP_FLAGS, &flags); + ctrl_off = ((flags >> 10) & 1) ? + PCI_HT_CAP_SLAVE_CTRL0 : PCI_HT_CAP_SLAVE_CTRL1; + pci_read_config_word(dev, pos + ctrl_off, &ctrl); + if (!(ctrl & PCI_HT_LCTR_64B)) { + /* So 32bits only. Maybe there is one more bug + * as HyperTransport specification says that it + * should be 40bits. + */ + return 0xffffffff; + } + } + bus = bus->parent; + } while (bus); + return mask; +} +EXPORT_SYMBOL(pci_ht_quirk_dma_32bit_only); + static void ht_disable_msi_mapping(struct pci_dev *dev) { int pos, ttl = 48; diff --git a/include/asm-generic/pci-dma-compat.h b/include/asm-generic/pci-dma-compat.h index 1437b7d..bae17bb 100644 --- a/include/asm-generic/pci-dma-compat.h +++ b/include/asm-generic/pci-dma-compat.h @@ -102,13 +102,39 @@ pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr) } #ifdef CONFIG_PCI + +#ifdef CONFIG_PCI_QUIRKS +u64 pci_ht_quirk_dma_32bit_only(struct pci_dev *dev, u64 mask); +#else +static inline u64 pci_ht_quirk_dma_32bit_only(struct pci_dev *dev, u64 mask) +{ + return mask; +} +#endif + static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) { + /* We are living in a monstruous world in which you can have the pci + * root complex behind an hypertransport link which can not address + * anything above 32bit (well hypertransport specification says 40bits + * but hardware such as SIS761 only support 32bits). + * + * So if a device set a mask bigger than 32bit walk the chain of its + * parent to see if any is behind a transportlink and if so check that + * the transport link support 64bits. + */ + if (mask & (1ULL << 32ULL)) { + mask = pci_ht_quirk_dma_32bit_only(dev, mask); + } return dma_set_mask(&dev->dev, mask); } static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) { + /* See comment in pci_set_dma_mask */ + if (mask & (1ULL << 32ULL)) { + mask = pci_ht_quirk_dma_32bit_only(dev, mask); + } return dma_set_coherent_mask(&dev->dev, mask); } #endif -- 1.9.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qg0-f52.google.com (mail-qg0-f52.google.com [209.85.192.52]) by kanga.kvack.org (Postfix) with ESMTP id 1FB886B0035 for ; Sun, 27 Apr 2014 15:55:35 -0400 (EDT) Received: by mail-qg0-f52.google.com with SMTP id j5so6209177qga.11 for ; Sun, 27 Apr 2014 12:55:34 -0700 (PDT) Received: from mail-qc0-x22d.google.com (mail-qc0-x22d.google.com [2607:f8b0:400d:c01::22d]) by mx.google.com with ESMTPS id i62si6899768qgf.186.2014.04.27.12.55.34 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 27 Apr 2014 12:55:34 -0700 (PDT) Received: by mail-qc0-f173.google.com with SMTP id r5so5930543qcx.4 for ; Sun, 27 Apr 2014 12:55:34 -0700 (PDT) Date: Sun, 27 Apr 2014 15:55:29 -0400 From: Jerome Glisse Subject: Re: radeon: screen garbled after page allocator change, was: Re: [patch v2 3/3] mm: page_alloc: fair zone allocator policy Message-ID: <20140427195527.GC9315@gmail.com> References: <1375457846-21521-1-git-send-email-hannes@cmpxchg.org> <1375457846-21521-4-git-send-email-hannes@cmpxchg.org> <87r45fajun.fsf@schwinge.name> <20140424133722.GD4107@cmpxchg.org> <20140427033110.GA15091@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20140427033110.GA15091@gmail.com> Sender: owner-linux-mm@kvack.org List-ID: To: Thomas Schwinge Cc: Bjorn Helgaas , linux-pci@vger.kernel.org, Johannes Weiner , Mel Gorman , Rik van Riel , Andrea Arcangeli , Zlatko Calusic , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= , dri-devel@lists.freedesktop.org On Sat, Apr 26, 2014 at 11:31:11PM -0400, Jerome Glisse wrote: > On Thu, Apr 24, 2014 at 09:37:22AM -0400, Johannes Weiner wrote: > > Hi Thomas, > > > > On Wed, Apr 02, 2014 at 04:26:08PM +0200, Thomas Schwinge wrote: > > > Hi! > > > > > > On Fri, 2 Aug 2013 11:37:26 -0400, Johannes Weiner wrote: > > > > Each zone that holds userspace pages of one workload must be aged at a > > > > speed proportional to the zone size. [...] > > > > > > > Fix this with a very simple round robin allocator. [...] > > > > > > This patch, adding NR_ALLOC_BATCH, eventually landed in mainline as > > > commit 81c0a2bb515fd4daae8cab64352877480792b515 (2013-09-11). > > > > > > I recently upgraded a Debian testing system from a 3.11 kernel to 3.12, > > > and it started to exhibit "strange" issues, which I then bisected to this > > > patch. I'm not saying that the patch is faulty, as it seems to be > > > working fine for everyone else, so I rather assume that something in a > > > (vastly?) different corner of the kernel (or my hardware?) is broken. > > > ;-) > > > > > > The issue is that when X.org/lightdm starts up, there are "garbled" > > > section on the screen, for example, rectangular boxes that are just black > > > or otherwise "distorted", and/or sets of glyphs (corresponding to a set > > > of characters; but not all characters) are displayed as rectangular gray > > > or black boxes, and/or icons in a GNOME session are not displayed > > > properly, and so on. (Can take a snapshot if that helps?) Switching to > > > a Linux console, I can use that one fine. Switching back to X, in the > > > majority of all cases, the screen will be completely black, but with the > > > mouse cursor still rendered properly (done in hardware, I assume). > > > > > > Reverting commit 81c0a2bb515fd4daae8cab64352877480792b515, for example on > > > top of v3.12, and everything is back to normal. The problem also > > > persists with a v3.14 kernel that I just built. > > > > > > I will try to figure out what's going on, but will gladly take any > > > pointers, or suggestions about how to tackle such a problem. > > > > > > The hardware is a Fujitsu Siemens Esprimo E5600, mainboard D2264-A1, CPU > > > AMD Sempron 3000+. There is a on-board graphics thingy, but I'm not > > > using that; instead I put in a Sapphire Radeon HD 4350 card. > > > > I went over this code change repeatedly but I could not see anything > > directly that would explain it. However, this patch DOES change the > > way allocations are placed (while still respecting zone specifiers > > like __GFP_DMA etc.) and so it's possible that they unearthed a > > corruption, or a wrongly set dma mask in the drivers. > > > > Ccing the radeon driver guys. Full quote follows. > > > > > $ cat < /proc/cpuinfo > > > processor : 0 > > > vendor_id : AuthenticAMD > > > cpu family : 15 > > > model : 47 > > > model name : AMD Sempron(tm) Processor 3000+ > > > stepping : 2 > > > cpu MHz : 1000.000 > > > cache size : 128 KB > > > physical id : 0 > > > siblings : 1 > > > core id : 0 > > > cpu cores : 1 > > > apicid : 0 > > > initial apicid : 0 > > > fpu : yes > > > fpu_exception : yes > > > cpuid level : 1 > > > wp : yes > > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl pni lahf_lm > > > bogomips : 2000.20 > > > TLB size : 1024 4K pages > > > clflush size : 64 > > > cache_alignment : 64 > > > address sizes : 40 bits physical, 48 bits virtual > > > power management: ts fid vid ttp tm stc > > > $ sudo lspci -nn -k -vv > > > 00:00.0 Host bridge [0600]: Silicon Integrated Systems [SiS] 761/M761 Host [1039:0761] (rev 01) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1099] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 > > > Region 0: Memory at f0000000 (32-bit, non-prefetchable) [size=32M] > > > 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= > > > Capabilities: [d0] HyperTransport: Slave or Primary Interface > > > Command: BaseUnitID=0 UnitCnt=17 MastHost- DefDir- DUL- > > > Link Control 0: CFlE- CST- CFE- > > Link Config 0: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn- > > > Link Control 1: CFlE- CST- CFE- > > 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: > > 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: > > 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] PCI-to-PCI bridge [1039:0004] (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=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 > > > I/O behind bridge: 00002000-00002fff > > > Memory behind bridge: f2100000-f21fffff > > > Prefetchable memory behind bridge: e0000000-efffffff > > > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > > BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B- > > > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > > > Capabilities: [d0] Express (v1) Root Port (Slot+), MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0 > > > ExtTag+ RBE- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <2us > > > ClockPM- Surprise- LLActRep+ BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt- > > > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise- > > > Slot #0, PowerLimit 75.000W; Interlock- NoCompl- > > > SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- > > > Control: AttnInd Off, PwrInd Off, Power- Interlock- > > > SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- > > > Changed: MRL- PresDet- LinkState- > > > RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- > > > RootCap: CRSVisible- > > > RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > > Capabilities: [bc] HyperTransport: MSI Mapping Enable- Fixed+ > > > Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit- > > > Address: 00000000 Data: 0000 > > > Capabilities: [f4] 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- > > > Kernel driver in use: pcieport > > > > > > 00:02.0 ISA bridge [0601]: Silicon Integrated Systems [SiS] SiS965 [MuTIOL Media IO] [1039:0965] (rev 48) > > > Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 0 > > > > > > 00:02.5 IDE interface [0101]: Silicon Integrated Systems [SiS] 5513 IDE Controller [1039:5513] (rev 01) (prog-if 80 [Master]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 128 > > > Interrupt: pin ? routed to IRQ 16 > > > Region 0: I/O ports at 01f0 [size=8] > > > Region 1: I/O ports at 03f4 > > > Region 2: I/O ports at 0170 [size=8] > > > Region 3: I/O ports at 0374 > > > Region 4: I/O ports at 1c80 [size=16] > > > Capabilities: [58] 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- > > > Kernel driver in use: pata_sis > > > > > > 00:02.7 Multimedia audio controller [0401]: Silicon Integrated Systems [SiS] SiS7012 AC'97 Sound Controller [1039:7012] (rev a0) > > > Subsystem: Fujitsu Technology Solutions Device [1734:109c] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 173 (13000ns min, 2750ns max) > > > Interrupt: pin C routed to IRQ 18 > > > Region 0: I/O ports at 1400 [size=256] > > > Region 1: I/O ports at 1000 [size=128] > > > Capabilities: [48] Power Management version 2 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Kernel driver in use: snd_intel8x0 > > > > > > 00:03.0 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin A routed to IRQ 20 > > > Region 0: Memory at f2000000 (32-bit, non-prefetchable) [size=4K] > > > Kernel driver in use: ohci-pci > > > > > > 00:03.1 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin B routed to IRQ 21 > > > Region 0: Memory at f2001000 (32-bit, non-prefetchable) [size=4K] > > > Kernel driver in use: ohci-pci > > > > > > 00:03.2 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Motherboard [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin C routed to IRQ 22 > > > Region 0: Memory at f2002000 (32-bit, non-prefetchable) [size=4K] > > > Kernel driver in use: ohci-pci > > > > > > 00:03.3 USB controller [0c03]: Silicon Integrated Systems [SiS] USB 2.0 Controller [1039:7002] (prog-if 20 [EHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:1095] > > > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin D routed to IRQ 23 > > > Region 0: Memory at f2003000 (32-bit, non-prefetchable) [size=4K] > > > Capabilities: [50] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Kernel driver in use: ehci-pci > > > > > > 00:05.0 IDE interface [0101]: Silicon Integrated Systems [SiS] 182 SATA/RAID Controller [1039:0182] (rev 01) (prog-if 8f [Master SecP SecO PriP PriO]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:1095] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 > > > Interrupt: pin A routed to IRQ 17 > > > Region 0: I/O ports at 1cb0 [size=8] > > > Region 1: I/O ports at 1ca4 [size=4] > > > Region 2: I/O ports at 1ca8 [size=8] > > > Region 3: I/O ports at 1ca0 [size=4] > > > Region 4: I/O ports at 1c90 [size=16] > > > Region 5: I/O ports at 1c00 [size=128] > > > Capabilities: [58] 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- > > > Kernel driver in use: sata_sis > > > > > > 00:06.0 PCI bridge [0604]: Silicon Integrated Systems [SiS] PCI-to-PCI bridge [1039:000a] (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=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 > > > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > > BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B- > > > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > > > Capabilities: [b0] Subsystem: Silicon Integrated Systems [SiS] Device [1039:0000] > > > Capabilities: [c0] MSI: Enable+ Count=1/1 Maskable- 64bit- > > > Address: fee0100c Data: 4181 > > > Capabilities: [d0] Express (v1) Root Port (Slot+), MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0 > > > ExtTag+ RBE- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <2us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise- > > > Slot #0, PowerLimit 0.000W; Interlock- NoCompl- > > > SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- > > > Control: AttnInd Off, PwrInd Off, Power- Interlock- > > > SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- > > > Changed: MRL- PresDet- LinkState- > > > RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- > > > RootCap: CRSVisible- > > > RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > > Capabilities: [f4] 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: [100 v1] Virtual Channel > > > Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 > > > Arb: Fixed- WRR32- WRR64- WRR128- > > > Ctrl: ArbSelect=Fixed > > > Status: InProgress- > > > VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- > > > Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- > > > Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff > > > Status: NegoPending- InProgress- > > > Capabilities: [130 v1] Advanced Error Reporting > > > UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > > > UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > > > UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- > > > CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- > > > CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- > > > AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn- > > > Kernel driver in use: pcieport > > > > > > 00:09.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8169 PCI Gigabit Ethernet Controller [10ec:8169] (rev 10) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:1091] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- > > Latency: 64 (8000ns min, 16000ns max), Cache Line Size: 32 bytes > > > Interrupt: pin A routed to IRQ 19 > > > Region 0: I/O ports at 1800 [size=256] > > > Region 1: Memory at f2004000 (32-bit, non-prefetchable) [size=256] > > > Capabilities: [dc] Power Management version 2 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Kernel driver in use: r8169 > > > > > > 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Capabilities: [80] HyperTransport: Host or Secondary Interface > > > Command: WarmRst+ DblEnd- DevNum=0 ChainSide- HostHide+ Slave- > > Link Control: CFlE- CST- CFE- > > Link Config: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn- > > > Revision ID: 1.02 > > > Link Frequency: 800MHz > > > Link Error: > > Link Frequency Capability: 200MHz+ 300MHz- 400MHz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend- > > > Feature Capability: IsocFC- LDTSTOP+ CRCTM- ECTLT- 64bA- UIDRD- ExtRS- UCnfE- > > > > > > 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > > > > 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Kernel driver in use: amd64_edac > > > > > > 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Kernel driver in use: k8temp > > > > > > 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v] [1002:9553] (prog-if 00 [VGA controller]) > > > Subsystem: PC Partner Limited / Sapphire Technology Device [174b:3092] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Interrupt: pin A routed to IRQ 42 > > > Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M] > > > Region 2: Memory at f2100000 (64-bit, non-prefetchable) [size=64K] > > > Region 4: I/O ports at 2000 [size=256] > > > [virtual] Expansion ROM at f2120000 [disabled] [size=128K] > > > Capabilities: [50] Power Management version 3 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited > > > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported > > > DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled > > > LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis- > > > Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- > > > Compliance De-emphasis: -6dB > > > LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- > > > EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- > > > Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ > > > Address: 00000000fee0100c Data: 41e1 > > > Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 > > > Kernel driver in use: radeon > > > > > > 01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] RV710/730 HDMI Audio [Radeon HD 4000 series] [1002:aa38] > > > Subsystem: PC Partner Limited / Sapphire Technology Device [174b:aa38] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Interrupt: pin B routed to IRQ 41 > > > Region 0: Memory at f2110000 (64-bit, non-prefetchable) [size=16K] > > > Capabilities: [50] Power Management version 3 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > > > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > > > Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited > > > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- > > > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > > MaxPayload 128 bytes, MaxReadReq 128 bytes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported > > > DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled > > > LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- > > > EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- > > > Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ > > > Address: 00000000fee0100c Data: 41d1 > > > Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 > > > Kernel driver in use: snd_hda_intel > > > > > > > > > Grusse, > > > Thomas > > Thomas can you provide output of lspci -t > > Also did you had a chance to test my ugly patch ? > > Cheers, > Jerome If my ugly patch works does this quirk also work ? -- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerome Glisse Subject: Re: radeon: screen garbled after page allocator change, was: Re: [patch v2 3/3] mm: page_alloc: fair zone allocator policy Date: Sun, 27 Apr 2014 15:55:29 -0400 Message-ID: <20140427195527.GC9315@gmail.com> References: <1375457846-21521-1-git-send-email-hannes@cmpxchg.org> <1375457846-21521-4-git-send-email-hannes@cmpxchg.org> <87r45fajun.fsf@schwinge.name> <20140424133722.GD4107@cmpxchg.org> <20140427033110.GA15091@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <20140427033110.GA15091@gmail.com> Sender: owner-linux-mm@kvack.org To: Thomas Schwinge Cc: Bjorn Helgaas , linux-pci@vger.kernel.org, Johannes Weiner , Mel Gorman , Rik van Riel , Andrea Arcangeli , Zlatko Calusic , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Sat, Apr 26, 2014 at 11:31:11PM -0400, Jerome Glisse wrote: > On Thu, Apr 24, 2014 at 09:37:22AM -0400, Johannes Weiner wrote: > > Hi Thomas, > >=20 > > On Wed, Apr 02, 2014 at 04:26:08PM +0200, Thomas Schwinge wrote: > > > Hi! > > >=20 > > > On Fri, 2 Aug 2013 11:37:26 -0400, Johannes Weiner wrote: > > > > Each zone that holds userspace pages of one workload must be aged= at a > > > > speed proportional to the zone size. [...] > > >=20 > > > > Fix this with a very simple round robin allocator. [...] > > >=20 > > > This patch, adding NR_ALLOC_BATCH, eventually landed in mainline as > > > commit 81c0a2bb515fd4daae8cab64352877480792b515 (2013-09-11). > > >=20 > > > I recently upgraded a Debian testing system from a 3.11 kernel to 3= .12, > > > and it started to exhibit "strange" issues, which I then bisected t= o this > > > patch. I'm not saying that the patch is faulty, as it seems to be > > > working fine for everyone else, so I rather assume that something i= n a > > > (vastly?) different corner of the kernel (or my hardware?) is broke= n. > > > ;-) > > >=20 > > > The issue is that when X.org/lightdm starts up, there are "garbled" > > > section on the screen, for example, rectangular boxes that are just= black > > > or otherwise "distorted", and/or sets of glyphs (corresponding to a= set > > > of characters; but not all characters) are displayed as rectangular= gray > > > or black boxes, and/or icons in a GNOME session are not displayed > > > properly, and so on. (Can take a snapshot if that helps?) Switchi= ng to > > > a Linux console, I can use that one fine. Switching back to X, in = the > > > majority of all cases, the screen will be completely black, but wit= h the > > > mouse cursor still rendered properly (done in hardware, I assume). > > >=20 > > > Reverting commit 81c0a2bb515fd4daae8cab64352877480792b515, for exam= ple on > > > top of v3.12, and everything is back to normal. The problem also > > > persists with a v3.14 kernel that I just built. > > >=20 > > > I will try to figure out what's going on, but will gladly take any > > > pointers, or suggestions about how to tackle such a problem. > > >=20 > > > The hardware is a Fujitsu Siemens Esprimo E5600, mainboard D2264-A1= , CPU > > > AMD Sempron 3000+. There is a on-board graphics thingy, but I'm no= t > > > using that; instead I put in a Sapphire Radeon HD 4350 card. > >=20 > > I went over this code change repeatedly but I could not see anything > > directly that would explain it. However, this patch DOES change the > > way allocations are placed (while still respecting zone specifiers > > like __GFP_DMA etc.) and so it's possible that they unearthed a > > corruption, or a wrongly set dma mask in the drivers. > >=20 > > Ccing the radeon driver guys. Full quote follows. > >=20 > > > $ cat < /proc/cpuinfo > > > processor : 0 > > > vendor_id : AuthenticAMD > > > cpu family : 15 > > > model : 47 > > > model name : AMD Sempron(tm) Processor 3000+ > > > stepping : 2 > > > cpu MHz : 1000.000 > > > cache size : 128 KB > > > physical id : 0 > > > siblings : 1 > > > core id : 0 > > > cpu cores : 1 > > > apicid : 0 > > > initial apicid : 0 > > > fpu : yes > > > fpu_exception : yes > > > cpuid level : 1 > > > wp : yes > > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep m= trr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fx= sr_opt lm 3dnowext 3dnow rep_good nopl pni lahf_lm > > > bogomips : 2000.20 > > > TLB size : 1024 4K pages > > > clflush size : 64 > > > cache_alignment : 64 > > > address sizes : 40 bits physical, 48 bits virtual > > > power management: ts fid vid ttp tm stc > > > $ sudo lspci -nn -k -vv > > > 00:00.0 Host bridge [0600]: Silicon Integrated Systems [SiS] 76= 1/M761 Host [1039:0761] (rev 01) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Mother= board [1734:1099] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 > > > Region 0: Memory at f0000000 (32-bit, non-prefetchable)= [size=3D32M] > > > Capabilities: [a0] AGP version 3.0 > > > Status: RQ=3D32 Iso- ArqSz=3D2 Cal=3D3 SBA+ ITA= Coh- GART64- HTrans- 64bit- FW- AGP3+ Rate=3Dx4,x8 > > > Command: RQ=3D1 ArqSz=3D0 Cal=3D0 SBA+ AGP- GAR= T64- 64bit- FW- Rate=3D > > > Capabilities: [d0] HyperTransport: Slave or Primary Int= erface > > > Command: BaseUnitID=3D0 UnitCnt=3D17 MastHost- = DefDir- DUL- > > > Link Control 0: CFlE- CST- CFE- > > Link Config 0: MLWI=3D16bit DwFcIn- MLWO=3D16bi= t DwFcOut- LWI=3D16bit DwFcInEn- LWO=3D16bit DwFcOutEn- > > > Link Control 1: CFlE- CST- CFE- > > Link Config 1: MLWI=3DN/C DwFcIn- MLWO=3DN/C Dw= FcOut- LWI=3DN/C DwFcInEn- LWO=3DN/C DwFcOutEn- > > > Revision ID: 1.05 > > > Link Frequency 0: 800MHz > > > Link Error 0: > > Link Frequency Capability 0: 200MHz+ 300MHz- 40= 0MHz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz+ 1.2GHz+ 1.4GHz- 1.6GHz- Vend- > > > Feature Capability: IsocFC- LDTSTOP+ CRCTM- ECT= LT- 64bA+ UIDRD- > > > Link Frequency 1: 200MHz > > > Link Error 1: > > Link Frequency Capability 1: 200MHz- 300MHz- 40= 0MHz- 500MHz- 600MHz- 800MHz- 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend- > > > Error Handling: PFlE- OFlE- PFE- OFE- EOCFE- RF= E- 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 > > > =20 > > > 00:01.0 PCI bridge [0604]: Silicon Integrated Systems [SiS] PCI= -to-PCI bridge [1039:0004] (prog-if 00 [Normal decode]) > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Bus: primary=3D00, secondary=3D01, subordinate=3D01, se= c-latency=3D0 > > > I/O behind bridge: 00002000-00002fff > > > Memory behind bridge: f2100000-f21fffff > > > Prefetchable memory behind bridge: e0000000-efffffff > > > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- > > BridgeCtl: Parity+ SERR+ NoISA+ VGA+ MAbort- >Reset- Fa= stB2B- > > > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSER= REn- > > > Capabilities: [d0] Express (v1) Root Port (Slot+), MSI = 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0 > > > ExtTag+ RBE- > > > DevCtl: Report errors: Correctable- Non-Fatal- = Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoS= noop+ > > > MaxPayload 128 bytes, MaxReadReq 128 by= tes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq= + AuxPwr+ TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM= L0s L1, Exit Latency L0s <1us, L1 <2us > > > ClockPM- Surprise- LLActRep+ BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- C= ommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- Au= tBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train-= SlotClk+ DLActive+ BWMgmt- ABWMgmt- > > > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-= HotPlug- Surprise- > > > Slot #0, PowerLimit 75.000W; Interlock-= NoCompl- > > > SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- = CmdCplt- HPIrq- LinkChg- > > > Control: AttnInd Off, PwrInd Off, Power= - Interlock- > > > SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt= - PresDet+ Interlock- > > > Changed: MRL- PresDet- LinkState- > > > RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal= - PMEIntEna- CRSVisible- > > > RootCap: CRSVisible- > > > RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > > Capabilities: [bc] HyperTransport: MSI Mapping Enable- = Fixed+ > > > Capabilities: [a0] MSI: Enable- Count=3D1/1 Maskable- 6= 4bit- > > > Address: 00000000 Data: 0000 > > > Capabilities: [f4] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=3D0mA PM= E(D0+,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Kernel driver in use: pcieport > > > =20 > > > 00:02.0 ISA bridge [0601]: Silicon Integrated Systems [SiS] SiS= 965 [MuTIOL Media IO] [1039:0965] (rev 48) > > > Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 0 > > > =20 > > > 00:02.5 IDE interface [0101]: Silicon Integrated Systems [SiS] = 5513 IDE Controller [1039:5513] (rev 01) (prog-if 80 [Master]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Mother= board [1734:1095] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 128 > > > Interrupt: pin ? routed to IRQ 16 > > > Region 0: I/O ports at 01f0 [size=3D8] > > > Region 1: I/O ports at 03f4 > > > Region 2: I/O ports at 0170 [size=3D8] > > > Region 3: I/O ports at 0374 > > > Region 4: I/O ports at 1c80 [size=3D16] > > > Capabilities: [58] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=3D0mA PM= E(D0-,D1-,D2-,D3hot-,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Kernel driver in use: pata_sis > > > =20 > > > 00:02.7 Multimedia audio controller [0401]: Silicon Integrated = Systems [SiS] SiS7012 AC'97 Sound Controller [1039:7012] (rev a0) > > > Subsystem: Fujitsu Technology Solutions Device [1734:10= 9c] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 173 (13000ns min, 2750ns max) > > > Interrupt: pin C routed to IRQ 18 > > > Region 0: I/O ports at 1400 [size=3D256] > > > Region 1: I/O ports at 1000 [size=3D128] > > > Capabilities: [48] Power Management version 2 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D55mA P= ME(D0-,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Kernel driver in use: snd_intel8x0 > > > =20 > > > 00:03.0 USB controller [0c03]: Silicon Integrated Systems [SiS]= USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Mother= board [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin A routed to IRQ 20 > > > Region 0: Memory at f2000000 (32-bit, non-prefetchable)= [size=3D4K] > > > Kernel driver in use: ohci-pci > > > =20 > > > 00:03.1 USB controller [0c03]: Silicon Integrated Systems [SiS]= USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Mother= board [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin B routed to IRQ 21 > > > Region 0: Memory at f2001000 (32-bit, non-prefetchable)= [size=3D4K] > > > Kernel driver in use: ohci-pci > > > =20 > > > 00:03.2 USB controller [0c03]: Silicon Integrated Systems [SiS]= USB 1.1 Controller [1039:7001] (rev 0f) (prog-if 10 [OHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 Mother= board [1734:1095] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin C routed to IRQ 22 > > > Region 0: Memory at f2002000 (32-bit, non-prefetchable)= [size=3D4K] > > > Kernel driver in use: ohci-pci > > > =20 > > > 00:03.3 USB controller [0c03]: Silicon Integrated Systems [SiS]= USB 2.0 Controller [1039:7002] (prog-if 20 [EHCI]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:= 1095] > > > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 (20000ns max) > > > Interrupt: pin D routed to IRQ 23 > > > Region 0: Memory at f2003000 (32-bit, non-prefetchable)= [size=3D4K] > > > Capabilities: [50] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=3D375mA = PME(D0+,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Kernel driver in use: ehci-pci > > > =20 > > > 00:05.0 IDE interface [0101]: Silicon Integrated Systems [SiS] = 182 SATA/RAID Controller [1039:0182] (rev 01) (prog-if 8f [Master SecP Se= cO PriP PriO]) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:= 1095] > > > Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 > > > Interrupt: pin A routed to IRQ 17 > > > Region 0: I/O ports at 1cb0 [size=3D8] > > > Region 1: I/O ports at 1ca4 [size=3D4] > > > Region 2: I/O ports at 1ca8 [size=3D8] > > > Region 3: I/O ports at 1ca0 [size=3D4] > > > Region 4: I/O ports at 1c90 [size=3D16] > > > Region 5: I/O ports at 1c00 [size=3D128] > > > Capabilities: [58] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=3D0mA PM= E(D0-,D1-,D2-,D3hot-,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Kernel driver in use: sata_sis > > > =20 > > > 00:06.0 PCI bridge [0604]: Silicon Integrated Systems [SiS] PCI= -to-PCI bridge [1039:000a] (prog-if 00 [Normal decode]) > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Bus: primary=3D00, secondary=3D02, subordinate=3D02, se= c-latency=3D0 > > > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- > > BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- Fa= stB2B- > > > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSER= REn- > > > Capabilities: [b0] Subsystem: Silicon Integrated System= s [SiS] Device [1039:0000] > > > Capabilities: [c0] MSI: Enable+ Count=3D1/1 Maskable- 6= 4bit- > > > Address: fee0100c Data: 4181 > > > Capabilities: [d0] Express (v1) Root Port (Slot+), MSI = 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0 > > > ExtTag+ RBE- > > > DevCtl: Report errors: Correctable- Non-Fatal- = Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoS= noop+ > > > MaxPayload 128 bytes, MaxReadReq 128 by= tes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq= - AuxPwr+ TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM= L0s L1, Exit Latency L0s <1us, L1 <2us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- C= ommClk- > > > ExtSynch- ClockPM- AutWidDis- BWInt- Au= tBWInt- > > > LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- = SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-= HotPlug- Surprise- > > > Slot #0, PowerLimit 0.000W; Interlock- = NoCompl- > > > SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- = CmdCplt- HPIrq- LinkChg- > > > Control: AttnInd Off, PwrInd Off, Power= - Interlock- > > > SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt= - PresDet+ Interlock- > > > Changed: MRL- PresDet- LinkState- > > > RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal= - PMEIntEna- CRSVisible- > > > RootCap: CRSVisible- > > > RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > > Capabilities: [f4] Power Management version 2 > > > Flags: PMEClk- DSI- D1- D2- AuxCurrent=3D0mA PM= E(D0+,D1-,D2-,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Capabilities: [100 v1] Virtual Channel > > > Caps: LPEVC=3D0 RefClk=3D100ns PATEntryBits=3D= 1 > > > Arb: Fixed- WRR32- WRR64- WRR128- > > > Ctrl: ArbSelect=3DFixed > > > Status: InProgress- > > > VC0: Caps: PATOffset=3D00 MaxTimeSlots=3D1= RejSnoopTrans- > > > Arb: Fixed- WRR32- WRR64- WRR128- TW= RR128- WRR256- > > > Ctrl: Enable+ ID=3D0 ArbSelect=3DFixe= d TC/VC=3Dff > > > Status: NegoPending- InProgress- > > > Capabilities: [130 v1] Advanced Error Reporting > > > UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt= - UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > > > UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt= - UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > > > UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt= - UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- > > > CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeo= ut- NonFatalErr- > > > CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeo= ut- NonFatalErr- > > > AERCap: First Error Pointer: 00, GenCap- CGenEn= - ChkCap- ChkEn- > > > Kernel driver in use: pcieport > > > =20 > > > 00:09.0 Ethernet controller [0200]: Realtek Semiconductor Co., = Ltd. RTL8169 PCI Gigabit Ethernet Controller [10ec:8169] (rev 10) > > > Subsystem: Fujitsu Technology Solutions D2030-A1 [1734:= 1091] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx- > > > Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=3Dmedi= um >TAbort- SERR- > > Latency: 64 (8000ns min, 16000ns max), Cache Line Size:= 32 bytes > > > Interrupt: pin A routed to IRQ 19 > > > Region 0: I/O ports at 1800 [size=3D256] > > > Region 1: Memory at f2004000 (32-bit, non-prefetchable)= [size=3D256] > > > Capabilities: [dc] Power Management version 2 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D375mA = PME(D0-,D1+,D2+,D3hot+,D3cold+) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Kernel driver in use: r8169 > > > =20 > > > 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] = K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Capabilities: [80] HyperTransport: Host or Secondary In= terface > > > Command: WarmRst+ DblEnd- DevNum=3D0 ChainSide-= HostHide+ Slave- > > Link Control: CFlE- CST- CFE- > > Link Config: MLWI=3D16bit DwFcIn- MLWO=3D16bit = DwFcOut- LWI=3D16bit DwFcInEn- LWO=3D16bit DwFcOutEn- > > > Revision ID: 1.02 > > > Link Frequency: 800MHz > > > Link Error: > > Link Frequency Capability: 200MHz+ 300MHz- 400M= Hz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend- > > > Feature Capability: IsocFC- LDTSTOP+ CRCTM- ECT= LT- 64bA- UIDRD- ExtRS- UCnfE- > > > =20 > > > 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] = K8 [Athlon64/Opteron] Address Map [1022:1101] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > =20 > > > 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] = K8 [Athlon64/Opteron] DRAM Controller [1022:1102] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Kernel driver in use: amd64_edac > > > =20 > > > 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] = K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103] > > > Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx- > > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Kernel driver in use: k8temp > > > =20 > > > 01:00.0 VGA compatible controller [0300]: Advanced Micro Device= s, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v] [1002:955= 3] (prog-if 00 [VGA controller]) > > > Subsystem: PC Partner Limited / Sapphire Technology Dev= ice [174b:3092] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR- FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Interrupt: pin A routed to IRQ 42 > > > Region 0: Memory at e0000000 (64-bit, prefetchable) [si= ze=3D256M] > > > Region 2: Memory at f2100000 (64-bit, non-prefetchable)= [size=3D64K] > > > Region 4: I/O ports at 2000 [size=3D256] > > > [virtual] Expansion ROM at f2120000 [disabled] [size=3D= 128K] > > > Capabilities: [50] Power Management version 3 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA PM= E(D0-,D1-,D2-,D3hot-,D3cold-) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0, Late= ncy L0s <4us, L1 unlimited > > > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ = FLReset- > > > DevCtl: Report errors: Correctable- Non-Fatal- = Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoS= noop+ > > > MaxPayload 128 bytes, MaxReadReq 128 by= tes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq= - AuxPwr- TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM= L0s L1, Exit Latency L0s <64ns, L1 <1us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- C= ommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- Au= tBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train-= SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > DevCap2: Completion Timeout: Not Supported, Tim= eoutDis-, LTR-, OBFF Not Supported > > > DevCtl2: Completion Timeout: 50us to 50ms, Time= outDis-, LTR-, OBFF Disabled > > > LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompl= iance- SpeedDis- > > > Transmit Margin: Normal Operating Rang= e, EnterModifiedCompliance- ComplianceSOS- > > > Compliance De-emphasis: -6dB > > > LnkSta2: Current De-emphasis Level: -6dB, Equal= izationComplete-, EqualizationPhase1- > > > EqualizationPhase2-, EqualizationPhase= 3-, LinkEqualizationRequest- > > > Capabilities: [a0] MSI: Enable+ Count=3D1/1 Maskable- 6= 4bit+ > > > Address: 00000000fee0100c Data: 41e1 > > > Capabilities: [100 v1] Vendor Specific Information: ID=3D= 0001 Rev=3D1 Len=3D010 > > > Kernel driver in use: radeon > > > =20 > > > 01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/= ATI] RV710/730 HDMI Audio [Radeon HD 4000 series] [1002:aa38] > > > Subsystem: PC Partner Limited / Sapphire Technology Dev= ice [174b:aa38] > > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASn= oop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ > > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast= >TAbort- SERR- > > Latency: 0, Cache Line Size: 64 bytes > > > Interrupt: pin B routed to IRQ 41 > > > Region 0: Memory at f2110000 (64-bit, non-prefetchable)= [size=3D16K] > > > Capabilities: [50] Power Management version 3 > > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA PM= E(D0-,D1-,D2-,D3hot-,D3cold-) > > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DSca= le=3D0 PME- > > > Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 > > > DevCap: MaxPayload 128 bytes, PhantFunc 0, Late= ncy L0s <4us, L1 unlimited > > > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ = FLReset- > > > DevCtl: Report errors: Correctable- Non-Fatal- = Fatal- Unsupported- > > > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoS= noop+ > > > MaxPayload 128 bytes, MaxReadReq 128 by= tes > > > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq= - AuxPwr- TransPend- > > > LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM= L0s L1, Exit Latency L0s <64ns, L1 <1us > > > ClockPM- Surprise- LLActRep- BwNot- > > > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- C= ommClk+ > > > ExtSynch- ClockPM- AutWidDis- BWInt- Au= tBWInt- > > > LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train-= SlotClk+ DLActive- BWMgmt- ABWMgmt- > > > DevCap2: Completion Timeout: Not Supported, Tim= eoutDis-, LTR-, OBFF Not Supported > > > DevCtl2: Completion Timeout: 50us to 50ms, Time= outDis-, LTR-, OBFF Disabled > > > LnkSta2: Current De-emphasis Level: -6dB, Equal= izationComplete-, EqualizationPhase1- > > > EqualizationPhase2-, EqualizationPhase= 3-, LinkEqualizationRequest- > > > Capabilities: [a0] MSI: Enable+ Count=3D1/1 Maskable- 6= 4bit+ > > > Address: 00000000fee0100c Data: 41d1 > > > Capabilities: [100 v1] Vendor Specific Information: ID=3D= 0001 Rev=3D1 Len=3D010 > > > Kernel driver in use: snd_hda_intel > > >=20 > > >=20 > > > Gr=FC=DFe, > > > Thomas >=20 > Thomas can you provide output of lspci -t >=20 > Also did you had a chance to test my ugly patch ? >=20 > Cheers, > J=E9r=F4me If my ugly patch works does this quirk also work ? --=20 >>From 4a2ed6114cd774e502bab24515988fa1d8366762 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?J=3DC3=3DA9r=3DC3=3DB4me=3D20Glisse?=3D Date: Sun, 27 Apr 2014 15:48:57 -0400 Subject: [PATCH] pci: quirk for pci bridge behind hypertransport link wit= h 32bits addressing. MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit It seems some PCI or PCIE bridge are behind HyperTransport that do not support 64bits addressing but only 32bit (even though the HyperTransport specification state that it should 40bit at least). This patch add a quirk that walk the parent chain of a device before setting the dma mask so that any dma allocation/mapping will fit inside the limit of any HyperTransport link that might be in front of the PCI/PCIE root complex. Signed-off-by: J=E9r=F4me Glisse --- drivers/pci/quirks.c | 36 ++++++++++++++++++++++++++++++= ++++++ include/asm-generic/pci-dma-compat.h | 26 ++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e729206..373ae05 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2447,6 +2447,42 @@ out: pci_dev_put(host_bridge); } =20 +#define PCI_HT_LCTR_64B 0x8000 /* 64-bit Addressing Enable */ + +u64 pci_ht_quirk_dma_32bit_only(struct pci_dev *dev, u64 mask) +{ + struct pci_bus *bus =3D dev->bus; + + do { + struct pci_dev *bridge =3D bus->self; + int pos; + + pos =3D pci_find_ht_capability(bridge, HT_CAPTYPE_SLAVE); + if (pos) { + int ctrl_off; + u16 flags, ctrl; + + /* See hypertransport specification about master host + * (section 7.5.3.2 in HTC200393). + */ + pci_read_config_word(dev, pos + PCI_CAP_FLAGS, &flags); + ctrl_off =3D ((flags >> 10) & 1) ? + PCI_HT_CAP_SLAVE_CTRL0 : PCI_HT_CAP_SLAVE_CTRL1; + pci_read_config_word(dev, pos + ctrl_off, &ctrl); + if (!(ctrl & PCI_HT_LCTR_64B)) { + /* So 32bits only. Maybe there is one more bug + * as HyperTransport specification says that it + * should be 40bits. + */ + return 0xffffffff; + } + } + bus =3D bus->parent; + } while (bus); + return mask; +} +EXPORT_SYMBOL(pci_ht_quirk_dma_32bit_only); + static void ht_disable_msi_mapping(struct pci_dev *dev) { int pos, ttl =3D 48; diff --git a/include/asm-generic/pci-dma-compat.h b/include/asm-generic/p= ci-dma-compat.h index 1437b7d..bae17bb 100644 --- a/include/asm-generic/pci-dma-compat.h +++ b/include/asm-generic/pci-dma-compat.h @@ -102,13 +102,39 @@ pci_dma_mapping_error(struct pci_dev *pdev, dma_add= r_t dma_addr) } =20 #ifdef CONFIG_PCI + +#ifdef CONFIG_PCI_QUIRKS +u64 pci_ht_quirk_dma_32bit_only(struct pci_dev *dev, u64 mask); +#else +static inline u64 pci_ht_quirk_dma_32bit_only(struct pci_dev *dev, u64 m= ask) +{ + return mask; +} +#endif + static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) { + /* We are living in a monstruous world in which you can have the pci + * root complex behind an hypertransport link which can not address + * anything above 32bit (well hypertransport specification says 40bits + * but hardware such as SIS761 only support 32bits). + * + * So if a device set a mask bigger than 32bit walk the chain of its + * parent to see if any is behind a transportlink and if so check that + * the transport link support 64bits. + */ + if (mask & (1ULL << 32ULL)) { + mask =3D pci_ht_quirk_dma_32bit_only(dev, mask); + } return dma_set_mask(&dev->dev, mask); } =20 static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 m= ask) { + /* See comment in pci_set_dma_mask */ + if (mask & (1ULL << 32ULL)) { + mask =3D pci_ht_quirk_dma_32bit_only(dev, mask); + } return dma_set_coherent_mask(&dev->dev, mask); } #endif --=20 1.9.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org