Commit c0a25a9
iommu/arm-smmu-v3: Shrink the cdtab l1_desc array
The top of the 2 level CD table is (at most) 1024 entries big, and two
high order allocations are required. One of __le64 which is programmed
into the HW (8k) and one of struct arm_smmu_l1_ctx_desc which holds the
CPU pointer (16k).
There are two copies of the l2ptr_dma, one is stored in the struct
arm_smmu_l1_ctx_desc, and another is encoded in the __le64 for the HW to
use. Instead of storing two copies just decode the value from the __le64.
Tested-by: Nicolin Chen <[email protected]>
Reviewed-by: Nicolin Chen <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Will Deacon <[email protected]>1 parent 47b2de3 commit c0a25a9
2 files changed
+18
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1217 | 1217 | | |
1218 | 1218 | | |
1219 | 1219 | | |
1220 | | - | |
1221 | | - | |
| 1220 | + | |
1222 | 1221 | | |
1223 | | - | |
| 1222 | + | |
1224 | 1223 | | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
1232 | | - | |
| 1224 | + | |
| 1225 | + | |
1233 | 1226 | | |
1234 | 1227 | | |
1235 | | - | |
1236 | | - | |
| 1228 | + | |
1237 | 1229 | | |
1238 | | - | |
1239 | | - | |
1240 | | - | |
1241 | | - | |
1242 | | - | |
| 1230 | + | |
1243 | 1231 | | |
1244 | 1232 | | |
1245 | 1233 | | |
| |||
1281 | 1269 | | |
1282 | 1270 | | |
1283 | 1271 | | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
1287 | 1280 | | |
1288 | 1281 | | |
1289 | | - | |
1290 | | - | |
| 1282 | + | |
| 1283 | + | |
1291 | 1284 | | |
1292 | 1285 | | |
1293 | 1286 | | |
| |||
1480 | 1473 | | |
1481 | 1474 | | |
1482 | 1475 | | |
1483 | | - | |
| 1476 | + | |
| 1477 | + | |
1484 | 1478 | | |
1485 | 1479 | | |
1486 | 1480 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
622 | | - | |
623 | 622 | | |
624 | 623 | | |
625 | 624 | | |
| |||
0 commit comments