Re: [PATCH v2] iommu/arm: Add module parameter to set msi iova address

From: Auger Eric
Date: Wed Sep 23 2020 - 02:32:57 EST


Hi Will,

On 9/21/20 10:45 PM, Will Deacon wrote:
> On Mon, Sep 14, 2020 at 11:13:07AM -0700, Vennila Megavannan wrote:
>> From: Srinath Mannam <srinath.mannam@xxxxxxxxxxxx>
>>
>> Add provision to change default value of MSI IOVA base to platform's
>> suitable IOVA using module parameter. The present hardcoded MSI IOVA base
>> may not be the accessible IOVA ranges of platform.
>>
>> If any platform has the limitaion to access default MSI IOVA, then it can
>> be changed using "arm-smmu.msi_iova_base=0xa0000000" command line argument.
>>
>> Signed-off-by: Srinath Mannam <srinath.mannam@xxxxxxxxxxxx>
>> Co-developed-by: Vennila Megavannan <vemegava@xxxxxxxxxxxxxxxxxxx>
>> Signed-off-by: Vennila Megavannan <vemegava@xxxxxxxxxxxxxxxxxxx>
>> ---
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 5 ++++-
>> drivers/iommu/arm/arm-smmu/arm-smmu.c | 5 ++++-
>> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> This feels pretty fragile. Wouldn't it be better to realise that there's
> a region conflict with iommu_dma_get_resv_regions() and move the MSI window
> accordingly at runtime?

Since cd2c9fcf5c66 ("iommu/dma: Move PCI window region reservation back
into dma specific path"), the PCI host bridge windows are not exposed by
iommu_dma_get_resv_regions() anymore. If I understood correctly, what is
attempted here is to avoid the collision between such PCI host bridge
window and the MSI IOVA range.

Thanks

Eric
>
> Will
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>