Commit 8cfc5b6
vfio: Replace the iommu notifier with a device list
Instead of bouncing the function call to the driver op through a blocking
notifier just have the iommu layer call it directly.
Register each device that is being attached to the iommu with the lower
driver which then threads them on a linked list and calls the appropriate
driver op at the right time.
Currently the only use is if dma_unmap() is defined.
Also, fully lock all the debugging tests on the pinning path that a
dma_unmap is registered.
Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Kevin Tian <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alex Williamson <[email protected]>1 parent ce4b465 commit 8cfc5b6
File tree
4 files changed
+81
-77
lines changed- drivers/vfio
- include/linux
4 files changed
+81
-77
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
| 234 | + | |
235 | 235 | | |
236 | 236 | | |
237 | 237 | | |
| |||
1082 | 1082 | | |
1083 | 1083 | | |
1084 | 1084 | | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
1088 | | - | |
1089 | | - | |
1090 | | - | |
1091 | | - | |
1092 | | - | |
1093 | | - | |
1094 | | - | |
1095 | | - | |
1096 | 1085 | | |
1097 | 1086 | | |
1098 | 1087 | | |
| |||
1128 | 1117 | | |
1129 | 1118 | | |
1130 | 1119 | | |
1131 | | - | |
1132 | | - | |
1133 | | - | |
1134 | | - | |
1135 | | - | |
1136 | | - | |
1137 | | - | |
1138 | | - | |
1139 | | - | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
1140 | 1123 | | |
1141 | 1124 | | |
1142 | 1125 | | |
| |||
1176 | 1159 | | |
1177 | 1160 | | |
1178 | 1161 | | |
1179 | | - | |
1180 | | - | |
1181 | | - | |
1182 | | - | |
1183 | | - | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
1184 | 1165 | | |
1185 | 1166 | | |
1186 | 1167 | | |
| |||
1385 | 1366 | | |
1386 | 1367 | | |
1387 | 1368 | | |
1388 | | - | |
1389 | | - | |
1390 | | - | |
1391 | | - | |
1392 | | - | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
1393 | 1372 | | |
1394 | 1373 | | |
1395 | 1374 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | 36 | | |
40 | 37 | | |
41 | 38 | | |
| |||
58 | 55 | | |
59 | 56 | | |
60 | 57 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
66 | 62 | | |
67 | 63 | | |
68 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
865 | 866 | | |
866 | 867 | | |
867 | 868 | | |
868 | | - | |
869 | | - | |
| 869 | + | |
| 870 | + | |
870 | 871 | | |
871 | 872 | | |
872 | 873 | | |
| |||
1287 | 1288 | | |
1288 | 1289 | | |
1289 | 1290 | | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
1290 | 1320 | | |
1291 | 1321 | | |
1292 | 1322 | | |
| |||
1400 | 1430 | | |
1401 | 1431 | | |
1402 | 1432 | | |
1403 | | - | |
1404 | | - | |
1405 | 1433 | | |
1406 | 1434 | | |
1407 | 1435 | | |
1408 | 1436 | | |
1409 | 1437 | | |
1410 | 1438 | | |
1411 | 1439 | | |
1412 | | - | |
1413 | | - | |
1414 | | - | |
1415 | | - | |
1416 | | - | |
1417 | | - | |
1418 | | - | |
1419 | | - | |
1420 | | - | |
1421 | | - | |
1422 | | - | |
1423 | | - | |
1424 | | - | |
1425 | | - | |
| 1440 | + | |
1426 | 1441 | | |
1427 | 1442 | | |
1428 | 1443 | | |
| |||
2475 | 2490 | | |
2476 | 2491 | | |
2477 | 2492 | | |
2478 | | - | |
| 2493 | + | |
2479 | 2494 | | |
2480 | 2495 | | |
2481 | 2496 | | |
| |||
2507 | 2522 | | |
2508 | 2523 | | |
2509 | 2524 | | |
2510 | | - | |
| 2525 | + | |
| 2526 | + | |
2511 | 2527 | | |
2512 | 2528 | | |
2513 | 2529 | | |
| |||
2568 | 2584 | | |
2569 | 2585 | | |
2570 | 2586 | | |
2571 | | - | |
| 2587 | + | |
| 2588 | + | |
2572 | 2589 | | |
2573 | 2590 | | |
2574 | 2591 | | |
| |||
3005 | 3022 | | |
3006 | 3023 | | |
3007 | 3024 | | |
3008 | | - | |
3009 | | - | |
3010 | | - | |
| 3025 | + | |
| 3026 | + | |
3011 | 3027 | | |
3012 | 3028 | | |
3013 | 3029 | | |
3014 | | - | |
3015 | | - | |
3016 | | - | |
3017 | | - | |
3018 | | - | |
3019 | | - | |
| 3030 | + | |
| 3031 | + | |
3020 | 3032 | | |
3021 | | - | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
| 3036 | + | |
| 3037 | + | |
| 3038 | + | |
| 3039 | + | |
| 3040 | + | |
| 3041 | + | |
| 3042 | + | |
| 3043 | + | |
3022 | 3044 | | |
3023 | 3045 | | |
3024 | | - | |
3025 | | - | |
| 3046 | + | |
| 3047 | + | |
3026 | 3048 | | |
3027 | 3049 | | |
3028 | 3050 | | |
3029 | | - | |
| 3051 | + | |
| 3052 | + | |
| 3053 | + | |
| 3054 | + | |
| 3055 | + | |
| 3056 | + | |
| 3057 | + | |
| 3058 | + | |
3030 | 3059 | | |
3031 | 3060 | | |
3032 | 3061 | | |
| |||
3160 | 3189 | | |
3161 | 3190 | | |
3162 | 3191 | | |
3163 | | - | |
3164 | | - | |
| 3192 | + | |
| 3193 | + | |
3165 | 3194 | | |
3166 | 3195 | | |
3167 | 3196 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
0 commit comments