[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <571A1855.5020008@linaro.org>
Date: Fri, 22 Apr 2016 14:25:57 +0200
From: Eric Auger <eric.auger@...aro.org>
To: Robin Murphy <robin.murphy@....com>, eric.auger@...com,
alex.williamson@...hat.com, will.deacon@....com, joro@...tes.org,
tglx@...utronix.de, jason@...edaemon.net, marc.zyngier@....com,
christoffer.dall@...aro.org, linux-arm-kernel@...ts.infradead.org
Cc: patches@...aro.org, linux-kernel@...r.kernel.org,
Bharat.Bhushan@...escale.com, pranav.sawargaonkar@...il.com,
p.fedin@...sung.com, iommu@...ts.linux-foundation.org,
Jean-Philippe.Brucker@....com, julien.grall@....com
Subject: Re: [PATCH v7 1/8] genirq/msi: Add a new MSI_FLAG_IRQ_REMAPPING flag
Robin,
On 04/22/2016 01:02 PM, Robin Murphy wrote:
> Hi Eric,
>
> On 19/04/16 18:13, Eric Auger wrote:
>> Let's introduce a new msi_domain_info flag value, MSI_FLAG_IRQ_REMAPPING
>> meant to tell the domain supports IRQ REMAPPING, also known as Interrupt
>> Translation Service. On Intel HW this IRQ remapping capability is
>> abstracted on IOMMU side while on ARM it is abstracted on MSI controller
>> side. This flag will be used to know whether the MSI passthrough is
>> safe.
>
> Perhaps a nitpick, but given the earlier confusion about what the IOMMU
> flag actually meant this prompts me to wonder if it's worth adjusting
> the general terminology before we propagate it further. What I think we
> actually care about is that one thing or the other "provides MSI
> isolation" rather than "supports MSI remapping", since the latter is all
> to easy to misinterpret the way we did in the SMMU drivers.
The only concern I have is https://lkml.org/lkml/2016/4/18/283 attempts
to define a PCI bus flag dubbed PCI_BUS_FLAGS_MSI_REMAP combining the
iommu & msi layer info. In that sense x86 people may not be keen of
having different terminaologies. Anyway I will follow the consensus, if any.
Best Regards
Eric
>
> Robin.
>
>> Signed-off-by: Eric Auger <eric.auger@...aro.org>
>>
>> ---
>>
>> v4 -> v5:
>> - seperate flag introduction from first user addition (ITS)
>> ---
>> include/linux/msi.h | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/include/linux/msi.h b/include/linux/msi.h
>> index 8b425c6..08441b1 100644
>> --- a/include/linux/msi.h
>> +++ b/include/linux/msi.h
>> @@ -270,6 +270,8 @@ enum {
>> MSI_FLAG_MULTI_PCI_MSI = (1 << 3),
>> /* Support PCI MSIX interrupts */
>> MSI_FLAG_PCI_MSIX = (1 << 4),
>> + /* Support MSI IRQ remapping service */
>> + MSI_FLAG_IRQ_REMAPPING = (1 << 5),
>> };
>>
>> int msi_domain_set_affinity(struct irq_data *data, const struct
>> cpumask *mask,
>>
>
Powered by blists - more mailing lists