* Re: [git pull] IOMMU Updates for Linux v6.13
@ 2024-11-26 1:45 Dmitry Safonov
2024-11-26 1:51 ` Dmitry Safonov
2024-11-26 2:45 ` Linus Torvalds
0 siblings, 2 replies; 7+ messages in thread
From: Dmitry Safonov @ 2024-11-26 1:45 UTC (permalink / raw)
To: pr-tracker-bot, Linus Torvalds
Cc: iommu, Joerg Roedel, open list, Will Deacon
> The pull request you sent on Fri, 22 Nov 2024 09:17:47 +0100:
>
> > git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.13
>
> has been merged into torvalds/linux.git:
> https://git.kernel.org/torvalds/c/ceba6f6f33f29ab838b23a567621b847e527d085
It seems to have a minor merge resolution artefact: iommu_present() now
has a header declaration with no definition.
Thanks,
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [git pull] IOMMU Updates for Linux v6.13
2024-11-26 1:45 [git pull] IOMMU Updates for Linux v6.13 Dmitry Safonov
@ 2024-11-26 1:51 ` Dmitry Safonov
2024-11-26 2:45 ` Linus Torvalds
1 sibling, 0 replies; 7+ messages in thread
From: Dmitry Safonov @ 2024-11-26 1:51 UTC (permalink / raw)
To: pr-tracker-bot, Linus Torvalds
Cc: iommu, Joerg Roedel, open list, Will Deacon
On Tue, 26 Nov 2024 at 01:45, Dmitry Safonov <0x7f454c46@gmail.com> wrote:
>
> > The pull request you sent on Fri, 22 Nov 2024 09:17:47 +0100:
> >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.13
> >
> > has been merged into torvalds/linux.git:
> > https://git.kernel.org/torvalds/c/ceba6f6f33f29ab838b23a567621b847e527d085
>
> It seems to have a minor merge resolution artefact: iommu_present() now
> has a header declaration with no definition.
[Apparently, when you choose gmail option in chromium from the mail-to link,
it erases In-Reply-To header, sorry about it, I'll avoid using it]
Thanks,
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [git pull] IOMMU Updates for Linux v6.13
2024-11-26 1:45 [git pull] IOMMU Updates for Linux v6.13 Dmitry Safonov
2024-11-26 1:51 ` Dmitry Safonov
@ 2024-11-26 2:45 ` Linus Torvalds
2024-11-26 11:12 ` Joerg Roedel
1 sibling, 1 reply; 7+ messages in thread
From: Linus Torvalds @ 2024-11-26 2:45 UTC (permalink / raw)
To: Dmitry Safonov
Cc: pr-tracker-bot, iommu, Joerg Roedel, open list, Will Deacon
On Mon, 25 Nov 2024 at 17:46, Dmitry Safonov <0x7f454c46@gmail.com> wrote:
>
> It seems to have a minor merge resolution artefact: iommu_present() now
> has a header declaration with no definition.
Hmm. Yes. It looks like the merge in commit ae3325f752ef ("Merge
branches 'arm/smmu', 'mediatek', 's390', 'ti/omap', 'riscv' and 'core'
into next") is buggy, and the iommu_present() declaration survived
that merge even though the 'core' branch that was merged into it had
removed it.
Those octopus merges may look cool, but you should never use an
octopus merge for anything that has any conflicts, because they are
hard to get right. Joerg clearly didn't get that one right.
I'll fix it up and remove the left-over declaration.
Linus
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [git pull] IOMMU Updates for Linux v6.13
2024-11-26 2:45 ` Linus Torvalds
@ 2024-11-26 11:12 ` Joerg Roedel
2024-12-02 15:12 ` Jason Gunthorpe
0 siblings, 1 reply; 7+ messages in thread
From: Joerg Roedel @ 2024-11-26 11:12 UTC (permalink / raw)
To: Linus Torvalds
Cc: Dmitry Safonov, pr-tracker-bot, iommu, open list, Will Deacon
On Mon, Nov 25, 2024 at 06:45:00PM -0800, Linus Torvalds wrote:
> Those octopus merges may look cool, but you should never use an
> octopus merge for anything that has any conflicts, because they are
> hard to get right. Joerg clearly didn't get that one right.
Yeah, sorry, my bad. This time around there were unusually many
conflicts between the topic branches, which also forced me to create
two merge commits to put everything together. In this process I
overlooked that the iommu_present() definition slipped through.
Regards,
Joerg
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [git pull] IOMMU Updates for Linux v6.13
2024-11-26 11:12 ` Joerg Roedel
@ 2024-12-02 15:12 ` Jason Gunthorpe
0 siblings, 0 replies; 7+ messages in thread
From: Jason Gunthorpe @ 2024-12-02 15:12 UTC (permalink / raw)
To: Joerg Roedel
Cc: Linus Torvalds, Dmitry Safonov, pr-tracker-bot, iommu, open list,
Will Deacon
On Tue, Nov 26, 2024 at 12:12:35PM +0100, Joerg Roedel wrote:
> On Mon, Nov 25, 2024 at 06:45:00PM -0800, Linus Torvalds wrote:
> > Those octopus merges may look cool, but you should never use an
> > octopus merge for anything that has any conflicts, because they are
> > hard to get right. Joerg clearly didn't get that one right.
>
> Yeah, sorry, my bad. This time around there were unusually many
> conflicts between the topic branches, which also forced me to create
> two merge commits to put everything together. In this process I
> overlooked that the iommu_present() definition slipped through.
I know we talked about this before, but I think the topic branches and
octopus merge flow is troublesome. This cycle had lots of all-driver
work and it is a pain working like this.
We rarely seem to toss stuff out, it would be OK to just revert it, or
run a delayed two step promotion like Andrew does.
I especially don't like that this flow recreates the octopus merge
whenever the branches change so there is no stable tree for people to
follow, or to submit patches on top of the current state of the tree.
IMHO the more traditional flow of just merging patches/PR forward on a
single branch works better.
Jason
^ permalink raw reply [flat|nested] 7+ messages in thread
* [git pull] IOMMU Updates for Linux v6.13
@ 2024-11-22 8:17 Joerg Roedel
2024-11-23 4:10 ` pr-tracker-bot
0 siblings, 1 reply; 7+ messages in thread
From: Joerg Roedel @ 2024-11-22 8:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Will Deacon, linux-kernel, iommu
[-- Attachment #1: Type: text/plain, Size: 13338 bytes --]
Hi Linus,
This PR also comes with dependencies from the IOMMUFD tree via the
iommufd/arm-smmuv3-nested branch. It is possible that you already pulled
those from Jason. With that being said:
The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623:
Linux 6.12-rc7 (2024-11-10 14:19:35 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.13
for you to fetch changes up to 42f0cbb2a253bcd7d4f20e80462014622f19d88e:
Merge branches 'intel/vt-d', 'amd/amd-vi' and 'iommufd/arm-smmuv3-nested' into next (2024-11-15 09:27:43 +0100)
----------------------------------------------------------------
IOMMU Updates for Linux v6.13:
Including:
- Core Updates:
- Convert call-sites using iommu_domain_alloc() to more specific
versions and remove function.
- Introduce iommu_paging_domain_alloc_flags().
- Extend support for allocating PASID-capable domains to more
drivers.
- Remove iommu_present().
- Some smaller improvements.
- New IOMMU driver for RISC-V.
- Intel VT-d Updates:
- Add domain_alloc_paging support.
- Enable user space IOPFs in non-PASID and non-svm cases.
- Small code refactoring and cleanups.
- Add domain replacement support for pasid.
- AMD-Vi Updates:
- Adapt to iommu_paging_domain_alloc_flags() interface and alloc V2
page-tables by default.
- Replace custom domain ID allocator with IDA allocator.
- Add ops->release_domain() support.
- Other improvements to device attach and domain allocation code
paths.
- ARM-SMMU Updates:
- SMMUv2:
- Return -EPROBE_DEFER for client devices probing before their SMMU.
- Devicetree binding updates for Qualcomm MMU-500 implementations.
- SMMUv3:
- Minor fixes and cleanup for NVIDIA's virtual command queue driver.
- IO-PGTable:
- Fix indexing of concatenated PGDs and extend selftest coverage.
- Remove unused block-splitting support.
- S390 IOMMU:
- Implement support for blocking domain.
- Mediatek IOMMU:
- Enable 35-bit physical address support for mt8186.
- OMAP IOMMU driver:
- Adapt to recent IOMMU core changes and unbreak driver.
----------------------------------------------------------------
Andy Shevchenko (1):
iommu/vt-d: Increase buffer size for device name
Bartosz Golaszewski (1):
iommu/sysfs: constify the class struct
Dmitry Baryshkov (1):
dt-bindings: iommu: arm,smmu: Add Qualcomm SAR2130P compatible
Dr. David Alan Gilbert (1):
iommu/vt-d: Remove unused dmar_msi_read
Gan Jie (1):
iommu/iova: Fix typo 'adderss'
Jason Gunthorpe (15):
iommu: Remove useless flush from iommu_create_device_direct_mappings()
iommu/amd: Fix corruption when mapping large pages from 0
iommu: Refactor __iommu_domain_alloc()
iommu: Introduce iommu_paging_domain_alloc_flags()
iommu: Add new flag to explictly request PASID capable domain
iommu: Put domain allocation in __iommu_group_alloc_blocking_domain()
iommu: Create __iommu_alloc_identity_domain()
vfio: Remove VFIO_TYPE1_NESTING_IOMMU
iommu/arm-smmu-v3: Report IOMMU_CAP_ENFORCE_CACHE_COHERENCY for CANWBS
iommu/arm-smmu-v3: Implement IOMMU_HWPT_ALLOC_NEST_PARENT
iommu/arm-smmu-v3: Expose the arm_smmu_attach interface
iommu/io-pgtable-arm: Remove split on unmap behavior
iommu/io-pgtable-arm-v7s: Remove split on unmap behavior
iommu: Add a kdoc to iommu_unmap()
iommu/arm-smmu-v3: Make set_dev_pasid() op support replace
Jinjie Ruan (1):
iommu/vt-d: Use PCI_DEVID() macro
Joel Granados (3):
iommu/vt-d: Separate page request queue from SVM
iommu/vt-d: Move IOMMU_IOPF into INTEL_IOMMU
iommufd: Enable PRI when doing the iommufd_hwpt_alloc
Joerg Roedel (6):
iommu: Fix prototype of iommu_paging_domain_alloc_flags()
iommu: Restore iommu_flush_iotlb_all()
Merge branch 'core' into amd/amd-vi
Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
Merge branches 'arm/smmu', 'mediatek', 's390', 'ti/omap', 'riscv' and 'core' into next
Merge branches 'intel/vt-d', 'amd/amd-vi' and 'iommufd/arm-smmuv3-nested' into next
Julia Lawall (1):
iommu: Reorganize kerneldoc parameter names
Klaus Jensen (2):
iommu/vt-d: Remove the pasid present check in prq_event_thread
iommu/vt-d: Drop pasid requirement for prq initialization
Konrad Adamczyk (1):
iommu/mediatek: Add PGTABLE_PA_35_EN to mt8186 platform data
Lu Baolu (13):
iommu: Remove iommu_present()
remoteproc: Use iommu_paging_domain_alloc()
media: nvidia: tegra: Use iommu_paging_domain_alloc()
drm/nouveau/tegra: Use iommu_paging_domain_alloc()
iommu: Remove iommu_domain_alloc()
iommu/vt-d: Add domain_alloc_paging support
iommu/vt-d: Remove unused domain_alloc callback
iommu/vt-d: Enhance compatibility check for paging domain attach
iommu/vt-d: Remove domain_update_iommu_cap()
iommu/vt-d: Remove domain_update_iommu_superpage()
iommu/vt-d: Refactor first_level_by_default()
iommu/vt-d: Refine intel_iommu_domain_alloc_user()
iommu/vt-d: Drain PRQs when domain removed from RID
Matthew Rosato (1):
iommu/s390: Implement blocking domain
Mostafa Saleh (2):
iommu/io-pgtable-arm: Fix stage-2 map/unmap for concatenated tables
iommu/io-pgtable-arm: Add self test for the last page in the IAS
Nicolin Chen (5):
iommu/tegra241-cmdqv: Staticize cmdqv_debugfs_dir
ACPICA: IORT: Update for revision E.f
ACPI/IORT: Support CANWBS memory access flag
iommu/arm-smmu-v3: Support IOMMU_GET_HW_INFO via struct arm_smmu_hw_info
iommu/tegra241-cmdqv: Fix alignment failure at max_n_shift
Pratyush Brahma (1):
iommu/arm-smmu: Defer probe of clients after smmu device bound
Qingqing Zhou (1):
dt-bindings: arm-smmu: document QCS615 APPS SMMU
Robin Murphy (2):
iommu/omap: Add minimal fwnode support
iommu: Make bus_iommu_probe() static
Tomasz Jeznach (7):
dt-bindings: iommu: riscv: Add bindings for RISC-V IOMMU
iommu/riscv: Add RISC-V IOMMU platform device driver
iommu/riscv: Add RISC-V IOMMU PCIe device driver
iommu/riscv: Enable IOMMU registration and device probe.
iommu/riscv: Device directory management.
iommu/riscv: Command and fault queue support
iommu/riscv: Paging domain support
Uros Bizjak (1):
iommu/amd: Use atomic64_inc_return() in iommu.c
Vasant Hegde (20):
iommu/amd: Do not try copy old DTE resume path
iommu/arm-smmu-v3: Enhance domain_alloc_user() to allocate PASID capable domain
iommu/amd: Add helper function to check GIOSUP/GTSUP
iommu/amd: Move V2 page table support check to early_amd_iommu_init()
iommu/amd: Separate page table setup from domain allocation
iommu/amd: Pass page table type as param to pdom_setup_pgtable()
iommu/amd: Enhance amd_iommu_domain_alloc_user()
iommu/amd: Implement global identity domain
iommu/amd/pgtbl_v2: Take protection domain lock before invalidating TLB
iommu/amd: Use ida interface to manage protection domain ID
iommu/amd: Remove protection_domain.dev_cnt variable
iommu/amd: xarray to track protection_domain->iommu list
iommu/amd: Remove unused amd_iommus variable
iommu/amd: Do not detach devices in domain free path
iommu/amd: Reduce domain lock scope in attach device path
iommu/amd: Rearrange attach device code
iommu/amd: Convert dev_data lock from spinlock to mutex
iommu/amd: Reorder attach device code
iommu/amd: Add ops->release_domain
iommu/amd: Improve amd_iommu_release_device()
Will Deacon (2):
iommu/tegra241-cmdqv: Fix unused variable warning
Merge branch 'for-joerg/arm-smmu/bindings' into arm/smmu
Yi Liu (13):
iommu/vt-d: Drop s1_pgtbl from dmar_domain
iommu: Pass old domain to set_dev_pasid op
iommu/vt-d: Add a helper to flush cache for updating present pasid entry
iommu/vt-d: Refactor the pasid setup helpers
iommu/vt-d: Add pasid replace helpers
iommu/vt-d: Consolidate the struct dev_pasid_info add/remove
iommu/vt-d: Add iommu_domain_did() to get did
iommu/vt-d: Make intel_iommu_set_dev_pasid() to handle domain replacement
iommu/vt-d: Limit intel_iommu_set_dev_pasid() for paging domain
iommu/vt-d: Make intel_svm_set_dev_pasid() support domain replacement
iommu/vt-d: Make identity_domain_set_dev_pasid() to handle domain replacement
iommu/vt-d: Add set_dev_pasid callback for nested domain
iommu: Make set_dev_pasid op support domain replacement
Zhenzhong Duan (2):
iommu/vt-d: Fix checks and print in dmar_fault_dump_ptes()
iommu/vt-d: Fix checks and print in pgtable_walk()
.../devicetree/bindings/iommu/arm,smmu.yaml | 5 +
.../devicetree/bindings/iommu/riscv,iommu.yaml | 147 ++
MAINTAINERS | 9 +
arch/s390/include/asm/pci.h | 4 +-
arch/s390/pci/pci.c | 3 +
arch/s390/pci/pci_debug.c | 10 +-
drivers/acpi/arm64/iort.c | 13 +
drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 4 +-
drivers/iommu/Kconfig | 10 +
drivers/iommu/Makefile | 2 +-
drivers/iommu/amd/amd_iommu.h | 11 +-
drivers/iommu/amd/amd_iommu_types.h | 23 +-
drivers/iommu/amd/init.c | 63 +-
drivers/iommu/amd/io_pgtable.c | 11 +-
drivers/iommu/amd/io_pgtable_v2.c | 3 +
drivers/iommu/amd/iommu.c | 495 +++---
drivers/iommu/amd/pasid.c | 6 +-
drivers/iommu/arm/arm-smmu-v3/Makefile | 1 +
.../iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c | 31 +
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 5 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 97 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 45 +-
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 7 +-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 27 +-
drivers/iommu/intel/Kconfig | 2 +-
drivers/iommu/intel/Makefile | 2 +-
drivers/iommu/intel/dmar.c | 15 +-
drivers/iommu/intel/iommu.c | 576 +++----
drivers/iommu/intel/iommu.h | 56 +-
drivers/iommu/intel/irq_remapping.c | 4 +-
drivers/iommu/intel/nested.c | 53 +-
drivers/iommu/intel/pasid.c | 409 +++--
drivers/iommu/intel/pasid.h | 22 +-
drivers/iommu/intel/prq.c | 396 +++++
drivers/iommu/intel/svm.c | 433 +----
drivers/iommu/io-pgtable-arm-v7s.c | 149 +-
drivers/iommu/io-pgtable-arm.c | 114 +-
drivers/iommu/iommu-sysfs.c | 2 +-
drivers/iommu/iommu.c | 263 ++--
drivers/iommu/iommufd/hw_pagetable.c | 3 +-
drivers/iommu/iommufd/vfio_compat.c | 7 +-
drivers/iommu/iova.c | 2 +-
drivers/iommu/mtk_iommu.c | 2 +-
drivers/iommu/omap-iommu.c | 26 +-
drivers/iommu/riscv/Kconfig | 20 +
drivers/iommu/riscv/Makefile | 3 +
drivers/iommu/riscv/iommu-bits.h | 784 +++++++++
drivers/iommu/riscv/iommu-pci.c | 120 ++
drivers/iommu/riscv/iommu-platform.c | 92 ++
drivers/iommu/riscv/iommu.c | 1661 ++++++++++++++++++++
drivers/iommu/riscv/iommu.h | 88 ++
drivers/iommu/s390-iommu.c | 73 +-
drivers/media/platform/nvidia/tegra-vde/iommu.c | 7 +-
drivers/remoteproc/remoteproc_core.c | 6 +-
drivers/vfio/vfio_iommu_type1.c | 12 +-
include/acpi/actbl2.h | 3 +-
include/linux/dmar.h | 1 -
include/linux/iommu.h | 30 +-
include/uapi/linux/iommufd.h | 43 +
include/uapi/linux/vfio.h | 2 +-
60 files changed, 4797 insertions(+), 1716 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iommu/riscv,iommu.yaml
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c
create mode 100644 drivers/iommu/intel/prq.c
create mode 100644 drivers/iommu/riscv/Kconfig
create mode 100644 drivers/iommu/riscv/Makefile
create mode 100644 drivers/iommu/riscv/iommu-bits.h
create mode 100644 drivers/iommu/riscv/iommu-pci.c
create mode 100644 drivers/iommu/riscv/iommu-platform.c
create mode 100644 drivers/iommu/riscv/iommu.c
create mode 100644 drivers/iommu/riscv/iommu.h
Please pull.
Thanks,
Joerg
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-12-02 15:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-26 1:45 [git pull] IOMMU Updates for Linux v6.13 Dmitry Safonov
2024-11-26 1:51 ` Dmitry Safonov
2024-11-26 2:45 ` Linus Torvalds
2024-11-26 11:12 ` Joerg Roedel
2024-12-02 15:12 ` Jason Gunthorpe
-- strict thread matches above, loose matches on Subject: below --
2024-11-22 8:17 Joerg Roedel
2024-11-23 4:10 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox