public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Lu Baolu <baolu.lu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: Tina Zhang <tina.zhang@intel.com>,
	Erick Archer <erick.archer@gmx.com>,
	Jingqi Liu <Jingqi.liu@intel.com>,
	iommu@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: [PATCH 0/8] [PULL REQUEST] Intel IOMMU updates for Linux v6.9
Date: Tue, 27 Feb 2024 10:14:33 +0800	[thread overview]
Message-ID: <20240227021441.50434-1-baolu.lu@linux.intel.com> (raw)

Hi Joerg,

The following changes have been queued for v6.9:

 - Add rbtree to track iommu probed devices
 - Add Intel IOMMU debugfs document
 - Cleanup and refactoring

All patches are based on v6.8-rc6. The series is also available at:
https://github.com/LuBaolu/intel-iommu/commits/vtd-update-for-v6.9

Unfortunately, there is a merge conflict with your next branch, in
drivers/iommu/intel/svm.c. I resolved this conflict as below.

diff --cc drivers/iommu/intel/svm.c
index b644d57da841,bdf3584ca0af..c1bed89b1026
--- a/drivers/iommu/intel/svm.c
+++ b/drivers/iommu/intel/svm.c
@@@ -698,14 -693,20 +688,18 @@@ bad_req
                 * If prq is to be handled outside iommu driver via receiver of
                 * the fault notifiers, we skip the page response here.
                 */
-               if (!pdev)
+               mutex_lock(&iommu->iopf_lock);
+               dev = device_rbtree_find(iommu, req->rid);
+               if (!dev) {
+                       mutex_unlock(&iommu->iopf_lock);
                        goto bad_req;
+               }
  
-               intel_svm_prq_report(iommu, &pdev->dev, req);
-               trace_prq_report(iommu, &pdev->dev, req->qw_0, req->qw_1,
 -              if (intel_svm_prq_report(iommu, dev, req))
 -                      handle_bad_prq_event(iommu, req, QI_RESP_INVALID);
 -              else
 -                      trace_prq_report(iommu, dev, req->qw_0, req->qw_1,
 -                                       req->priv_data[0], req->priv_data[1],
 -                                       iommu->prq_seq_number++);
++              intel_svm_prq_report(iommu, dev, req);
++              trace_prq_report(iommu, dev, req->qw_0, req->qw_1,
 +                               req->priv_data[0], req->priv_data[1],
 +                               iommu->prq_seq_number++);
-               pci_dev_put(pdev);
+               mutex_unlock(&iommu->iopf_lock);
  prq_advance:
                head = (head + sizeof(*req)) & PRQ_RING_MASK;
        }
@@@ -781,17 -794,10 +775,8 @@@ void intel_svm_page_response(struct dev
  
                qi_submit_sync(iommu, &desc, 1, 0);
        }
 -out:
 -      return ret;
  }
  
- static int intel_svm_set_dev_pasid(struct iommu_domain *domain,
-                                  struct device *dev, ioasid_t pasid)
- {
-       struct device_domain_info *info = dev_iommu_priv_get(dev);
-       struct intel_iommu *iommu = info->iommu;
- 
-       return intel_svm_bind_mm(iommu, dev, domain, pasid);
- }
- 
  static void intel_svm_domain_free(struct iommu_domain *domain)
  {
        kfree(to_dmar_domain(domain));

With above in mind, please consider them for v6.9.

Best regards,
Baolu

Erick Archer (1):
  iommu/vt-d: Use kcalloc() instead of kzalloc()

Jingqi Liu (1):
  iommu/vt-d: Add the document for Intel IOMMU debugfs

Lu Baolu (3):
  iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA
  iommu/vt-d: Use rbtree to track iommu probed devices
  iommu/vt-d: Use device rbtree in iopf reporting path

Tina Zhang (3):
  iommu/vt-d: Remove treatment for revoking PASIDs with pending page
    faults
  iommu/vt-d: Remove initialization for dynamically heap-allocated
    rcu_head
  iommu/vt-d: Merge intel_svm_bind_mm() into its caller

 drivers/iommu/intel/iommu.h                   |  10 +
 drivers/iommu/intel/dmar.c                    |   4 +-
 drivers/iommu/intel/iommu.c                   |  95 +++++-
 drivers/iommu/intel/perf.c                    |   2 +-
 drivers/iommu/intel/svm.c                     |  39 +--
 Documentation/ABI/testing/debugfs-intel-iommu | 276 ++++++++++++++++++
 drivers/iommu/intel/Kconfig                   |  11 -
 7 files changed, 391 insertions(+), 46 deletions(-)
 create mode 100644 Documentation/ABI/testing/debugfs-intel-iommu

-- 
2.34.1


             reply	other threads:[~2024-02-27  2:20 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-27  2:14 Lu Baolu [this message]
2024-02-27  2:14 ` [PATCH 1/8] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA Lu Baolu
2024-02-27  2:14 ` [PATCH 2/8] iommu/vt-d: Use kcalloc() instead of kzalloc() Lu Baolu
2024-02-27  2:14 ` [PATCH 3/8] iommu/vt-d: Add the document for Intel IOMMU debugfs Lu Baolu
2024-02-27  2:14 ` [PATCH 4/8] iommu/vt-d: Remove treatment for revoking PASIDs with pending page faults Lu Baolu
2024-02-27  2:14 ` [PATCH 5/8] iommu/vt-d: Remove initialization for dynamically heap-allocated rcu_head Lu Baolu
2024-02-27  2:14 ` [PATCH 6/8] iommu/vt-d: Merge intel_svm_bind_mm() into its caller Lu Baolu
2024-02-27  2:14 ` [PATCH 7/8] iommu/vt-d: Use rbtree to track iommu probed devices Lu Baolu
2024-02-27  2:14 ` [PATCH 8/8] iommu/vt-d: Use device rbtree in iopf reporting path Lu Baolu
2024-03-01 12:52 ` [PATCH 0/8] [PULL REQUEST] Intel IOMMU updates for Linux v6.9 Joerg Roedel

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=20240227021441.50434-1-baolu.lu@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=Jingqi.liu@intel.com \
    --cc=erick.archer@gmx.com \
    --cc=iommu@lists.linux.dev \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tina.zhang@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox