linux/drivers/dma
Linus Torvalds 0dde2bf67b IOMMU Updates for Linux v6.8
Including:
 
 	- Core changes:
 	  - Fix race conditions in device probe path
 	  - Retire IOMMU bus_ops
 	  - Support for passing custom allocators to page table drivers
 	  - Clean up Kconfig around IOMMU_SVA
 	  - Support for sharing SVA domains with all devices bound to
 	    a mm
 	  - Firmware data parsing cleanup
 	  - Tracing improvements for iommu-dma code
 	  - Some smaller fixes and cleanups
 
 	- ARM-SMMU drivers:
 	  - Device-tree binding updates:
 	     - Add additional compatible strings for Qualcomm SoCs
 	     - Document Adreno clocks for Qualcomm's SM8350 SoC
 	  - SMMUv2:
 	    - Implement support for the ->domain_alloc_paging() callback
 	    - Ensure Secure context is restored following suspend of Qualcomm SMMU
 	      implementation
 	  - SMMUv3:
 	    - Disable stalling mode for the "quiet" context descriptor
 	    - Minor refactoring and driver cleanups
 
 	 - Intel VT-d driver:
 	   - Cleanup and refactoring
 
 	 - AMD IOMMU driver:
 	   - Improve IO TLB invalidation logic
 	   - Small cleanups and improvements
 
 	 - Rockchip IOMMU driver:
 	   - DT binding update to add Rockchip RK3588
 
 	 - Apple DART driver:
 	   - Apple M1 USB4/Thunderbolt DART support
 	   - Cleanups
 
 	 - Virtio IOMMU driver:
 	   - Add support for iotlb_sync_map
 	   - Enable deferred IO TLB flushes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEr9jSbILcajRFYWYyK/BELZcBGuMFAmWecQoACgkQK/BELZcB
 GuN5ZxAAzC5QUKAzANx0puk7QhPpKKlbSvj6Q7iRgCLk00KJO1+VQh9v4ouCmXqF
 kn3Ko8gddjhtrgwN0OQ54F39cLUrp1SBemy71K5YOR+vu8VKtwtmawZGeeRZ+k+B
 Eohw58oaXTiR1maYvoLixLYczLrjklqyJOQ1vZ0GxFGxDqrFByAryHDgG/3OCpJx
 C9e6PsLbbfhfqA8Kv97iKcBqniGbXxAMuodqSUG0buQ3oZgfpIP6Bt3EgUzFGPGk
 3BTlYxowS/gkjUWd3fgjQFIFLTA01u9FhpA2Jb0a4v67pUCR64YxHN7rBQ6ZChtG
 kB9laQfU9re79RsHhqQzr0JT9x/eyq7pzGzjp5TV5TPW6IW+sqjMIPhzd9P08Ef7
 BclkCVobx0jSAHOhnnG4QJiKANr2Y2oM3HfsAJccMMY45RRhUKmVqM7jxMPfGn3A
 i+inlee73xTjZXJse1EWG1fmKKMLvX9LDEp4DyOfn9CqVT+7hpZvzPjfbGr937Rm
 JlwXhF3rQXEpOCagEsbt1vOf+V0e9QiCLf1Y2KpkIkDbE5wwSD/2qLm3tFhJG3oF
 fkW+J14Cid0pj+hY0afGe0kOUOIYlimu0nFmSf0pzMH+UktZdKogSfyb1gSDsy+S
 rsZRGPFhMJ832ExqhlDfxqBebqh+jsfKynlskui6Td5C9ZULaHA=
 =q751
 -----END PGP SIGNATURE-----

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

Pull iommu updates from Joerg Roedel:
 "Core changes:
   - Fix race conditions in device probe path
   - Retire IOMMU bus_ops
   - Support for passing custom allocators to page table drivers
   - Clean up Kconfig around IOMMU_SVA
   - Support for sharing SVA domains with all devices bound to a mm
   - Firmware data parsing cleanup
   - Tracing improvements for iommu-dma code
   - Some smaller fixes and cleanups

  ARM-SMMU drivers:
   - Device-tree binding updates:
      - Add additional compatible strings for Qualcomm SoCs
      - Document Adreno clocks for Qualcomm's SM8350 SoC
   - SMMUv2:
      - Implement support for the ->domain_alloc_paging() callback
      - Ensure Secure context is restored following suspend of Qualcomm
        SMMU implementation
   - SMMUv3:
      - Disable stalling mode for the "quiet" context descriptor
      - Minor refactoring and driver cleanups

  Intel VT-d driver:
   - Cleanup and refactoring

  AMD IOMMU driver:
   - Improve IO TLB invalidation logic
   - Small cleanups and improvements

  Rockchip IOMMU driver:
   - DT binding update to add Rockchip RK3588

  Apple DART driver:
   - Apple M1 USB4/Thunderbolt DART support
   - Cleanups

  Virtio IOMMU driver:
   - Add support for iotlb_sync_map
   - Enable deferred IO TLB flushes"

