Messages in this thread | | | Date | Thu, 24 Oct 2013 22:22:09 -0400 | From | Mark Lord <> | Subject | Re: [PATCH RFC v2 12/29] PCI/MSI: Introduce pcim_enable_msi*() family helpers |
| |
On 13-10-24 07:41 AM, Alexander Gordeev wrote: > On Thu, Oct 24, 2013 at 11:57:40AM +0100, David Laight wrote: >> The one case it doesn't work is where the driver either >> wants the full number or the minimum number - but not >> a value in between. >> >> Might be worth adding an extra parameter so that this >> (and maybe other) odd requirements can be met. > > IMHO its not worth it, since it is not possible to generalize > all odd requirements out there. I do not think we should blow > the API in this case. > > Having said that, the min-or-max interface is probably the only > worth considering. But again, I would prefer to put its semantics > to function name rather than to extra parameters, i.e. > > pcim_enable_msix_min_max(struct pci_dev *dev, struct msix_entry *entries, > unsigned int minvec, unsigned int maxvec);
The hardware I have in mind here works only for powers of two. Eg. 16, 8, 4, 2, or 1 MSI-X vector. Not the odd values in between.
But it appears I can still just use a loop for that case, calling the new function above instead of the old functions.
Cheers
| |