Re: [PATCH] cdx: add MSI support for CDX bus

From: Thomas Gleixner
Date: Mon May 15 2023 - 12:47:09 EST


Nipun!

On Mon, May 15 2023 at 18:39, Nipun Gupta wrote:
> On 5/12/2023 11:45 PM, Thomas Gleixner wrote:
>> On Fri, May 12 2023 at 19:50, Nipun Gupta wrote:
>>>
>>> As per your suggestion, we can add Firmware interaction code in the
>>> irq_bus_sync_xx APIs. Another option is to change the
>>> cdx_mcdi_rpc_async() API to atomic synchronous API.
>>
>> I'm not a great fan of that. Depending on how long this update takes the
>> CPU will busy wait for it to complete with interrupts disabled and locks
>> held.
>
> Agree. we are also inclined towards using irq_bus_sync_xx APIs. This
> would definitely solve the issue (#1 and #2) for the setup_irq which you
> mentioned.
>
> For MSI affinity, since GIC-ITS always return IRQ_SET_MASK_OK_DONE, the
> irq_chip_write_msi_msg does not get called.
>
> msi_domain_set_affinity(...)
> ret = parent->chip->irq_set_affinity(...);
> // For GIC ITS it always return IRQ_SET_MASK_OK_DONE
> if (ret >= 0 && ret != IRQ_SET_MASK_OK_DONE) {
> irq_chip_write_msi_msg(...);
> }
> Since CDX bus is specific to ARM and uses GIC ITS, it seems we do not
> need to do anything here. Can you please share your opinion on this?

That makes sense.

Thanks,

tglx