Commit a1df829
ACPI/IORT: Do not blindly trust DMA masks from firmware
Address issue observed on real world system with suboptimal IORT table
where DMA masks of PCI devices would get set to 0 as result.
iort_dma_setup() would query the root complex'/named component IORT
entry for a DMA mask, and use that over the one the device has been
configured with earlier.
Ideally we want to use the minimum mask of what the IORT contains for
the root complex and what the device was configured with.
Fixes: 5ac65e8 ("ACPI/IORT: Support address size limit for root complexes")
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Link: https://lore.kernel.org/r/20210122012419.95010-1-mdf@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>1 parent 519ea6f commit a1df829
1 file changed
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1107 | 1107 | | |
1108 | 1108 | | |
1109 | 1109 | | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
1110 | 1115 | | |
1111 | 1116 | | |
1112 | 1117 | | |
| |||
1126 | 1131 | | |
1127 | 1132 | | |
1128 | 1133 | | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
1129 | 1139 | | |
1130 | 1140 | | |
1131 | 1141 | | |
| |||
1173 | 1183 | | |
1174 | 1184 | | |
1175 | 1185 | | |
1176 | | - | |
1177 | | - | |
| 1186 | + | |
| 1187 | + | |
1178 | 1188 | | |
1179 | 1189 | | |
1180 | 1190 | | |
| |||
0 commit comments