All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baolu Lu <baolu.lu@linux.intel.com>
To: Jacob Pan <jacob.jun.pan@linux.intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	iommu@lists.linux.dev, Robin Murphy <robin.murphy@arm.com>,
	Jason Gunthorpe <jgg@nvidia.com>, Joerg Roedel <joro@8bytes.org>,
	dmaengine@vger.kernel.org, vkoul@kernel.org
Cc: baolu.lu@linux.intel.com, Will Deacon <will@kernel.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Raj Ashok <ashok.raj@intel.com>,
	"Tian, Kevin" <kevin.tian@intel.com>, Yi Liu <yi.l.liu@intel.com>,
	"Yu, Fenghua" <fenghua.yu@intel.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Tony Luck <tony.luck@intel.com>,
	"Zanussi, Tom" <tom.zanussi@intel.com>
Subject: Re: [PATCH v4 4/7] iommu/vt-d: Reserve RID_PASID from global PASID space
Date: Mon, 10 Apr 2023 09:59:45 +0800	[thread overview]
Message-ID: <c8373d68-9f15-e9a5-d19f-c050f23ac85d@linux.intel.com> (raw)
In-Reply-To: <20230407180554.2784285-5-jacob.jun.pan@linux.intel.com>

On 4/8/23 2:05 AM, Jacob Pan wrote:
> On VT-d platforms, RID_PASID is used for DMA request without PASID. We
> should not treat RID_PASID special instead let it be allocated from the
> global PASID number space. Non-zero value can be used in RID_PASID on
> Intel VT-d.
> 
> For ARM, AMD and others that_always_  use 0 as RID_PASID, there is no
> impact in that SVA PASID allocation base is 1.
> 
> With this change, devices do both DMA with PASID and SVA will not worry
> about conflicts when it comes to allocating PASIDs for in-kernel DMA.
> 
> Signed-off-by: Jacob Pan<jacob.jun.pan@linux.intel.com>
> ---
>   drivers/iommu/intel/iommu.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> index 9f737ef55463..cbb2670f88ca 100644
> --- a/drivers/iommu/intel/iommu.c
> +++ b/drivers/iommu/intel/iommu.c
> @@ -3956,6 +3956,10 @@ int __init intel_iommu_init(void)
>   
>   	intel_iommu_enabled = 1;
>   
> +	/* Reserved RID_PASID from the global namespace for legacy DMA */
> +	WARN_ON(iommu_alloc_global_pasid(PASID_RID2PASID, PASID_RID2PASID) !=
> +		PASID_RID2PASID);

How about moving above line up a bit? For example, at least before
iommu_device_register(). This is the starting point where device drivers
may want global PASIDs.

Best regards,
baolu

  reply	other threads:[~2023-04-10  1:59 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-07 18:05 [PATCH v4 0/7] Re-enable IDXD kernel workqueue under DMA API Jacob Pan
2023-04-07 18:05 ` [PATCH v4 1/7] iommu/vt-d: Use non-privileged mode for all PASIDs Jacob Pan
2023-04-07 18:05 ` [PATCH v4 2/7] iommu/vt-d: Remove PASID supervisor request support Jacob Pan
2023-04-07 18:05 ` [PATCH v4 3/7] iommu: Support allocation of global PASIDs outside SVA Jacob Pan
2023-04-10  1:34   ` Baolu Lu
2023-04-11  8:02   ` Tian, Kevin
2023-04-12  1:37     ` Baolu Lu
2023-04-17 16:46       ` Jacob Pan
2023-04-18  2:06         ` Baolu Lu
2023-04-18 23:04           ` Jacob Pan
2023-04-19  2:40             ` Baolu Lu
2023-04-19 21:05               ` Jacob Pan
2023-04-17 16:07     ` Jacob Pan
2023-04-07 18:05 ` [PATCH v4 4/7] iommu/vt-d: Reserve RID_PASID from global PASID space Jacob Pan
2023-04-10  1:59   ` Baolu Lu [this message]
2023-04-17 16:36     ` Jacob Pan
2023-04-07 18:05 ` [PATCH v4 5/7] iommu/vt-d: Make device pasid attachment explicit Jacob Pan
2023-04-10  2:46   ` Baolu Lu
2023-04-10  3:14     ` Baolu Lu
2023-04-18 21:32     ` Jacob Pan
2023-04-19  2:26       ` Baolu Lu
2023-04-07 18:05 ` [PATCH v4 6/7] iommu/vt-d: Implement set_dev_pasid domain op Jacob Pan
2023-04-07 18:05 ` [PATCH v4 7/7] dmaengine/idxd: Re-enable kernel workqueue under DMA API Jacob Pan

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=c8373d68-9f15-e9a5-d19f-c050f23ac85d@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=fenghua.yu@intel.com \
    --cc=iommu@lists.linux.dev \
    --cc=jacob.jun.pan@linux.intel.com \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=tom.zanussi@intel.com \
    --cc=tony.luck@intel.com \
    --cc=vkoul@kernel.org \
    --cc=will@kernel.org \
    --cc=yi.l.liu@intel.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.