> On Nov 10, 2018, at 3:54 PM, John Klos <[email protected]> wrote:
> 
> On an Alpha system running NetBSD 8, though, the card isn't recognized 
> properly:
> 
> ppb1 at pci2 dev 4 function 0: vendor 10b5 product 8112 (rev. 0xaa)
> ppb1: PCI Express capability version 1 <PCI/PCI-X to PCI-E Bridge> x1 @ 
> 2.5GT/s
> pci3 at ppb1 bus 2
> mfi0 at pci3 dev 0 function 0: vendor 0x1000 product 0x9276
> mfi0: interrupting at dec 6600 irq 36
> mfi0:  version
> mfi0: logical drives 0, 0MB RAM, BBU not present
> scsibus1 at mfi0: 64 targets, 8 luns per target
> 
> Shortly after this, the console spits out 3000+ messages:
> 
> stray 6600 irq 36

This is almost always due to the driver not correctly using the bus_dma API ... 
probably one or more missing bus_dmamap_sync() calls -- these would not matter 
on amd64 because it (by default, anyway) has a fully-coherent memory model, but 
on Alpha, which has relaxed memory ordering, a memory barrier needs to be 
issued in the right places to make sure that, for example, a 
host-memory-resident mailbox is really up-to-date before ringing the device's 
doorbell.  bus_dmamap_sync() is the mechanism by which this is accomplished.

-- thorpej

Reply via email to