* tag 'iommu-updates-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (66 commits)
  iommu: Don't reserve 0-length IOVA region
  iommu/vt-d: Move inline helpers to header files
  iommu/vt-d: Remove unused vcmd interfaces
  iommu/vt-d: Remove unused parameter of intel_pasid_setup_pass_through()
  iommu/vt-d: Refactor device_to_iommu() to retrieve iommu directly
  iommu/sva: Fix memory leak in iommu_sva_bind_device()
  dt-bindings: iommu: rockchip: Add Rockchip RK3588
  iommu/dma: Trace bounce buffer usage when mapping buffers
  iommu/arm-smmu: Convert to domain_alloc_paging()
  iommu/arm-smmu: Pass arm_smmu_domain to internal functions
  iommu/arm-smmu: Implement IOMMU_DOMAIN_BLOCKED
  iommu/arm-smmu: Convert to a global static identity domain
  iommu/arm-smmu: Reorganize arm_smmu_domain_add_master()
  iommu/arm-smmu-v3: Remove ARM_SMMU_DOMAIN_NESTED
  iommu/arm-smmu-v3: Master cannot be NULL in arm_smmu_write_strtab_ent()
  iommu/arm-smmu-v3: Add a type for the STE
  iommu/arm-smmu-v3: disable stall for quiet_cd
  iommu/qcom: restore IOMMU state if needed
  iommu/arm-smmu-qcom: Add QCM2290 MDSS compatible
  iommu/arm-smmu-qcom: Add missing GMU entry to match table
  ...
