Skip to content

Commit ebcfbf0

Browse files
committed
Merge tag 'iommu-updates-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux
Pull iommu updates from Will Deacon: "Core: - Support for the "ats-supported" device-tree property - Removal of the 'ops' field from 'struct iommu_fwspec' - Introduction of iommu_paging_domain_alloc() and partial conversion of existing users - Introduce 'struct iommu_attach_handle' and provide corresponding IOMMU interfaces which will be used by the IOMMUFD subsystem - Remove stale documentation - Add missing MODULE_DESCRIPTION() macro - Misc cleanups Allwinner Sun50i: - Ensure bypass mode is disabled on H616 SoCs - Ensure page-tables are allocated below 4GiB for the 32-bit page-table walker - Add new device-tree compatible strings AMD Vi: - Use try_cmpxchg64() instead of cmpxchg64() when updating pte Arm SMMUv2: - Print much more useful information on context faults - Fix Qualcomm TBU probing when CONFIG_ARM_SMMU_QCOM_DEBUG=n - Add new Qualcomm device-tree bindings Arm SMMUv3: - Support for hardware update of access/dirty bits and reporting via IOMMUFD - More driver rework from Jason, this time updating the PASID/SVA support to prepare for full IOMMUFD support - Add missing MODULE_DESCRIPTION() macro - Minor fixes and cleanups NVIDIA Tegra: - Fix for benign fwspec initialisation issue exposed by rework on the core branch Intel VT-d: - Use try_cmpxchg64() instead of cmpxchg64() when updating pte - Use READ_ONCE() to read volatile descriptor status - Remove support for handling Execute-Requested requests - Avoid calling iommu_domain_alloc() - Minor fixes and refactoring Qualcomm MSM: - Updates to the device-tree bindings" * tag 'iommu-updates-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux: (72 commits) iommu/tegra-smmu: Pass correct fwnode to iommu_fwspec_init() iommu/vt-d: Fix identity map bounds in si_domain_init() iommu: Move IOMMU_DIRTY_NO_CLEAR define dt-bindings: iommu: Convert msm,iommu-v0 to yaml iommu/vt-d: Fix aligned pages in calculate_psi_aligned_address() iommu/vt-d: Limit max address mask to MAX_AGAW_PFN_WIDTH docs: iommu: Remove outdated Documentation/userspace-api/iommu.rst arm64: dts: fvp: Enable PCIe ATS for Base RevC FVP iommu/of: Support ats-supported device-tree property dt-bindings: PCI: generic: Add ats-supported property iommu: Remove iommu_fwspec ops OF: Simplify of_iommu_configure() ACPI: Retire acpi_iommu_fwspec_ops() iommu: Resolve fwspec ops automatically iommu/mediatek-v1: Clean up redundant fwspec checks RDMA/usnic: Use iommu_paging_domain_alloc() wifi: ath11k: Use iommu_paging_domain_alloc() wifi: ath10k: Use iommu_paging_domain_alloc() drm/msm: Use iommu_paging_domain_alloc() vhost-vdpa: Use iommu_paging_domain_alloc() ...
2 parents 3d51520 + 8b6c32e commit ebcfbf0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1624
-1236
lines changed

Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ properties:
1717
The content of the cell is the master ID.
1818

1919
compatible:
20-
const: allwinner,sun50i-h6-iommu
20+
oneOf:
21+
- const: allwinner,sun50i-h6-iommu
22+
- const: allwinner,sun50i-h616-iommu
23+
- items:
24+
- const: allwinner,sun55i-a523-iommu
25+
- const: allwinner,sun50i-h616-iommu
2126

2227
reg:
2328
maxItems: 1

