mbox series

[v13,0/9] ACPI/IORT: Support for IORT RMR node

Message ID 20220615101044.1972-1-shameerali.kolothum.thodi@huawei.com
Headers show
Series ACPI/IORT: Support for IORT RMR node | expand

Message

Shameerali Kolothum Thodi June 15, 2022, 10:10 a.m. UTC
Hi

v12 --> v13
  -No changes. Rebased to 5.19-rc1.
  -Picked up tags received from Laurentiu, Hanjun and Will. Thanks!.

Thanks,
Shameer

Comments

Shameerali Kolothum Thodi June 24, 2022, 3:44 p.m. UTC | #1
> -----Original Message-----
> From: Steven Price [mailto:steven.price@arm.com]
> Sent: 17 June 2022 13:42
> To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>;
> linux-arm-kernel@lists.infradead.org; linux-acpi@vger.kernel.org;
> iommu@lists.linux-foundation.org
> Cc: Linuxarm <linuxarm@huawei.com>; lorenzo.pieralisi@arm.com;
> joro@8bytes.org; robin.murphy@arm.com; will@kernel.org; wanghuiqiang
> <wanghuiqiang@huawei.com>; Guohanjun (Hanjun Guo)
> <guohanjun@huawei.com>; Sami.Mujawar@arm.com; jon@solid-run.com;
> eric.auger@redhat.com; laurentiu.tudor@nxp.com; hch@infradead.org
> Subject: Re: [PATCH v13 0/9] ACPI/IORT: Support for IORT RMR node
> 
> On 15/06/2022 11:10, Shameer Kolothum wrote:
> > Hi
> >
> > v12 --> v13
> >   -No changes. Rebased to 5.19-rc1.
> >   -Picked up tags received from Laurentiu, Hanjun and Will. Thanks!.
> 
> You've already got my Tested-by tags, but just to confirm I gave this a
> spin and it works fine.

Thanks Steve.

I think the series is now in a good shape to be merged.

Hi Will/Robin,

Appreciate, if you could please take a look at the remaining SMMU related 
patches(7-9) and provide your approval?

Thanks,
Shameer

