Commit 987a878
iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg
arm_smmu_s1_cfg (and by extension arm_smmu_domain) owns both a CD table
and the CD inserted into that table's non-pasid CD entry. This limits
arm_smmu_domain's ability to represent non-pasid domains, where multiple
domains need to be inserted into a common CD table. Rather than describing
an STE entry (which may have multiple domains installed into it with
PASID), a domain should describe a single CD entry instead. This is
precisely the role of arm_smmu_ctx_desc. A subsequent commit will also
move the CD table outside of arm_smmu_domain.
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Michael Shavit <mshavit@google.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Link: https://lore.kernel.org/r/20230915211705.v8.1.I67ab103c18d882aedc8a08985af1fba70bca084e@changeid
Signed-off-by: Will Deacon <will@kernel.org>1 parent 70c6136 commit 987a878
3 files changed
Lines changed: 17 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1869 | 1869 | | |
1870 | 1870 | | |
1871 | 1871 | | |
1872 | | - | |
| 1872 | + | |
1873 | 1873 | | |
1874 | 1874 | | |
1875 | 1875 | | |
| |||
1962 | 1962 | | |
1963 | 1963 | | |
1964 | 1964 | | |
1965 | | - | |
| 1965 | + | |
1966 | 1966 | | |
1967 | 1967 | | |
1968 | 1968 | | |
| |||
2075 | 2075 | | |
2076 | 2076 | | |
2077 | 2077 | | |
2078 | | - | |
| 2078 | + | |
2079 | 2079 | | |
2080 | 2080 | | |
2081 | 2081 | | |
| |||
2094 | 2094 | | |
2095 | 2095 | | |
2096 | 2096 | | |
| 2097 | + | |
2097 | 2098 | | |
2098 | 2099 | | |
2099 | | - | |
| 2100 | + | |
2100 | 2101 | | |
2101 | 2102 | | |
2102 | 2103 | | |
2103 | | - | |
| 2104 | + | |
2104 | 2105 | | |
2105 | 2106 | | |
2106 | 2107 | | |
| |||
2113 | 2114 | | |
2114 | 2115 | | |
2115 | 2116 | | |
2116 | | - | |
2117 | | - | |
2118 | | - | |
| 2117 | + | |
| 2118 | + | |
| 2119 | + | |
2119 | 2120 | | |
2120 | 2121 | | |
2121 | 2122 | | |
2122 | 2123 | | |
2123 | 2124 | | |
2124 | 2125 | | |
2125 | | - | |
| 2126 | + | |
2126 | 2127 | | |
2127 | 2128 | | |
2128 | 2129 | | |
2129 | 2130 | | |
2130 | 2131 | | |
2131 | 2132 | | |
2132 | | - | |
| 2133 | + | |
2133 | 2134 | | |
2134 | 2135 | | |
2135 | 2136 | | |
| |||
2139 | 2140 | | |
2140 | 2141 | | |
2141 | 2142 | | |
2142 | | - | |
| 2143 | + | |
2143 | 2144 | | |
2144 | 2145 | | |
2145 | 2146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
599 | 599 | | |
600 | 600 | | |
601 | 601 | | |
602 | | - | |
603 | 602 | | |
604 | 603 | | |
605 | 604 | | |
| |||
724 | 723 | | |
725 | 724 | | |
726 | 725 | | |
727 | | - | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
728 | 730 | | |
729 | 731 | | |
730 | 732 | | |
| |||
0 commit comments