MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/1359
# Merge Request Required Information
Bugzilla: https://bugzilla.redhat.com/2112024
Bugzilla: https://bugzilla.redhat.com/2121155
Depends: https://bugzilla.redhat.com/2124620
Upstream Status: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Testing: fio jobs, tested kdump vmcore harvesting + verifying vmcore can be opened
in crash and looked at.
## Summary of Changes
This brings the IOMMU and DMA mapping subsystems up to 6.0-rc5 minus
some AMD changes that are in a separate MR.
Of note there is some refactoring of the intel iommu code which
requires backporting some related changes touching i915 and
KVM.
@Lyude - One case here I removed the include of intel-iommu.h in
drivers/gpu/drm/i915/i915_drv.h, because a7f46d5b91a5 ("drm/i915: Move
intel_vtd_active and run_as_guest to i915_utils") has not been
backported yet. That was doing a bit of moving things around so I
thought I should leave that to the gpu team. If you would like me to
pull that in here let me know, but wanted to make sure you are aware
since it will be a small conflict to clean up when a7f46d5b91a5 is
backported.
I also pulled in the pci p2pdma changes from Christoph's PR that were
removing some pci p2pdma specific functions that were being called by rdma
and nvme code, and migrated the code into regular mapping calls in
the dma-iommu and dma-direct code. We don't really have a way to test
this yet, but the code is contained within checks for pci p2pdma, and
nvme devices with the controller memory buffer capability seem to
be rare at this point. Since nvme is currently the only provider
using pci p2pdma, and rdma + nvme are the only consumers I think
pulling these in should be okay. They were already doing their
special calls anyways in the case where pci p2pdma would be
used.
Another change to note. Upstream realized that swiotlb-xen is dead code
unless you are using XEN_PV, so it is no longer built in the XEN_PVHVM
case that is used by RHEL.
@llong1 Can you look at the try_cmpxchg64 changes to make sure I got that right?
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
Approved-by: Lyude Paul <lyude@redhat.com>
Approved-by: Donald Dutile <ddutile@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Myron Stowe <mstowe@redhat.com>
Approved-by: Mark Salter <msalter@redhat.com>
Approved-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>