alpha/75317: ATA DMA broken on PCalpha
Wilko Bulte
wb at freebie.xs4all.nl
Wed Dec 22 10:44:53 PST 2004
> anyway this still doesn't make things work correctly for me,
> because the real problem seems to be the Pyxis
> page crossing bug. Basically it comes down to corrupting
> DMA transfers larger than 8k. It didn't cause problems before,
> since we never did larger than PAGE_SIZE transfers before
> the ATA dma change mentioned in the original report.
> There's a detection code for the buggy chip @
> src/sys/alpha/pci/cia.c
> but it's little too naive, since it assumes only DEC_ST550 can
> have it, in reality it seems to be used in some very early
> revisions of 164LX(SX too?). But there doesn't seem to be a
Yes, the SX too:
FreeBSD 4.11-RC1 #0: Fri Dec 17 18:36:23 GMT 2004
root at ds10.freebie.xs4all.nl:/usr/obj/usr/src/sys/GENERIC
EB164
Digital AlphaPC 164SX 533 MHz, 531MHz
8192 byte page size, 1 processor.
CPU: PCA56 (21164PC) major=9 minor=2 extensions=0x101<BWX,MVI>
OSF PAL rev: 0x1000600020117
real memory = 1071554560 (1046440K bytes)
avail memory = 1032265728 (1008072K bytes)
Preloaded elf kernel "kernel" at 0xfffffc0000c46000.
Preloaded mfs_root "/boot/mfsroot" at 0xfffffc0000c460c0.
md0: Preloaded image </boot/mfsroot> 4423680 bytes at 0xfffffc000080b8a0
md1: Malloc disk
cia0: Pyxis, pass 1 <<<<<---- pass 1
cia0: extended capabilities: 1<BWEN>
Interestingly enough the pass 1 thing is not fully reliable as a trouble
indicator:
SROM Revision: 3.11
Alpha 21164PC-2
Pyxis ASIC Pass 2 <<<<<---- pass 2
cia.c says about this:
* In the 21174 Technical Reference Manual, this is
* actually documented as "Pyxis Pass 1", but apparently
* there are chips that report themselves as "Pass 1"
* which do not have the bug! Miatas with the Cypress
* PCI-ISA bridge (i.e. Miata 1.5 and Miata 2) do not
* have the bug, so we use this check.
On the Miata systems that have an affected Pyxis report:
Sep 16 18:39:43 miata /kernel: cia0: Pyxis, pass 1
Sep 16 18:39:43 miata /kernel: cia0: extended capabilities: <BWEN>
Sep 16 18:39:43 miata /kernel: cia0: WARNING: Pyxis pass 1 DMA bug; no
bets...
Newer Miatas reported:
Jan 3 12:22:32 miata /kernel: cia0: Pyxis, pass 1
Jan 3 12:22:32 miata /kernel: cia0: extended capabilities: <BWEN>
so without the warning. In Miatas using a 32bit slot instead of a 64bit
PCI slot avoided the problem.
My 164SX does not report any warning.
--
Wilko Bulte wilko at FreeBSD.org
More information about the freebsd-alpha
mailing list