mirror-linux/drivers/dma
Linus Torvalds 8477ab1430 IOMMU Updates for Linux v6.16:
Including:
 
 	- Core:
 	  - Introduction of iommu-pages infrastructure to consolitate page-table
 	    allocation code among hardware drivers. This is ground-work for more
 	    generalization in the future.
 	  - Remove IOMMU_DEV_FEAT_SVA and IOMMU_DEV_FEAT_IOPF feature flags.
 	  - Convert virtio-iommu to domain_alloc_paging().
 	  - KConfig cleanups.
 	  - Some small fixes for possible overflows and race conditions.
 
 	- Intel VT-d driver:
 	   - Restore WO permissions on second-level paging entries.
 	   - Use ida to manage domain id.
 	   - Miscellaneous cleanups.
 
 	- AMD-Vi:
 	  - Make sure notifiers finish running before module unload.
 	  - Add support for HTRangeIgnore feature.
 	  - Allow matching ACPI HID devices without matching UIDs.
 
 	- ARM-SMMU:
 	  - SMMUv2:
 	    - Recognise the compatible string for SAR2130P MDSS in the Qualcomm
 	      driver, as this device requires an identity domain.
 	    - Fix Adreno stall handling so that GPU debugging is more robust and
 	      doesn't e.g. result in deadlock.
 	  - SMMUv3:
 	    - Fix ->attach_dev() error reporting for unrecognised domains.
 	  - IO-pgtable:
 	    - Allow clients (notably, drivers that process requests from
 	      userspace) to silence warnings when mapping an already-mapped IOVA.
 
 	- S390:
 	  - Add support for additional table regions.
 
 	- Mediatek:
 	  - Add support for MT6893 MM IOMMU.
 
 	- Some smaller fixes and improvements in various other drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEr9jSbILcajRFYWYyK/BELZcBGuMFAmg5nnoACgkQK/BELZcB
 GuNaPg//XgI0g1WUjENFvtri5OLz7/slIYHw1TPJkmyEnwnipEcz7C607W7L4fbe
 yvspsc80mnN1xe986GGpfK+wyEOoVWE2k1Jg3iDhHjxSgjbmPl+fMlpTyKm9kPkk
 nR2v4szosCPCTgfy+km1c6VCS/aRUtyrX289fKK51hlQ38YMa1b+D7p/S87dehLf
 TJ/VqnE6lwSugXJZek6bVR7bQscArjcmHNK+pTEvdHUZiR2c9WLQAPNCmBpvUglJ
 oPRQh3JzfF/zbFshyyCpqOAKbsjJsQhrEVXHIgE1lF4ap10U5jEx1CME8XuxqkqL
 klQZzmAllAyRfEm43OcELpfAiUc3QZpR8+i2Xnmg5r3ZgM5bm6MOc424XCSmKg45
 v4R6r976rvOWGOava2c/YrrwtEaemR29f0Q/ht/+m6CtMCvUPokuHYNvZ5/jM4Xh
 PjPGgXm9sNtNb78TwMgHQHBhPqI71m02lh+W8WKs+pQT1KdaRZbRuftHj72iwUvZ
 tglkYJmdnpxa30Mlvi5OZTVKLGwzCdUiTpvvvQNVQroH8J1pWtRtaTz2yXKbR8zy
 B1juOIWbQtqT1NSz+IwCVbNOyMO+Jzu1Olw24LXrX/MMSDcG1ZsoaKhrGy09gcAq
 s+PSETd01+Z+L2GW6p9panKePf3vWO54SEU6nwQzgVuGdDjcs/U=
 =RmX9
 -----END PGP SIGNATURE-----

Merge tag 'iommu-updates-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux

