Re: [PATCH v6 0/9] ACPI/IORT: Support for IORT RMR node

2021-08-02 Thread j...@8bytes.org
On Tue, Jul 27, 2021 at 06:51:56AM +, Shameerali Kolothum Thodi wrote:
> A gentle ping on this...

This needs more reviews, and please add

Will Deacon 

when you post the next version of this patch-set.

Regards,

Joerg
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [PATCH v6 0/9] ACPI/IORT: Support for IORT RMR node

2021-07-27 Thread Hanjun Guo

On 2021/7/16 16:34, Shameer Kolothum wrote:

Hi,

Major Changes from v5:
- 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.


I use the updated firmware from Huiqiang(Cced), tested on
my Kunpeng 920 server, the 3408iMRraid and 3416iMRraid can
work as expected with SMMUv3 enabled.

Tested-by: Hanjun Guo 
Tested-by: Huiqiang Wang 

Thanks
Hanjun
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


RE: [PATCH v6 0/9] ACPI/IORT: Support for IORT RMR node

2021-07-27 Thread Shameerali Kolothum Thodi


> -Original Message-
> From: Laurentiu Tudor [mailto:laurentiu.tu...@nxp.com]
> Sent: 19 July 2021 14:46
> To: Shameerali Kolothum Thodi ;
> linux-arm-ker...@lists.infradead.org; linux-a...@vger.kernel.org;
> iommu@lists.linux-foundation.org
> Cc: j...@solid-run.com; Linuxarm ;
> steven.pr...@arm.com; Guohanjun (Hanjun Guo) ;
> yangyicong ; sami.muja...@arm.com;
> robin.mur...@arm.com; wanghuiqiang 
> Subject: Re: [PATCH v6 0/9] ACPI/IORT: Support for IORT RMR node
> 
> On 7/16/2021 11:34 AM, Shameer Kolothum wrote:
> > Hi,
> >
> > Major Changes from v5:
> > - 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.

[...]

> >
> Validated on a NXP LX2160A with SMMUv2, so:
> 
> Tested-by: Laurentiu Tudor 
> 

Thanks for testing.

Hi All,

A gentle ping on this...

I am planning to respin this with the fix suggested by Steve in
patch #8 for SMMUv2. But would wait till other patches get a
proper review so that I can include those comments as well if
any.

Thanks,
Shameer
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [PATCH v6 0/9] ACPI/IORT: Support for IORT RMR node

2021-07-19 Thread Laurentiu Tudor
On 7/16/2021 11:34 AM, Shameer Kolothum wrote:
> Hi,
> 
> Major Changes from v5:
> - 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.
> 
> Sanity tested on a HiSilicon D06(SMMUv3). Further testing and
> feedback is greatly appreciated.
> 
> Thanks,
> Shameer
> 
> --
> 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 union to struct iommu_resv_region
>   ACPI/IORT: Add support for RMR node parsing
>   iommu/dma: Introduce generic helper to retrieve RMR info
>   ACPI/IORT: Add a helper to retrieve RMR memory regions
>   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
>   iommu/dma: Reserve any RMR regions associated with a dev
> 
>  drivers/acpi/arm64/iort.c   | 172 +++-
>  drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c |  76 +++--
>  drivers/iommu/arm/arm-smmu/arm-smmu.c   |  48 ++
>  drivers/iommu/dma-iommu.c   |  89 +-
>  include/linux/acpi_iort.h   |   7 +
>  include/linux/dma-iommu.h   |  13 ++
>  include/linux/iommu.h   |  11 ++
>  7 files changed, 393 insertions(+), 23 deletions(-)
>
Validated on a NXP LX2160A with SMMUv2, so:

Tested-by: Laurentiu Tudor 

---
Thanks & Best Regards, Laurentiu
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

[PATCH v6 0/9] ACPI/IORT: Support for IORT RMR node

2021-07-16 Thread Shameer Kolothum
Hi,

Major Changes from v5:
- 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.

Sanity tested on a HiSilicon D06(SMMUv3). Further testing and
feedback is greatly appreciated.

Thanks,
Shameer

--
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 union to struct iommu_resv_region
  ACPI/IORT: Add support for RMR node parsing
  iommu/dma: Introduce generic helper to retrieve RMR info
  ACPI/IORT: Add a helper to retrieve RMR memory regions
  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
  iommu/dma: Reserve any RMR regions associated with a dev

 drivers/acpi/arm64/iort.c   | 172 +++-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c |  76 +++--
 drivers/iommu/arm/arm-smmu/arm-smmu.c   |  48 ++
 drivers/iommu/dma-iommu.c   |  89 +-
 include/linux/acpi_iort.h   |   7 +
 include/linux/dma-iommu.h   |  13 ++
 include/linux/iommu.h   |  11 ++
 7 files changed, 393 insertions(+), 23 deletions(-)

-- 
2.17.1

___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu