linux/drivers/memory
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
..
samsung memory: exynos5422-dmc: Convert to platform remove callback returning void 2023-12-19 09:05:18 +01:00
tegra IOMMU Updates for Linux v6.8 2024-01-18 15:16:57 -08:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
atmel-ebi.c memory: Use device_get_match_data() 2023-10-12 15:42:16 +02:00
brcmstb_dpfe.c memory: brcmstb_dpfe: Convert to platform remove callback returning void 2023-12-19 09:05:15 +01:00
brcmstb_memc.c memory: brcmstb_memc: Convert to platform remove callback returning void 2023-12-19 09:05:15 +01:00
bt1-l2-ctl.c memory: remove MODULE_LICENSE in non-modules 2023-03-09 15:20:50 +01:00
da8xx-ddrctl.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
dfl-emif.c memory: dfl-emif: Update the dfl emif driver support revision 1 2022-08-16 12:12:04 +03:00
emif-asm-offsets.c memory: emif-asm-offsets: Add GPLv2 SPDX license header 2020-07-24 16:18:32 +02:00
emif.c memory: emif: Convert to platform remove callback returning void 2023-12-19 09:05:16 +01:00
emif.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
fsl_ifc.c memory: fsl_ifc: Convert to platform remove callback returning void 2023-12-19 09:05:16 +01:00
fsl-corenet-cf.c memory: fsl-corenet-cf: Convert to platform remove callback returning void 2023-12-19 09:05:16 +01:00
jedec_ddr_data.c memory: Add LPDDR2-info helpers 2021-10-15 09:52:47 +02:00
jedec_ddr.h memory: Add LPDDR2-info helpers 2021-10-15 09:52:47 +02:00
jz4780-nemc.c memory: jz4780-nemc: Convert to platform remove callback returning void 2023-12-19 09:05:16 +01:00
Kconfig memory: atmel-sdramc: remove the driver 2023-06-02 10:39:24 +02:00
Makefile memory: atmel-sdramc: remove the driver 2023-06-02 10:39:24 +02:00
mtk-smi.c memory: mtk-smi: Convert to platform remove callback returning void 2023-12-19 09:05:17 +01:00
mvebu-devbus.c memory: remove MODULE_LICENSE in non-modules 2023-03-09 15:20:50 +01:00
of_memory.c memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings() 2022-08-16 12:12:06 +03:00
of_memory.h memory: Add LPDDR2-info helpers 2021-10-15 09:52:47 +02:00
omap-gpmc.c memory: omap-gpmc: Convert to platform remove callback returning void 2023-12-19 09:05:17 +01:00
pl172.c amba: Make the remove callback return void 2021-02-02 14:25:50 +01:00
pl353-smc.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
renesas-rpc-if.c memory: renesas-rpc-if: Convert to platform remove callback returning void 2023-12-19 09:05:17 +01:00
stm32-fmc2-ebi.c memory: stm32-fmc2-ebi: Convert to platform remove callback returning void 2023-12-19 09:05:18 +01:00
ti-aemif.c memory: ti-aemif: Convert to platform remove callback returning void 2023-12-19 09:05:19 +01:00
ti-emif-pm.c memory: ti-emif-pm: Convert to platform remove callback returning void 2023-12-19 09:05:19 +01:00
ti-emif-sram-pm.S ARM: mm: Make virt_to_pfn() a static inline 2023-05-29 11:27:08 +02:00