Re: [PATCHv5 04/20] PCI: mobiveil: Remove the flag MSI_FLAG_MULTI_PCI_MSI

From: Lorenzo Pieralisi
Date: Wed Jun 12 2019 - 07:02:10 EST


On Tue, Jun 11, 2019 at 06:29:49PM +0100, Marc Zyngier wrote:
> On 11/06/2019 17:59, Lorenzo Pieralisi wrote:
> > On Fri, Apr 12, 2019 at 08:35:36AM +0000, Z.q. Hou wrote:
> >> From: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx>
> >>
> >> The current code does not support multiple MSIs, so remove
> >> the corresponding flag from the msi_domain_info structure.
> >
> > Please explain me what's the problem before removing multi MSI
> > support.
>
> The reason seems to be the following code in the allocator:
>
> WARN_ON(nr_irqs != 1);
> mutex_lock(&msi->lock);
>
> bit = find_first_zero_bit(msi->msi_irq_in_use, msi->num_of_vectors);
> if (bit >= msi->num_of_vectors) {
> mutex_unlock(&msi->lock);
> return -ENOSPC;
> }
>
> set_bit(bit, msi->msi_irq_in_use);
>
> So instead of fixing the allocator, the author prefers disabling
> the feature. I'm not sure whether that is an acceptable outcome...

:) No it is not that's why I asked and I am waiting for an answer.

Lorenzo