Re: [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers

Greg KH
2005-06-07T16:10:53Z

On Tue, Jun 07, 2005 at 09:31:39AM +0200, Arjan van de Ven wrote:
>
> > > * What if the driver writer does not want MSI enabled for their
> > > hardware (even though there is an MSI capabilities entry)? Reasons
> > > include: overhead involved in initiating the MSI; no support in some
> > > versions of firmware (QLogic hardware).
> >
> > Yes, a very good point. I guess I should keep the pci_enable_msi() and
> > pci_disable_msi() functions exported for this reason.
> >
>
> well... only pci_disable_msi() is needed for this ;)

I thought so too, until I looked at the IB driver :(

The issue is, if pci_enable_msix() fails, we want to fall back to MSI,
so you need to call pci_enable_msi() for that (after calling
pci_disable_msi() before calling pci_enable_msix(), what a mess...)

So we still need both functions, and for MSI-X, the logic involved in
enabling it is horrible. Let me see if this can be made saner...

thanks,

greg k-h