Linux IOMMU Development
 help / color / mirror / Atom feed
From: Vasant Hegde <vasant.hegde@amd.com>
To: joro@8bytes.org
Cc: suravee.suthikulpanit@amd.com, wei.huang2@amd.com,
	jsnitsel@redhat.com, jgg@ziepe.ca,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>
Subject: Re: [PATCH v6 00/14] iommu/amd: SVA Support (Part 1) - cleanup/refactoring
Date: Thu, 21 Sep 2023 15:19:37 +0530	[thread overview]
Message-ID: <04e44120-61fb-3aa1-50b7-8a9ac01cea7f@amd.com> (raw)
In-Reply-To: <20230921092147.5930-1-vasant.hegde@amd.com>

Hi Joerg,



On 9/21/2023 2:51 PM, Vasant Hegde wrote:
> This is part 1 of the 4-part series to introduce Share Virtual Address
> (SVA) support, which focuses on cleaning up and refactoring the existing
> code in preparation for subsequent series.
> 
> It contains the following enhancements:
> 
> * Patch 1 - 7:
>   Clean up, refactoring and miscellaneous improvements.
> 
> * Patch 8 - 9:
>   Use global functions to check iommu features
> 
> * Patch 10 - 14:
>   Modify logic to independently enable PCI capabilities (ATS/PASID/PRI)
>   for devices. This allows more flexibility in preparation for SVA and
>   IOPF supports.


This is an independent part of bigger SVA series. This particular series is
tested independently and it works fine. Can you consider picking this series
while we work on sorting out Part3/4?


-Vasant


> 
> This patch series is based on top of linux v6.6-rc1.
> Base commit : 0bb80ecc33a (Linux 6.6-rc1)
> 
> This is also available at github :
>   https://github.com/AMDESE/linux/tree/iommu_sva_part1_v6_v6.6_rc1
> 
> Thanks Jason, Jerry, Robin for reviewing previous versions and providing valuable
> feedbacks.
> 
> 
> Changes from v5 -> v6:
>   - Rebased on top v6.6-rc1
>   - Added Review-by tags
> 
> v5: https://lore.kernel.org/linux-iommu/20230821104227.706997-1-vasant.hegde@amd.com/T/#t
> 
> Changes from v4 -> v5:
>   - Changed dev_data.ppr from bool to bit field
>   - Reverted sysfs_emit that was changing existing behaviour
> 
> v4 : https://lore.kernel.org/linux-iommu/20230815102202.565012-1-vasant.hegde@amd.com/T/#t
> 
> Changes from v3 -> v4:
>   - Dropped patches that were touching iommu_v2.c as we will be deprecating
>     iommu_v2 module.
>   - Dropped Review-by tags for the patches which got modified (mostly the
>     patches that were touching iommu_v2.c code).
>   - Introduced new patch to use global EFR/EFR2 to check the iommu features
>   - Pass enum to set_dte_entry() instead of bool
>   - Used DIV_ROUND_UP instead of loop to calculate gcr3 levels
> 
> v3 : https://lore.kernel.org/linux-iommu/20230804064216.835544-1-vasant.hegde@amd.com/T/#t
> 
> Changes from v2 -> v3:
>   - Removed fallthrough from switch-case
>   - Added lockdep_assert_held() instead of comment on top of the function
>   - Moved macro defination (PPR_HANDLER_IOPF) to the patch where its
>     actually used
>   - Use helper function to allocate memory instead of get_zeroed_page()
>   - Converted boolean to bit fields
> 
> v2 : https://lore.kernel.org/linux-iommu/20230728053609.165183-1-vasant.hegde@amd.com/T/#t
> 
> Changes from v1 -> v2:
>   - Dropped GCR3 related changes from Part1. We are reworking
>     GCR3 management based on Jason's comment. We will post them
>     as separate part.
>   - Addressed review comment from Jason
>   - Added iommu_dev_data.ppr to track PPR status
> 
> v1 : https://lore.kernel.org/linux-iommu/20230712141516.154144-1-vasant.hegde@amd.com/
> 
> 
> Thank you,
> Vasant / Suravee
> 
> 
> Suravee Suthikulpanit (8):
>   iommu/amd: Remove unused amd_io_pgtable.pt_root variable
>   iommu/amd: Consolidate timeout pre-define to amd_iommu_type.h
>   iommu/amd: Consolidate logic to allocate protection domain
>   iommu/amd: Introduce helper functions for managing GCR3 table
>   iommu/amd: Miscellaneous clean up when free domain
>   iommu/amd: Consolidate feature detection and reporting logic
>   iommu/amd: Modify logic for checking GT and PPR features
>   iommu/amd: Introduce iommu_dev_data.ppr
> 
> Vasant Hegde (6):
>   iommu/amd: Refactor protection domain allocation code
>   iommu/amd: Do not set amd_iommu_pgtable in pass-through mode
>   iommu/amd: Rename ats related variables
>   iommu/amd: Introduce iommu_dev_data.flags to track device capabilities
>   iommu/amd: Enable device ATS/PASID/PRI capabilities independently
>   iommu/amd: Initialize iommu_device->max_pasids
> 
>  drivers/iommu/amd/amd_iommu.h       |  28 +-
>  drivers/iommu/amd/amd_iommu_types.h |  31 +-
>  drivers/iommu/amd/init.c            | 116 +++-----
>  drivers/iommu/amd/io_pgtable_v2.c   |   8 +-
>  drivers/iommu/amd/iommu.c           | 442 +++++++++++++++-------------
>  5 files changed, 322 insertions(+), 303 deletions(-)
> 

  parent reply	other threads:[~2023-09-21  9:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-21  9:21 [PATCH v6 00/14] iommu/amd: SVA Support (Part 1) - cleanup/refactoring Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 01/14] iommu/amd: Remove unused amd_io_pgtable.pt_root variable Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 02/14] iommu/amd: Consolidate timeout pre-define to amd_iommu_type.h Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 03/14] iommu/amd: Consolidate logic to allocate protection domain Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 04/14] iommu/amd: Refactor protection domain allocation code Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 05/14] iommu/amd: Introduce helper functions for managing GCR3 table Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 06/14] iommu/amd: Do not set amd_iommu_pgtable in pass-through mode Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 07/14] iommu/amd: Miscellaneous clean up when free domain Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 08/14] iommu/amd: Consolidate feature detection and reporting logic Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 09/14] iommu/amd: Modify logic for checking GT and PPR features Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 10/14] iommu/amd: Rename ats related variables Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 11/14] iommu/amd: Introduce iommu_dev_data.ppr Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 12/14] iommu/amd: Introduce iommu_dev_data.flags to track device capabilities Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 13/14] iommu/amd: Enable device ATS/PASID/PRI capabilities independently Vasant Hegde
2023-09-21  9:21 ` [PATCH v6 14/14] iommu/amd: Initialize iommu_device->max_pasids Vasant Hegde
2023-09-21  9:49 ` Vasant Hegde [this message]
2023-09-21 17:21   ` [PATCH v6 00/14] iommu/amd: SVA Support (Part 1) - cleanup/refactoring Jason Gunthorpe
2023-09-25 10:40     ` Joerg Roedel
2023-09-25 11:02       ` Vasant Hegde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=04e44120-61fb-3aa1-50b7-8a9ac01cea7f@amd.com \
    --to=vasant.hegde@amd.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@ziepe.ca \
    --cc=joro@8bytes.org \
    --cc=jsnitsel@redhat.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=wei.huang2@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox