From: Jason Gunthorpe <jgg@ziepe.ca>
To: Vasant Hegde <vasant.hegde@amd.com>
Cc: iommu@lists.linux.dev, joro@8bytes.org,
suravee.suthikulpanit@amd.com, wei.huang2@amd.com,
jsnitsel@redhat.com
Subject: Re: [PATCH v2 15/16] iommu/amd: Initialize iommu_device->max_pasids
Date: Mon, 31 Jul 2023 09:07:04 -0300 [thread overview]
Message-ID: <ZMej6GCFu6TJgOY/@ziepe.ca> (raw)
In-Reply-To: <b5bb3e1e-a933-a04c-53e5-bb05c3ad38c1@amd.com>
On Mon, Jul 31, 2023 at 12:33:18PM +0530, Vasant Hegde wrote:
> On 7/28/2023 8:16 PM, Jason Gunthorpe wrote:
> > On Fri, Jul 28, 2023 at 05:36:08AM +0000, Vasant Hegde wrote:
> >> Commit 1adf3cc20d69 ("iommu: Add max_pasids field in struct iommu_device")
> >> introduced a variable struct iommu_device.max_pasids to track max
> >> PASIDS supported by each IOMMU.
> >>
> >> Let us initialize this field for AMD IOMMU. IOMMU core will use this value
> >> to set max PASIDs per device (see __iommu_probe_device()).
> >>
> >> Also remove unused global 'amd_iommu_max_pasid' variable.
> >>
> >> Finally current code restricts max PASIDs to 16 bits and calls BUG_ON if
> >> max PASID is more than 16bit. This patch replaces BUG_ON with WARN_ON
> >> as system can continue to work with 16-bit PASID.
> >
> >> pasmax = iommu->features & FEATURE_PASID_MASK;
> >> pasmax >>= FEATURE_PASID_SHIFT;
> >> - max_pasid = (1 << (pasmax + 1)) - 1;
> >
> > This can be up to (1<<32)-1
> >
> >> -
> >> - amd_iommu_max_pasid = min(amd_iommu_max_pasid, max_pasid);
> >> + iommu->iommu.max_pasids = (1 << (pasmax + 1)) - 1;
> >
> > So why not
> >
> > iommu->iommu.max_pasids = min((1 << (pasmax + 1)) - 1, PASID_MAX)
>
> Because some older chips had support upto 16bit PASID only.
Sure, but I mean why not just directly cap it to PASID_MAX and not
bother with the WARN? If you WARN then a new chip reporting > 16 bits
of PASID support will cause pointless WARN_ONs at boot time even
though the driver will run fine?
Jason
next prev parent reply other threads:[~2023-07-31 12:07 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-28 5:35 [PATCH v2 00/16] iommu/amd: SVA Support (Part 1) - cleanup/refactoring Vasant Hegde
2023-07-28 5:35 ` [PATCH v2 01/16] iommu/amd: Remove unused amd_io_pgtable.pt_root variable Vasant Hegde
2023-07-28 13:17 ` Jason Gunthorpe
2023-07-28 5:35 ` [PATCH v2 02/16] iommu/amd: Consolidate timeout pre-define to amd_iommu_type.h Vasant Hegde
2023-07-28 13:48 ` Jason Gunthorpe
2023-07-28 5:35 ` [PATCH v2 03/16] iommu/amd: Consolidate logic to allocate protection domain Vasant Hegde
2023-07-28 13:49 ` Jason Gunthorpe
2023-07-28 5:35 ` [PATCH v2 04/16] iommu/amd: Refactor protection domain allocation code Vasant Hegde
2023-07-28 13:53 ` Jason Gunthorpe
2023-07-31 6:30 ` Vasant Hegde
2023-07-31 12:03 ` Jason Gunthorpe
2023-07-28 5:35 ` [PATCH v2 05/16] iommu/amd/iommu_v2: Use protection_domain in struct device_state Vasant Hegde
2023-07-28 14:00 ` Jason Gunthorpe
2023-07-28 5:35 ` [PATCH v2 06/16] iommu/amd: Introduce helper functions for managing GCR3 table Vasant Hegde
2023-07-28 14:09 ` Jason Gunthorpe
2023-07-31 10:40 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 07/16] iommu/amd: Use struct protection_domain in helper functions Vasant Hegde
2023-07-28 14:10 ` Jason Gunthorpe
2023-07-28 5:36 ` [PATCH v2 08/16] iommu/amd: Do not set amd_iommu_pgtable in pass-through mode Vasant Hegde
2023-07-28 14:11 ` Jason Gunthorpe
2023-07-31 6:35 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 09/16] iommu/amd: Miscellaneous clean up when free domain Vasant Hegde
2023-07-28 14:13 ` Jason Gunthorpe
2023-07-31 9:39 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 10/16] iommu/amd: Modify logic for checking GT and PPR features Vasant Hegde
2023-07-28 14:24 ` Jason Gunthorpe
2023-07-31 11:51 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 11/16] iommu/amd: Rename ats related variables Vasant Hegde
2023-07-28 14:27 ` Jason Gunthorpe
2023-07-31 9:15 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 12/16] iommu/amd: Add support for different types of PPR handler Vasant Hegde
2023-07-28 14:31 ` Jason Gunthorpe
2023-07-31 8:02 ` Vasant Hegde
2023-07-31 12:11 ` Jason Gunthorpe
2023-07-31 12:28 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 13/16] iommu/amd: Introduce iommu_dev_data.flags to track device capabilities Vasant Hegde
2023-07-28 14:38 ` Jason Gunthorpe
2023-07-31 7:57 ` Vasant Hegde
2023-07-31 12:08 ` Jason Gunthorpe
2023-08-04 6:40 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 14/16] iommu/amd: Enable device ATS/PASID/PRI capabilities independently Vasant Hegde
2023-07-28 14:40 ` Jason Gunthorpe
2023-07-28 5:36 ` [PATCH v2 15/16] iommu/amd: Initialize iommu_device->max_pasids Vasant Hegde
2023-07-28 14:46 ` Jason Gunthorpe
2023-07-31 7:03 ` Vasant Hegde
2023-07-31 12:07 ` Jason Gunthorpe [this message]
2023-07-31 16:04 ` Vasant Hegde
2023-07-28 5:36 ` [PATCH v2 16/16] iommu/amd: Simplify amd_iommu_device_info() Vasant Hegde
2023-07-28 14:47 ` Jason Gunthorpe
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=ZMej6GCFu6TJgOY/@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=jsnitsel@redhat.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=vasant.hegde@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.