Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: LSI RAID controllers on non-amd64




> On Nov 10, 2018, at 3:54 PM, John Klos <john%ziaspace.com@localhost> 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



Home | Main Index | Thread Index | Old Index