Subject: Re: Odd data faults on U5 with Promise U66 IDE controller
To: <>
From: Rafal Boni <rafal@pobox.com>
List: port-sparc64
Date: 08/29/2003 00:31:40
In message <200308280555.h7S5tdwa000400@fearless-vampire-killer.waterside.net>,
 you write: 

-> [...Following up to my own message; this looks like it may be sparc64-
->  specific, but it may also be related to RAIDFrame, so I'm sending it
->  on to tech-kern as welll...]

And again following up, this time removing tech-kern, as it does look
like a sparc64 (or U5-related) issue; with some help from Eduardo, I've
done some more digging, and while I'm not quite sure why the pciide code
would be touching that particular address in PCI I/O space, I did find
some interesting bits.

First, it does look like the faulting address is part of the DMA reg-
isters on the Promise card -- in fact, it looks like offset 0x18 in 
the I/O space mapped by the "DMA registers" BAR at 0x20.

However, it doesn't look like anything should be accessing that offset
in the DMA register space *unless* there's some bug that causes one of
the channel pointers to become negative, there's some write-combining
issue, or both... Consider me stumped (I still don't know much about
the sparc64 CPUs nor their memory access model(s)).

However, while trying to dump out registers for the USB controller also
on that bus, I found I could panic the machine with a similar asynch
fault doing a 'pcictl dump' on the USB controller device without any
sort of USB-related activity going on.  I'll try and shove some printf's
into the pci code to see where things are going wrong... 

Anyway, just some additional details that may or may not be relevant.
--rafal

THe panic's why trying to 'pcictl dump' the USB controller device(s) looked
like this:

# pcictl /dev/pci2 dump -d 3 -f 1
    data error type 32 sfsr=0 sfva=206000 afsr=84000000 afva=1fe01021940 tf=0x92795f0
    data fault: pc=1162868 addr=206000 sfsr=0<ASI=0>
    kernel trap 32: data access error

or

# pcictl /dev/pci2 dump -d 3
    data error type 32 sfsr=0 sfva=206000 afsr=84000000 afva=1fe01021840 tf=0x97115f0
    data fault: pc=1162868 addr=206000 sfsr=0<ASI=0>
    kernel trap 32: data access error

----
Rafal Boni                                                     rafal@pobox.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill