DMA appears broken in 2.6.11 for Mac 7200
linuxppcdev at qbjnet.com
linuxppcdev at qbjnet.com
Tue Mar 15 04:52:57 EST 2005
Ben Said:
> On Mon, 2005-03-14 at 03:51 +0000, linuxppcdev at qbjnet.com wrote:
> > Just updated a couple of old Mac 7200 (601) boxen and ran into trouble with
> > the ide driver and a promise PDC20267 card.
> >
> > The very same drives and card work fine on a 9500 but hang on a 7200. If
> > I set the kernel arg ide=nodma I get in the dmesg:
> > ide_setup: ide=nodma : Prevented DMA
> > and the 7200 boots and runs fine.
> >
> > Another suspect, the mace ethernet driver (which also appears to use DMA)
> > doesn't work on the 7200 with 2.6.11 but does with 2.4.28 and it works
> > with 2.6.11 on the 9500.
>
> Interesting. Not sure what's up, though. Those old machines were known
> to have bugs relative to cache coherency... also check wetehr we are
> setting the cache line size properly in PCI devices. You can also try to
> disable use of PCI memory write & invalidate command in all devices.
Here is some info from a 7200 booted off of 2.6.11:
dmesg
Total memory = 112MB; using 256kB for hash table (at c04c0000)
Linux version 2.6.11.2 (root at dev) (gcc version 3.3.4 (Debian 1:3.3.4-9ubuntu5))
#8 Sun Mar 13 12:50:26 CST 2005
Found a Grand Central mac-io controller, rev: 2, mapped at 0xfdf00000
PowerMac motherboard: PowerMac 7200/7300
Cache coherency enabled for bandit/PSX
Found Bandit PCI host bridge at 0xf2000000. Firmware bus number: 0->0
nvram: OF partition at 0x1800
nvram: XP partition at 0x1300
nvram: NR partition at 0x1400
On node 0 totalpages: 28672
DMA zone: 28672 pages, LIFO batch:7
Normal zone: 0 pages, LIFO batch:1
HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: root=/dev/hda2 video=platinumfb ide=nodma
ide_setup: ide=nodma : Prevented DMA
System has 32 possible interrupts
PID hash table entries: 512 (order: 9, 8192 bytes)
.
.
.
Forcing PCI IDE into native mode: 0000:00:0d.0
Rewrite of PROGIF failed !
.
.
PDC20267: IDE controller at PCI slot 0000:00:0d.0
PDC20267: chipset revision 2
PDC20267: ROM enabled at 0x80860000
PDC20267: 100% native mode on irq 23
PDC20267: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
ide0: BM-DMA at 0x0480-0x0487, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x0488-0x048f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
.
.
eth0: Digital DS21143 Tulip rev 33 at c805a000, 00:40:F6:84:F8:C0, IRQ 25.
pmac: can't request resource 0!
lspci -vv
0000:00:0b.0 Host bridge: Apple Computer Inc. Bandit PowerPC host bridge (rev 03)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 32, Cache Line Size: 0x08 (32 bytes)
Interrupt: pin ? routed to IRQ 22
0000:00:0d.0 RAID bus controller: Promise Technology, Inc. 20267 (rev 02)
Subsystem: Promise Technology, Inc.: Unknown device 4d32
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin A routed to IRQ 23
Region 0: I/O ports at 04f0 [size=80860000]
Region 1: I/O ports at 04e0 [size=4]
Region 2: I/O ports at 04d0 [size=8]
Region 3: I/O ports at 04c0 [size=4]
Region 4: I/O ports at 0480 [size=64]
Region 5: Memory at 80840000 (32-bit, non-prefetchable) [size=128K]
Expansion ROM at 00010000 [disabled]
Capabilities: [58] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
.
.
0000:00:0f.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 21)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (5000ns min, 10000ns max), Cache Line Size: 0x08 (32 bytes)
Interrupt: pin A routed to IRQ 25
Region 0: I/O ports at 0400 [size=80800000]
Region 1: Memory at 80871000 (32-bit, non-prefetchable) [size=128]
Expansion ROM at 00040000 [disabled]
0000:00:10.0 Class ff00: Apple Computer Inc. Grand Central I/O (rev 02)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR+
Latency: 32, Cache Line Size: 0x08 (32 bytes)
Interrupt: pin ? routed to IRQ 22
Region 0: Memory at f3000000 (32-bit, non-prefetchable)
Does this help at all?
Bob
More information about the Linuxppc-dev
mailing list