[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f9674d19-74bf-1209-5d9d-1517d3ad27f7@amd.com>
Date: Mon, 4 Jan 2021 18:01:37 +0700
From: Suravee Suthikulpanit <suravee.suthikulpanit@....com>
To: linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org
Cc: joro@...tes.org, will@...nel.org
Subject: Re: [PATCH v4 00/13] iommu/amd: Add Generic IO Page Table Framework
Support
Hi Joerg / Will,
Happy New Year!! Just want to follow up on this series.
Thanks,
Suravee
On 12/15/20 2:36 PM, Suravee Suthikulpanit wrote:
> The framework allows callable implementation of IO page table.
> This allows AMD IOMMU driver to switch between different types
> of AMD IOMMU page tables (e.g. v1 vs. v2).
>
> This series refactors the current implementation of AMD IOMMU v1 page table
> to adopt the framework. There should be no functional change.
> Subsequent series will introduce support for the AMD IOMMU v2 page table.
>
> Thanks,
> Suravee
>
> Change from V3 (https://lore.kernel.org/linux-iommu/20201004014549.16065-1-suravee.suthikulpanit@amd.com/)
> - Rebase to v5.10
> - Patch 2: Add struct iommu_flush_ops (previously in patch 13 of v3)
> - Patch 7: Consolidate logic into v1_free_pgtable() instead of amd_iommu_free_pgtable()
> - Patch 12: Check ops->[map|unmap] before calling.
> - Patch 13: Setup page table when allocating domain (instead of when attaching device).
>
> Change from V2 (https://lore.kernel.org/lkml/835c0d46-ed96-9fbe-856a-777dcffac967@amd.com/T/#t)
> - Patch 2: Introduce helper function io_pgtable_cfg_to_data.
> - Patch 13: Put back the struct iommu_flush_ops since patch v2 would run into
> NULL pointer bug when calling free_io_pgtable_ops if not defined.
>
> Change from V1 (https://lkml.org/lkml/2020/9/23/251)
> - Do not specify struct io_pgtable_cfg.coherent_walk, since it is
> not currently used. (per Robin)
> - Remove unused struct iommu_flush_ops. (patch 2/13)
> - Move amd_iommu_setup_io_pgtable_ops to iommu.c instead of io_pgtable.c
> patch 13/13)
>
> Suravee Suthikulpanit (13):
> iommu/amd: Re-define amd_iommu_domain_encode_pgtable as inline
> iommu/amd: Prepare for generic IO page table framework
> iommu/amd: Move pt_root to struct amd_io_pgtable
> iommu/amd: Convert to using amd_io_pgtable
> iommu/amd: Declare functions as extern
> iommu/amd: Move IO page table related functions
> iommu/amd: Restructure code for freeing page table
> iommu/amd: Remove amd_iommu_domain_get_pgtable
> iommu/amd: Rename variables to be consistent with struct
> io_pgtable_ops
> iommu/amd: Refactor fetch_pte to use struct amd_io_pgtable
> iommu/amd: Introduce iommu_v1_iova_to_phys
> iommu/amd: Introduce iommu_v1_map_page and iommu_v1_unmap_page
> iommu/amd: Adopt IO page table framework for AMD IOMMU v1 page table
>
> drivers/iommu/amd/Kconfig | 1 +
> drivers/iommu/amd/Makefile | 2 +-
> drivers/iommu/amd/amd_iommu.h | 22 +
> drivers/iommu/amd/amd_iommu_types.h | 43 +-
> drivers/iommu/amd/init.c | 2 +
> drivers/iommu/amd/io_pgtable.c | 564 +++++++++++++++++++++++
> drivers/iommu/amd/iommu.c | 672 ++++------------------------
> drivers/iommu/io-pgtable.c | 3 +
> include/linux/io-pgtable.h | 2 +
> 9 files changed, 707 insertions(+), 604 deletions(-)
> create mode 100644 drivers/iommu/amd/io_pgtable.c
>
Powered by blists - more mailing lists