[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed43d5bb-313f-477b-b453-375c9721cafb@linux.ibm.com>
Date: Mon, 9 Dec 2024 14:27:04 -0500
From: Matthew Rosato <mjrosato@...ux.ibm.com>
To: joro@...tes.org, will@...nel.org, robin.murphy@....com,
gerald.schaefer@...ux.ibm.com, schnelle@...ux.ibm.com
Cc: hca@...ux.ibm.com, gor@...ux.ibm.com, agordeev@...ux.ibm.com,
svens@...ux.ibm.com, borntraeger@...ux.ibm.com, clegoate@...hat.com,
iommu@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-s390@...r.kernel.org
Subject: Re: [PATCH 0/7] iommu/s390: support additional table regions
On 12/9/24 2:25 PM, Matthew Rosato wrote:
> The series extends the maximum table size allowed by s390-iommu by
> increasing the number of table regions supported. It also adds logic to
> construct the table use the minimum number of regions based upon aperture
> calculation.
>
> Matthew Rosato (7):
> iommu/s390: add initial fields to track table size
> s390/pci: set appropriate IOTA region type
> iommu/s390: add basic routines for region 1st and 2nd tables
> iommu/s390: support cleanup of additional table regions
> iommu/s390: support iova_to_phys for additional table regions
> iommu/s390: support map/unmap for additional table regions
> iommu/s390: allow larger region tables
>
> arch/s390/include/asm/pci.h | 2 +
> arch/s390/include/asm/pci_dma.h | 3 +
> arch/s390/pci/pci.c | 17 +-
> drivers/iommu/s390-iommu.c | 289 +++++++++++++++++++++++++++++---
> 4 files changed, 285 insertions(+), 26 deletions(-)
>
One note: this series and 'iommu/s390: add support for IOMMU passthrough' have a minor merge conflict but are otherwise independent. If anyone would care to test with both series simultaneously here is the conflict resolution of merging this series on top of 'iommu/s390: add support for IOMMU passthrough':
diff --cc arch/s390/pci/pci.c
index 758b23331754,9f7adf913729..291a3ee4d059
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@@ -130,10 -146,7 +145,10 @@@ int zpci_register_ioat(struct zpci_dev
fib.pal = limit + (1 << 12);
else
fib.pal = limit;
- fib.iota = iota | zpci_get_iota_region_flag(zdev);
+ if (iota == 0)
+ fib.iota = iota;
+ else
- fib.iota = iota | ZPCI_IOTA_RTTO_FLAG;
++ fib.iota = iota | zpci_get_iota_region_flag(zdev);
fib.gd = zdev->gisa;
cc = zpci_mod_fc(req, &fib, status);
if (cc)
Powered by blists - more mailing lists