qla_wxyz pci_set_mwi question
randy.dunlap at oracle.com
Fri Apr 13 12:40:42 EST 2007
Benjamin Herrenschmidt wrote:
> On Thu, 2007-04-12 at 14:04 -0600, Matthew Wilcox wrote:
>> On Thu, Apr 12, 2007 at 12:37:13PM -0700, Andrew Vasquez wrote:
>>> On Thu, 12 Apr 2007, Matthew Wilcox wrote:
>>>> Why should it fail? If there's a platform which can't support a
>>>> cacheline size that the qla2xyz card can handle, it should be able to
>>>> happily fall back to doing plain writes instead of MWIs. IMO, it should
>>>> just call pci_set_mwi() and ignore the result.
>>> I believe there were some erratas on some ISP2xxx chips where MWI
>>> needed to be set for proper operation. I'll go back, verify and
>>> update the patch accordingly.
>> Hmm. The thing is that pci_set_mwi() returns success on machines where
>> MWI is disabled (currently only PPC64). Perhaps it needs to fail
> MWI isn't diabled on ppc64... or did I miss something ?
Willy was referring to this from include/asm-powerpc/pci.h:
* We want to avoid touching the cacheline size or MWI bit.
* pSeries firmware sets the cacheline size (which is not the cpu cacheline
* size in all cases) and hardware treats MWI the same as memory write.
which makes pci_set_mwi() do nothing other than return 0;
*** Remember to use Documentation/SubmitChecklist when testing your code ***
More information about the Linuxppc-dev