Commit a21698b
committed
NVIDIA: SAUCE: iommu/arm-smmu-v3: Use identity domain for ASPEED BMC devices
ASPEED BMC devices behind an AST1150 PCIe-to-PCI bridge receive DMA
from BMC firmware using host physical addresses that bypass the
kernel's DMA API entirely.
When these devices are assigned a DMA translated domain, the SMMU
generates F_TRANSLATION faults because the BMC's physical addresses
have no corresponding IOVA mappings in the SMMU page tables.
Fix this by returning IOMMU_DOMAIN_IDENTITY for PCI devices whose
parent bridge has both the PCI_BRIDGE_NO_ALIASES flag and an ASPEED
vendor ID, so the SMMU passes BMC DMA transactions through
untranslated.
Signed-off-by: Koba Ko <kobak@nvidia.com>1 parent e399e4e commit a21698b
1 file changed
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3774 | 3774 | | |
3775 | 3775 | | |
3776 | 3776 | | |
| 3777 | + | |
| 3778 | + | |
| 3779 | + | |
| 3780 | + | |
| 3781 | + | |
| 3782 | + | |
| 3783 | + | |
| 3784 | + | |
| 3785 | + | |
| 3786 | + | |
| 3787 | + | |
| 3788 | + | |
| 3789 | + | |
3777 | 3790 | | |
3778 | 3791 | | |
3779 | 3792 | | |
| |||
0 commit comments