> 
> Thanks,
> 
> Steve
> 
> >
> > Thanks,
> > Shameer
> >
> > From old:
> > We have faced issues with 3408iMR RAID controller cards which
> > fail to boot when SMMU is enabled. This is because these
> > controllers make use of host memory for various caching related
> > purposes and when SMMU is enabled the iMR firmware fails to
> > access these memory regions as there is no mapping for them.
> > IORT RMR provides a way for UEFI to describe and report these
> > memory regions so that the kernel can make a unity mapping for
> > these in SMMU.
> >
> > Change History:
> >
> > v11 --> v12
> >   -Minor fix in patch #4 to address the issue reported by the kernel test
> robot.
> >   -Added R-by tags by Christoph(patch #1) and Lorenzo(patch #4).
> >   -Added T-by from Steve to all relevant patches. Many thanks!.
> >
> > v10 --> v11
> >  -Addressed Christoph's comments. We now have a  callback to
> >   struct iommu_resv_region to free all related memory and also dropped
> >   the FW specific union and now has a container struct
> iommu_iort_rmr_data.
> >   See patches #1 & #4
> >  -Added R-by from Christoph.
> >  -Dropped R-by from Lorenzo for patches #4 & #5 due to the above
> changes.
> >  -Also dropped T-by from Steve and Laurentiu. Many thanks for your test
> >   efforts. I have done basic sanity testing on my platform but please
> >   do it again at your end.
> >
> > v9 --> v10
> >  - Dropped patch #1 ("Add temporary RMR node flag definitions") since
> >    the ACPICA header updates patch is now in the mailing list
> >  - Based on the suggestion from Christoph, introduced a
> >    resv_region_free_fw_data() callback in struct iommu_resv_region and
> >    used that to free RMR specific memory allocations.
> >
> > v8 --> v9
> >  - Adressed comments from Robin on interfaces.
> >  - Addressed comments from Lorenzo.
> >
> > v7 --> v8
> >   - Patch #1 has temp definitions for RMR related changes till
> >     the ACPICA header changes are part of kernel.
> >   - No early parsing of RMR node info and is only parsed at the
> >     time of use.
> >   - Changes to the RMR get/put API format compared to the
> >     previous version.
> >   - Support for RMR descriptor shared by multiple stream IDs.
> >
> > v6 --> v7
> >  -fix pointed out by Steve to the SMMUv2 SMR bypass install in patch #8.
> >
> > v5 --> v6
> > - Addressed comments from Robin & Lorenzo.
> >   : Moved iort_parse_rmr() to acpi_iort_init() from
> >     iort_init_platform_devices().
> >   : Removed use of struct iort_rmr_entry during the initial
> >     parse. Using struct iommu_resv_region instead.
> >   : Report RMR address alignment and overlap errors, but continue.
> >   : Reworked arm_smmu_init_bypass_stes() (patch # 6).
> > - Updated SMMUv2 bypass SMR code. Thanks to Jon N (patch #8).
> > - Set IOMMU protection flags(IOMMU_CACHE, IOMMU_MMIO) based
> >   on Type of RMR region. Suggested by Jon N.
> >
> > v4 --> v5
> >  -Added a fw_data union to struct iommu_resv_region and removed
> >   struct iommu_rmr (Based on comments from Joerg/Robin).
> >  -Added iommu_put_rmrs() to release mem.
> >  -Thanks to Steve for verifying on SMMUv2, but not added the Tested-by
> >   yet because of the above changes.
> >
> > v3 -->v4
> > -Included the SMMUv2 SMR bypass install changes suggested by
> >  Steve(patch #7)
> > -As per Robin's comments, RMR reserve implementation is now
> >  more generic  (patch #8) and dropped v3 patches 8 and 10.
> > -Rebase to 5.13-rc1
> >
> > RFC v2 --> v3
> >  -Dropped RFC tag as the ACPICA header changes are now ready to be
> >   part of 5.13[0]. But this series still has a dependency on that patch.
> >  -Added IORT E.b related changes(node flags, _DSM function 5 checks for
> >   PCIe).
> >  -Changed RMR to stream id mapping from M:N to M:1 as per the spec
> and
> >   discussion here[1].
> >  -Last two patches add support for SMMUv2(Thanks to Jon Nettleton!)
> >
> > Jon Nettleton (1):
> >   iommu/arm-smmu: Get associated RMR info and install bypass SMR
> >
> > Shameer Kolothum (8):
> >   iommu: Introduce a callback to struct iommu_resv_region
> >   ACPI/IORT: Make iort_iommu_msi_get_resv_regions() return void
> >   ACPI/IORT: Provide a generic helper to retrieve reserve regions
> >   ACPI/IORT: Add support to retrieve IORT RMR reserved regions
> >   ACPI/IORT: Add a helper to retrieve RMR info directly
> >   iommu/arm-smmu-v3: Introduce strtab init helper
> >   iommu/arm-smmu-v3: Refactor arm_smmu_init_bypass_stes() to force
> >     bypass
> >   iommu/arm-smmu-v3: Get associated RMR info and install bypass STE
> >
> >  drivers/acpi/arm64/iort.c                   | 360
> ++++++++++++++++++--
> >  drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c |  78 ++++-
> >  drivers/iommu/arm/arm-smmu/arm-smmu.c       |  52 +++
> >  drivers/iommu/dma-iommu.c                   |   2 +-
> >  drivers/iommu/iommu.c                       |  16 +-
> >  include/linux/acpi_iort.h                   |  14 +-
> >  include/linux/iommu.h                       |  10 +
> >  7 files changed, 486 insertions(+), 46 deletions(-)
> >
>
Bjoern A. Zeeb June 27, 2022, 11:38 a.m. UTC | #2
On Fri, 24 Jun 2022, Shameerali Kolothum Thodi wrote:

Hi,

>> -----Original Message-----
>> From: Steven Price [mailto:steven.price@arm.com]
>> Sent: 17 June 2022 13:42
>> To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>;
>> linux-arm-kernel@lists.infradead.org; linux-acpi@vger.kernel.org;
>> iommu@lists.linux-foundation.org
>> Cc: Linuxarm <linuxarm@huawei.com>; lorenzo.pieralisi@arm.com;
>> joro@8bytes.org; robin.murphy@arm.com; will@kernel.org; wanghuiqiang
>> <wanghuiqiang@huawei.com>; Guohanjun (Hanjun Guo)
>> <guohanjun@huawei.com>; Sami.Mujawar@arm.com; jon@solid-run.com;
>> eric.auger@redhat.com; laurentiu.tudor@nxp.com; hch@infradead.org
>> Subject: Re: [PATCH v13 0/9] ACPI/IORT: Support for IORT RMR node
>>
>> On 15/06/2022 11:10, Shameer Kolothum wrote:
>>> Hi
>>>
>>> v12 --> v13
>>>   -No changes. Rebased to 5.19-rc1.
>>>   -Picked up tags received from Laurentiu, Hanjun and Will. Thanks!.
>>
>> You've already got my Tested-by tags, but just to confirm I gave this a
>> spin and it works fine.
>
> Thanks Steve.
>
> I think the series is now in a good shape to be merged.
>
> Hi Will/Robin,
>
> Appreciate, if you could please take a look at the remaining SMMU related
> patches(7-9) and provide your approval?
>
> Thanks,
> Shameer

First of all thanks to all of you for keeping this going.

I've read through most of this patch series and it doesn't read
like the best sunny days.

I do understand that there are incentives to get things right; sometimes
first make it work, then make it better? Running code often seems a
better alternative than wrong words on paper as users don't care about
the paper.  They only care if their hardware becomes a paperweight
because it's not working.

I was trying to find diplomatic words but the general problem has become
so much bigger than just this change as I am faced with the fact that
vendors are talking to give up maintaining Arm/ACPI and go back to FDT
exclusively, which I believe would be the wrong but an understandable
exit out of a roundabout.

For me this Arm/Linux/ACPI problem becomes double-impact, as I am not
even a Linux person.  And part of what Arm/ACPI was solving was the
any OS can just works on Arm hardware; for a while people were hoping
it could make FDT the next Flash; it just seems it'll not be because
people cannot get fixes or workarounds for real world problems into
Linux timely?

So a very polite but firm prod towards Cambridge from here as well in
the hope that you can make a big change to this world by helping not
to miss the next merge window/release leading to way bigger impact.
It would be rather sad to close the Arm/ACPI chapter for good but it
seems that we may be standing on the verge of it if things do not move
quick now and different in the future.  It'll certainly need change from
all sides but the good things is that at the end of the day we all want
to make the world a better place.

As I mentioned, I have no stakes in this Linux change.
I just care about Arm and ACPI because I saw light and a chance in it
and I would love to see it stay.
Let's all work together in one direction and make it a brighter future
for everyone.  Can we?  Are you in?


May God bless you and your work,
Bjoern
Robin Murphy June 27, 2022, 12:25 p.m. UTC | #3
On 2022-06-24 16:44, Shameerali Kolothum Thodi via iommu wrote:
> 
> 
>> -----Original Message-----
>> From: Steven Price [mailto:steven.price@arm.com]
>> Sent: 17 June 2022 13:42
>> To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>;
>> linux-arm-kernel@lists.infradead.org; linux-acpi@vger.kernel.org;
>> iommu@lists.linux-foundation.org
>> Cc: Linuxarm <linuxarm@huawei.com>; lorenzo.pieralisi@arm.com;
>> joro@8bytes.org; robin.murphy@arm.com; will@kernel.org; wanghuiqiang
>> <wanghuiqiang@huawei.com>; Guohanjun (Hanjun Guo)
>> <guohanjun@huawei.com>; Sami.Mujawar@arm.com; jon@solid-run.com;
>> eric.auger@redhat.com; laurentiu.tudor@nxp.com; hch@infradead.org
>> Subject: Re: [PATCH v13 0/9] ACPI/IORT: Support for IORT RMR node
>>
>> On 15/06/2022 11:10, Shameer Kolothum wrote:
>>> Hi
>>>
>>> v12 --> v13
>>>    -No changes. Rebased to 5.19-rc1.
>>>    -Picked up tags received from Laurentiu, Hanjun and Will. Thanks!.
>>
>> You've already got my Tested-by tags, but just to confirm I gave this a
>> spin and it works fine.
> 
> Thanks Steve.
> 
> I think the series is now in a good shape to be merged.
> 
> Hi Will/Robin,
> 
> Appreciate, if you could please take a look at the remaining SMMU related
> patches(7-9) and provide your approval?

I said v12 looked fine, but for the avoidance of doubt, here it is 
again, as formally as can be:

Acked-by: Robin Murphy <robin.murphy@arm.com>

Thanks,
Robin.
Shameerali Kolothum Thodi June 28, 2022, 7:59 a.m. UTC | #4
> -----Original Message-----
> From: Robin Murphy [mailto:robin.murphy@arm.com]
> Sent: 27 June 2022 13:26
> To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>;
> Steven Price <steven.price@arm.com>; linux-arm-kernel@lists.infradead.org;
> linux-acpi@vger.kernel.org; iommu@lists.linux-foundation.org
> Cc: jon@solid-run.com; Linuxarm <linuxarm@huawei.com>;
> hch@infradead.org; Guohanjun (Hanjun Guo) <guohanjun@huawei.com>;
> Sami.Mujawar@arm.com; will@kernel.org; wanghuiqiang
> <wanghuiqiang@huawei.com>; lpieralisi@kernel.org
> Subject: Re: [PATCH v13 0/9] ACPI/IORT: Support for IORT RMR node
> 
> On 2022-06-24 16:44, Shameerali Kolothum Thodi via iommu wrote:
> >
> >
> >> -----Original Message-----
> >> From: Steven Price [mailto:steven.price@arm.com]
> >> Sent: 17 June 2022 13:42
> >> To: Shameerali Kolothum Thodi
> <shameerali.kolothum.thodi@huawei.com>;
> >> linux-arm-kernel@lists.infradead.org; linux-acpi@vger.kernel.org;
> >> iommu@lists.linux-foundation.org
> >> Cc: Linuxarm <linuxarm@huawei.com>; lorenzo.pieralisi@arm.com;
> >> joro@8bytes.org; robin.murphy@arm.com; will@kernel.org;
> wanghuiqiang
> >> <wanghuiqiang@huawei.com>; Guohanjun (Hanjun Guo)
> >> <guohanjun@huawei.com>; Sami.Mujawar@arm.com;
> jon@solid-run.com;
> >> eric.auger@redhat.com; laurentiu.tudor@nxp.com; hch@infradead.org
> >> Subject: Re: [PATCH v13 0/9] ACPI/IORT: Support for IORT RMR node
> >>
> >> On 15/06/2022 11:10, Shameer Kolothum wrote:
> >>> Hi
> >>>
> >>> v12 --> v13
> >>>    -No changes. Rebased to 5.19-rc1.
> >>>    -Picked up tags received from Laurentiu, Hanjun and Will. Thanks!.
> >>
> >> You've already got my Tested-by tags, but just to confirm I gave this a
> >> spin and it works fine.
> >
> > Thanks Steve.
> >
> > I think the series is now in a good shape to be merged.
> >
> > Hi Will/Robin,
> >
> > Appreciate, if you could please take a look at the remaining SMMU related
> > patches(7-9) and provide your approval?
> 
> I said v12 looked fine, but for the avoidance of doubt, here it is
> again, as formally as can be:
> 
> Acked-by: Robin Murphy <robin.murphy@arm.com>

Thanks Robin.

Hi Joerg,

Now that we have all the required acks, could you please pick this series via
IOMMU tree?

Thanks,
Shameer
Shameerali Kolothum Thodi July 1, 2022, 4:43 p.m. UTC | #5
> -----Original Message-----
> From: Shameerali Kolothum Thodi
> Sent: 28 June 2022 09:00
> To: 'Robin Murphy' <robin.murphy@arm.com>; joro@8bytes.org;
> linux-arm-kernel@lists.infradead.org; linux-acpi@vger.kernel.org;
> iommu@lists.linux-foundation.org
> Cc: jon@solid-run.com; Linuxarm <linuxarm@huawei.com>;
> hch@infradead.org; Guohanjun (Hanjun Guo) <guohanjun@huawei.com>;
> Sami.Mujawar@arm.com; will@kernel.org; wanghuiqiang
> <wanghuiqiang@huawei.com>; lpieralisi@kernel.org; Steven Price
> <steven.price@arm.com>; lorenzo.pieralisi@gmail.com
> Subject: RE: [PATCH v13 0/9] ACPI/IORT: Support for IORT RMR node
> > > Hi Will/Robin,
> > >
> > > Appreciate, if you could please take a look at the remaining SMMU
> > > related
> > > patches(7-9) and provide your approval?
> >
> > I said v12 looked fine, but for the avoidance of doubt, here it is
> > again, as formally as can be:
> >
> > Acked-by: Robin Murphy <robin.murphy@arm.com>
> 
> Thanks Robin.
> 
> Hi Joerg,
> 
> Now that we have all the required acks, could you please pick this series via
> IOMMU tree?

Hi Will,

Since Joerg hasn't replied yet, just wondering could you please take it through ARM
SMMU tree if that makes sense? Don't want to miss the 5.20 merge window for this
series.

Thanks,
Shameer
Joerg Roedel July 6, 2022, 10:51 a.m. UTC | #6
On Tue, Jun 28, 2022 at 07:59:39AM +0000, Shameerali Kolothum Thodi wrote:
> Now that we have all the required acks, could you please pick this series via
> IOMMU tree?

Applied to core branch, thanks.