Pull iommu updates from Joerg Roedel:
 "Core:
   - Introduction of iommu-pages infrastructure to consolitate
     page-table allocation code among hardware drivers. This is
     ground-work for more generalization in the future
   - Remove IOMMU_DEV_FEAT_SVA and IOMMU_DEV_FEAT_IOPF feature flags
   - Convert virtio-iommu to domain_alloc_paging()
   - KConfig cleanups
   - Some small fixes for possible overflows and race conditions

  Intel VT-d driver:
   - Restore WO permissions on second-level paging entries
   - Use ida to manage domain id
   - Miscellaneous cleanups

  AMD-Vi:
   - Make sure notifiers finish running before module unload
   - Add support for HTRangeIgnore feature
   - Allow matching ACPI HID devices without matching UIDs

  ARM-SMMU:
   - SMMUv2:
      - Recognise the compatible string for SAR2130P MDSS in the
        Qualcomm driver, as this device requires an identity domain
      - Fix Adreno stall handling so that GPU debugging is more robust
        and doesn't e.g. result in deadlock
   - SMMUv3:
      - Fix ->attach_dev() error reporting for unrecognised domains
   - IO-pgtable:
      - Allow clients (notably, drivers that process requests from
        userspace) to silence warnings when mapping an already-mapped
        IOVA

  S390:
   - Add support for additional table regions

  Mediatek:
   - Add support for MT6893 MM IOMMU

  And some smaller fixes and improvements in various other drivers"

* tag 'iommu-updates-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux: (75 commits)
  iommu/vt-d: Restore context entry setup order for aliased devices
  iommu/mediatek: Fix compatible typo for mediatek,mt6893-iommu-mm
  iommu/arm-smmu-qcom: Make set_stall work when the device is on
  iommu/arm-smmu: Move handing of RESUME to the context fault handler
  iommu/arm-smmu-qcom: Enable threaded IRQ for Adreno SMMUv2/MMU500
  iommu/io-pgtable-arm: Add quirk to quiet WARN_ON()
  iommu: Clear the freelist after iommu_put_pages_list()
  iommu/vt-d: Change dmar_ats_supported() to return boolean
  iommu/vt-d: Eliminate pci_physfn() in dmar_find_matched_satc_unit()
  iommu/vt-d: Replace spin_lock with mutex to protect domain ida
  iommu/vt-d: Use ida to manage domain id
  iommu/vt-d: Restore WO permissions on second-level paging entries
  iommu/amd: Allow matching ACPI HID devices without matching UIDs
  iommu: make inclusion of arm/arm-smmu-v3 directory conditional
  iommu: make inclusion of riscv directory conditional
  iommu: make inclusion of amd directory conditional
  iommu: make inclusion of intel directory conditional
  iommu: remove duplicate selection of DMAR_TABLE
  iommu/fsl_pamu: remove trailing space after \n
  iommu/arm-smmu-qcom: Add SAR2130P MDSS compatible
  ...