Documentation/devicetree/bindings/iommu/arm,smmu.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ properties:
8686
- qcom,qcm2290-smmu-500
8787
- qcom,sa8775p-smmu-500
8888
- qcom,sc7280-smmu-500
89+
- qcom,sc8180x-smmu-500
8990
- qcom,sc8280xp-smmu-500
9091
- qcom,sm6115-smmu-500
9192
- qcom,sm6125-smmu-500
@@ -95,6 +96,7 @@ properties:
9596
- qcom,sm8450-smmu-500
9697
- qcom,sm8550-smmu-500
9798
- qcom,sm8650-smmu-500
99+
- qcom,x1e80100-smmu-500
98100
- const: qcom,adreno-smmu
99101
- const: qcom,smmu-500
100102
- const: arm,mmu-500
@@ -415,6 +417,7 @@ allOf:
415417
compatible:
416418
contains:
417419
enum:
420+
- qcom,sc8180x-smmu-500
418421
- qcom,sm6350-smmu-v2
419422
- qcom,sm7150-smmu-v2
420423
- qcom,sm8150-smmu-500
@@ -520,6 +523,7 @@ allOf:
520523
- enum:
521524
- qcom,sm8550-smmu-500
522525
- qcom,sm8650-smmu-500
526+
- qcom,x1e80100-smmu-500
523527
- const: qcom,adreno-smmu
524528
- const: qcom,smmu-500
525529
- const: arm,mmu-500
@@ -550,14 +554,12 @@ allOf:
550554
- nvidia,smmu-500
551555
- qcom,qdu1000-smmu-500
552556
- qcom,sc7180-smmu-500
553-
- qcom,sc8180x-smmu-500
554557
- qcom,sdm670-smmu-500
555558
- qcom,sdm845-smmu-500
556559
- qcom,sdx55-smmu-500
557560
- qcom,sdx65-smmu-500
558561
- qcom,sm6350-smmu-500
559562
- qcom,sm6375-smmu-500
560-
- qcom,x1e80100-smmu-500
561563
then:
562564
properties:
563565
clock-names: false

Documentation/devicetree/bindings/iommu/msm,iommu-v0.txt

Lines changed: 0 additions & 64 deletions
This file was deleted.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
5+
$id: http://devicetree.org/schemas/iommu/qcom,apq8064-iommu.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Qualcomm APQ8064 IOMMU
9+
10+
maintainers:
11+
- David Heidelberg <[email protected]>
12+
13+
description:
14+
The MSM IOMMU is an implementation compatible with the ARM VMSA short
15+
descriptor page tables. It provides address translation for bus masters
16+
outside of the CPU, each connected to the IOMMU through a port called micro-TLB.
17+
18+
properties:
19+
compatible:
20+
const: qcom,apq8064-iommu
21+
22+
clocks:
23+
items:
24+
- description: interface clock for register accesses
25+
- description: functional clock for bus accesses
26+
27+
clock-names:
28+
items:
29+
- const: smmu_pclk
30+
- const: iommu_clk
31+
32+
reg:
33+
maxItems: 1
34+
35+
interrupts:
36+
description: Specifiers for the MMU fault interrupts.
37+
minItems: 1
38+
items:
39+
- description: non-secure mode interrupt
40+
- description: secure mode interrupt (for instances which supports it)
41+
42+
"#iommu-cells":
43+
const: 1
44+
description: Each IOMMU specifier describes a single Stream ID.
45+
46+
qcom,ncb:
47+
$ref: /schemas/types.yaml#/definitions/uint32
48+
description: The total number of context banks in the IOMMU.
49+
minimum: 1
50+
maximum: 4
51+
52+
required:
53+
- reg
54+
- interrupts
55+
- clocks
56+
- clock-names
57+
- qcom,ncb
58+
59+
additionalProperties: false
60+
61+
examples:
62+
- |
63+
#include <dt-bindings/clock/qcom,mmcc-msm8960.h>
64+
#include <dt-bindings/interrupt-controller/irq.h>
65+
#include <dt-bindings/interrupt-controller/arm-gic.h>
66+
67+
iommu@7500000 {
68+
compatible = "qcom,apq8064-iommu";
69+
reg = <0x07500000 0x100000>;
70+
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
71+
<GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
72+
clocks = <&clk SMMU_AHB_CLK>,
73+
<&clk MDP_AXI_CLK>;
74+
clock-names = "smmu_pclk",
75+
"iommu_clk";
76+
#iommu-cells = <1>;
77+
qcom,ncb = <2>;
78+
};

Documentation/devicetree/bindings/iommu/qcom,iommu.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- const: qcom,msm-iommu-v1
2626
- items:
2727
- enum:
28+
- qcom,msm8953-iommu
2829
- qcom,msm8976-iommu
2930
- const: qcom,msm-iommu-v2
3031

Documentation/devicetree/bindings/pci/host-generic-pci.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ properties:
110110
iommu-map-mask: true
111111
msi-parent: true
112112

113+
ats-supported:
114+
description:
115+
Indicates that a PCIe host controller supports ATS, and can handle Memory
116+
Requests with Address Type (AT).
117+
type: boolean
118+
113119
required:
114120
- compatible
115121
- reg

Documentation/userspace-api/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ Devices and I/O
4545
accelerators/ocxl
4646
dma-buf-alloc-exchange
4747
gpio/index
48-
iommu
4948
iommufd
5049
media/index
5150
dcdbas

0 commit comments

Comments
 (0)