Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Dec 2004 19:44:36 +0100
From:      Wilko Bulte <wb@freebie.xs4all.nl>
To:        Sven Petai <hadara@bsd.ee>
Cc:        freebsd-alpha@freebsd.org
Subject:   Re: alpha/75317: ATA DMA broken on PCalpha
Message-ID:  <20041222184436.GA50553@freebie.xs4all.nl>
In-Reply-To: <200412221730.iBMHUJC6097807@freefall.freebsd.org>
References:  <200412221730.iBMHUJC6097807@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
>  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@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@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041222184436.GA50553>