2025-05-30 10:44:20 -07:00
..
amd dmaengine: ptdma: Move variable condition check to the first place and remove redundancy 2025-04-23 17:41:32 +05:30
bestcomm dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
dw dmaengine: dw: Switch to LATE_SIMPLE_DEV_PM_OPS() 2025-02-10 16:29:11 +05:30
dw-axi-dmac dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
dw-edma dmaengine: Use str_enable_disable-like helpers 2025-02-10 19:57:11 +05:30
fsl-dpaa2-qdma dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
hsu
idxd Merge branches 'fixes', 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'fsl/pamu', 'mediatek', 'renesas/ipmmu', 's390', 'intel/vt-d', 'amd/amd-vi' and 'core' into next 2025-05-23 17:14:32 +02:00
ioat x86/cpuid: Set <asm/cpuid/api.h> as the main CPUID header 2025-05-15 18:23:55 +02:00
lgm dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
mediatek dmaengine: mediatek: drop unused variable 2025-05-15 11:42:13 +01:00
ppc4xx dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
qcom dmaengine: Revert "dmaengine: qcom: bam_dma: Avoid writing unavailable register" 2025-02-27 13:29:15 +05:30
sf-pdma dmaengine: fix typo in the comment 2024-10-21 23:07:08 +05:30
sh dmaengine: Fix typo in comment 2025-02-27 17:36:29 +05:30
stm32 dmaengine: stm32-dma3: clamp AXI burst using match data 2024-10-21 22:51:45 +05:30
ti dmaengine: ti: k3-udma: Add missing locking 2025-04-17 20:36:34 +05:30
xilinx dmaengine: Use str_enable_disable-like helpers 2025-02-10 19:57:11 +05:30
Kconfig dmaengine: pxa: Enable compile test 2025-02-10 19:57:11 +05:30
Makefile dmaengine: Move AMD PTDMA driver to amd directory 2024-12-02 22:55:27 +05:30
TODO
acpi-dma.c dmaengine: acpi: Clean up headers 2024-10-14 23:27:57 +05:30
altera-msgdma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
amba-pl08x.c dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
apple-admac.c dmaengine: apple-admac: Avoid accessing registers in probe 2024-12-04 17:42:27 +05:30
at_hdmac.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
at_xdmac.c dmaengine: at_xdmac: avoid null_prt_deref in at_xdmac_prep_dma_memset 2024-12-02 22:14:19 +05:30
bcm-sba-raid.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
bcm2835-dma.c dmaengine: bcm2835-dma: fix warning when CONFIG_PM=n 2025-02-27 12:37:14 +05:30
dma-axi-dmac.c
dma-jz4780.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
dmaengine.c dmaengine: Unify checks in dma_request_chan() 2025-02-10 16:28:53 +05:30
dmaengine.h
dmatest.c dmaengine: Revert "dmaengine: dmatest: Fix dmatest waiting less when interrupted" 2025-04-17 15:06:02 +05:30
ep93xx_dma.c dmaengine updates for v6.13 2024-11-27 13:25:47 -08:00
fsl-edma-common.c dmaengine: fsl-edma: read/write multiple registers in cyclic transactions 2024-12-24 15:14:13 +05:30
fsl-edma-common.h Merge branch 'fixes' into next 2024-12-24 15:45:33 +05:30
fsl-edma-main.c dmaengine: fsl-edma: Fix return code for unhandled interrupts 2025-05-14 14:56:22 +01:00
fsl-edma-trace.c
fsl-edma-trace.h
fsl-qdma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
fsl_raid.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
fsl_raid.h
fsldma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
fsldma.h
hisi_dma.c dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
idma64.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
idma64.h
img-mdc-dma.c dmaengine: img-mdc: remove incorrect of_match_ptr annotation 2025-02-27 12:34:57 +05:30
imx-dma.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
imx-sdma.c dmaengine: Replace dma_request_slave_channel() by dma_request_chan() 2025-02-10 16:28:53 +05:30
k3dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
loongson1-apb-dma.c dmaengine: loongson1-apb-dma: Fix the build warning caused by the size of pdev_irqname 2024-09-02 13:56:32 +05:30
loongson2-apb-dma.c dmaengine: loongson2-apb: Change GENMASK to GENMASK_ULL 2024-12-02 22:48:57 +05:30
lpc18xx-dmamux.c
lpc32xx-dmamux.c dmaengine: Add dma router for pl08x in LPC32XX SoC 2024-08-29 22:54:11 +05:30
mcf-edma-main.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
milbeaut-hdmac.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
milbeaut-xdmac.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
mmp_pdma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
mmp_tdma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
moxart-dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
mpc512x_dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
mv_xor.c dmaengine: mv_xor: switch to for_each_child_of_node_scoped() 2024-12-24 15:45:50 +05:30
mv_xor.h dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
mv_xor_v2.c dmaengine: fix typo in the comment 2024-10-21 23:07:08 +05:30
mxs-dma.c
nbpfaxi.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
of-dma.c dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
owl-dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
pch_dma.c
pl330.c
plx_dma.c
pxa_dma.c dmaengine: Use str_enable_disable-like helpers 2025-02-10 19:57:11 +05:30
sa11x0-dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
sprd-dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
st_fdma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
st_fdma.h
ste_dma40.c
ste_dma40.h dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
ste_dma40_ll.c
ste_dma40_ll.h dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
sun4i-dma.c dma-engine: sun4i: Add support for Allwinner suniv F1C100s 2024-12-11 17:35:03 +05:30
sun6i-dma.c dmaengine: Use str_enable_disable-like helpers 2025-02-10 19:57:11 +05:30
tegra20-apb-dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
tegra186-gpc-dma.c dmaengine: tegra: Return correct DMA status when paused 2024-12-24 15:49:30 +05:30
tegra210-adma.c dmaengine fixes for v6.14 2025-03-02 10:08:45 -08:00
timb_dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
txx9dmac.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
txx9dmac.h
uniphier-mdmac.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
uniphier-xdmac.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
virt-dma.c
virt-dma.h
xgene-dma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30