2024-01-18 15:16:57 -08:00
..
bestcomm dmaengine: bestcomm: bestcomm: Convert to platform remove callback returning void 2023-09-28 13:10:46 +05:30
dw dmaengine: dw: platform: Convert to platform remove callback returning void 2023-09-28 13:10:47 +05:30
dw-axi-dmac dmaengine: dw-axi-dmac: Add support DMAX_NUM_CHANNELS > 16 2023-10-16 16:38:10 +05:30
dw-edma dmaengine: dw-edma: Add HDMA DebugFS support 2023-05-24 12:20:45 +05:30
fsl-dpaa2-qdma dmaengine: fsl-dpaa2-qdma: Remove redundant initialization owner in dpaa2_qdma_driver 2023-10-04 19:27:15 +05:30
hsu dmaengine: hsu: Include headers we are direct user of 2022-09-04 22:49:35 +05:30
idxd This update includes the following changes: 2024-01-10 12:23:43 -08:00
ioat dmaengine: ioatdma: use pci_dev_id() to simplify the code 2023-08-21 18:39:25 +05:30
lgm dmaengine: lgm: Use builtin_platform_driver macro to simplify the code 2023-08-21 11:13:09 +05:30
mediatek dmaengine updates for v6.7 2023-11-03 18:56:51 -10:00
ppc4xx dmaengine: ppc4xx: adma: Convert to platform remove callback returning void 2023-09-28 13:10:52 +05:30
ptdma dmaengine updates for v6.3 2023-02-24 17:18:54 -08:00
qcom dmaengine: qcom: fix Wvoid-pointer-to-enum-cast warning 2023-10-04 19:24:57 +05:30
sf-pdma dmaengine: sf-pdma: Annotate struct sf_pdma with __counted_by 2023-09-28 16:42:14 +05:30
sh dmaengine: usb-dmac: Annotate struct usb_dmac_desc with __counted_by 2023-09-28 16:42:16 +05:30
ti dmaengine: ti: k3-psil-am62a: Fix SPI PDMA data 2023-11-24 14:14:00 +05:30
xilinx dmaengine: xilinx: xilinx_dma: Fix kernel doc about xilinx_dma_remove() 2023-10-16 12:26:57 +05:30
acpi-dma.c dmaengine: acpi: Check for errors from acpi_register_gsi() separately 2021-08-06 21:48:11 +05:30
altera-msgdma.c dmaengine: altera-msgdma: Convert to platform remove callback returning void 2023-09-28 13:10:45 +05:30
amba-pl08x.c dmaengine: pl08x: Fix double word 2022-09-29 12:24:16 +05:30
apple-admac.c dmaengine: apple-admac: Annotate struct admac_data with __counted_by 2023-09-28 16:42:02 +05:30
at_hdmac.c dmaengine: at_hdmac: Annotate struct at_desc with __counted_by 2023-09-28 16:42:02 +05:30
at_xdmac.c dmaengine: at_xdmac: Convert to platform remove callback returning void 2023-09-28 13:10:45 +05:30
bcm2835-dma.c dmaengine: bcm2835-dma: Convert to platform remove callback returning void 2023-09-28 13:10:46 +05:30
bcm-sba-raid.c dmaengine: bcm-sba-raid: Convert to platform remove callback returning void 2023-09-28 13:10:46 +05:30
dma-axi-dmac.c dmaengine: axi-dmac: Annotate struct axi_dmac_desc with __counted_by 2023-09-28 16:42:02 +05:30
dma-jz4780.c dmaengine: dma-jz4780: Convert to platform remove callback returning void 2023-09-28 13:10:47 +05:30
dmaengine.c dmaengine: Simplify dma_async_device_register() 2023-08-21 18:36:46 +05:30
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for callback_result 2021-10-25 09:42:56 +05:30
dmatest.c treewide: use get_random_bytes() when possible 2022-10-11 17:42:58 -06:00
ep93xx_dma.c dmaengine: ep93xx_dma: Annotate struct ep93xx_dma_engine with __counted_by 2023-10-04 15:12:57 +05:30
fsl_raid.c dmaengine: fsl_raid: Convert to platform remove callback returning void 2023-09-28 13:10:48 +05:30
fsl_raid.h
fsl-edma-common.c dmaengine: fsl-edma: fix DMA channel leak in eDMAv4 2023-12-11 20:14:29 +05:30
fsl-edma-common.h dmaengine updates for v6.7 2023-11-03 18:56:51 -10:00
fsl-edma-main.c dmaengine: fsl-edma: fix wrong pointer check in fsl_edma3_attach_pd() 2023-12-11 17:36:54 +05:30
fsl-qdma.c dmaengine: fsl-qdma: Convert to platform remove callback returning void 2023-09-28 13:10:47 +05:30
fsldma.c dmaengine: fsldma: Convert to platform remove callback returning void 2023-09-28 13:10:48 +05:30
fsldma.h fsldma: fix very broken 32-bit ppc ioread64 functionality 2020-08-29 13:50:56 -07:00
hisi_dma.c dmaengine: hisilicon: Annotate struct hisi_dma_dev with __counted_by 2023-09-28 16:42:14 +05:30
idma64.c dmaengine: idma64: Convert to platform remove callback returning void 2023-09-28 13:10:48 +05:30
idma64.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
img-mdc-dma.c dmaengine: img-mdc-dma: Convert to platform remove callback returning void 2023-09-28 13:10:48 +05:30
imx-dma.c dmaengine: imx-dma: Convert to platform remove callback returning void 2023-09-28 13:10:49 +05:30
imx-sdma.c dmaengine: imx-sdma: Convert to platform remove callback returning void 2023-09-28 13:10:49 +05:30
k3dma.c dmaengine: Drop unnecessary of_match_device() calls 2023-10-09 10:55:16 +05:30
Kconfig dmaengine: hisi: Simplify preconditions of CONFIG_K3_DMA 2023-09-28 16:19:23 +05:30
lpc18xx-dmamux.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
Makefile dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL in fsl-edma-common.c 2023-08-22 20:11:02 +05:30
mcf-edma-main.c dmaengine: mcf-edma-main: Convert to platform remove callback returning void 2023-09-28 13:10:49 +05:30
milbeaut-hdmac.c dmaengine: milbeaut-hdmac: Prefer kcalloc over open coded arithmetic 2021-10-25 12:12:13 +05:30
milbeaut-xdmac.c dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function 2020-12-29 10:08:00 +05:30
mmp_pdma.c dmaengine: Drop unnecessary of_match_device() calls 2023-10-09 10:55:16 +05:30
mmp_tdma.c dmaengine: mmp_tdma: drop unused variable 'of_id' 2023-10-10 23:30:52 +05:30
moxart-dma.c dmaengine: moxart-dma: Annotate struct moxart_desc with __counted_by 2023-09-28 16:42:14 +05:30
mpc512x_dma.c dmaengine: mpc512x_dma: Convert to platform remove callback returning void 2023-09-28 13:10:51 +05:30
mv_xor_v2.c dmaengine: mv_xor_v2: Convert to platform remove callback returning void 2023-09-28 13:10:51 +05:30
mv_xor.c dmaengine: Use device_get_match_data() 2023-10-09 10:54:48 +05:30
mv_xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mxs-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
nbpfaxi.c dmaengine: nbpfaxi: Convert to platform remove callback returning void 2023-09-28 13:10:52 +05:30
of-dma.c dmaengine: Use of_property_present() for testing DT property presence 2023-03-17 23:11:42 +05:30
owl-dma.c dmaengine: owl-dma: Convert to platform remove callback returning void 2023-09-28 13:10:52 +05:30
pch_dma.c dmaengine: pch_dma: Remove usage of the deprecated "pci-dma-compat.h" API 2022-01-08 22:16:44 +05:30
pl330.c dmaengine: pl330: Return DMA_PAUSED when transaction is paused 2023-08-07 00:01:41 +05:30
plx_dma.c dmaengine: plx_dma: Don't set chancnt 2023-05-24 12:24:32 +05:30
pxa_dma.c dmaengine: Drop unnecessary of_match_device() calls 2023-10-09 10:55:16 +05:30
sa11x0-dma.c dmaengine: sa11x0: Annotate struct sa11x0_dma_desc with __counted_by 2023-09-28 16:42:14 +05:30
sprd-dma.c dmaengine: sprd: delete redundant parameter for dma driver function 2023-10-02 21:28:33 +05:30
st_fdma.c dmaengine: Use device_get_match_data() 2023-10-09 10:54:48 +05:30
st_fdma.h dmaengine: st_fdma: Annotate struct st_fdma_desc with __counted_by 2023-09-28 16:42:14 +05:30
ste_dma40_ll.c dmaengine: ste_dma40: Remove platform data 2023-05-16 23:00:19 +05:30
ste_dma40_ll.h
ste_dma40.c dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe 2023-10-09 10:56:51 +05:30
ste_dma40.h dmaengine: ste_dma40: Remove platform data 2023-05-16 23:00:19 +05:30
stm32-dma.c dmaengine: stm32-dma: avoid bitfield overflow assertion 2023-11-24 18:28:25 +05:30
stm32-dmamux.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
stm32-mdma.c dmaengine updates for v6.7 2023-11-03 18:56:51 -10:00
sun4i-dma.c dmaengine: sun4i-dma: Convert to platform remove callback returning void 2023-09-28 13:10:55 +05:30
sun6i-dma.c dmaengine: sun6i-dma: Convert to platform remove callback returning void 2023-09-28 13:10:56 +05:30
tegra20-apb-dma.c dmaengine: tegra20-apb-dma: Convert to platform remove callback returning void 2023-09-28 13:10:56 +05:30
tegra186-gpc-dma.c iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places 2023-12-12 10:18:51 +01:00
tegra210-adma.c dmaengine: tegra210-adma: Annotate struct tegra_adma with __counted_by 2023-09-28 16:42:15 +05:30
timb_dma.c dmaengine: timb_dma: Convert to platform remove callback returning void 2023-09-28 13:10:58 +05:30
TODO
txx9dmac.c dmaengine: txx9dmac: Convert to platform remove callback returning void 2023-09-28 13:10:58 +05:30
txx9dmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier-mdmac.c dmaengine: uniphier-mdmac: replace zero-length array with flexible-array member 2020-02-13 20:15:57 +05:30
uniphier-xdmac.c dmaengine: uniphier-xdmac: Annotate struct uniphier_xdmac_device with __counted_by 2023-09-28 16:42:15 +05:30
virt-dma.c dmaengine: virt-dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
virt-dma.h dmaengine: virt-dma: Add missing locking around list operations 2019-12-26 10:04:18 +05:30
xgene-dma.c dmaengine: xgene-dma: Convert to platform remove callback returning void 2023-09-28 13:10:58 +05:30