Register   |   Login

Print

iommu error for EWM-W162 in Linux

iommu error for EWM-W162 in Linux

Hi,
I am using EWM-W162 on JETSON-Xavier (ARM64). I am using Nvidia's linux sdk which is based on Linux 4.9.140.
I am seeing many IOMMU errors for  EWM-W162:
Quote:
[   37.512292] mc-err: Too many MC errors; throttling prints
[   37.517052] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu0, iova=0xfff72980, fsynr=0x40013, cb=2, sid=89(0x59 - PCIE3), pgd=448a5a003, pud=448a5a003, pmd=448a5b003, pte=0
[   37.613667] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu0, iova=0xfff72980, fsynr=0x40013, cb=2, sid=89(0x59 - PCIE3), pgd=448a5a003, pud=448a5a003, pmd=448a5b003, pte=0
[   37.620038] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu0, iova=0xfff78980, fsynr=0x40013, cb=2, sid=89(0x59 - PCIE3), pgd=448a5a003, pud=448a5a003, pmd=448a5b003, pte=0
[   38.139714] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu0, iova=0xfff72980, fsynr=0x40013, cb=2, sid=89(0x59 - PCIE3), pgd=448a5a003, pud=448a5a003, pmd=448a5b003, pte=0
[   39.403305] mc-err: vpr base=0:f0000000, size=80, ctrl=1, overridea01a8340, fcee10c1, 1, 0)
[   39.403544] mc-err: (255) csw_pcie3w: MC request violates VPR requirements
[   39.403679] mc-err:   status = 0x0ff740df; addr = 0xffffffff00; hi_adr_reg=008
[   39.403848] mc-err:   secure: yes, access-type: write
[   39.403967] mc-err: mcerr: unknown intr source intstatus = 0x00000000, intstatus_1 = 0x00000000
[   39.566581] mc-err: vpr base=0:f0000000, size=80, ctrl=1, overridea01a8340, fcee10c1, 1, 0)
[   39.566811] mc-err: (255) csw_pcie3w: MC request violates VPR requirements
[   39.566952] mc-err:   status = 0x0ff740df; addr = 0xffffffff00; hi_adr_reg=008
[   39.567092] mc-err:   secure: yes, access-type: write
[   39.567211] mc-err: mcerr: unknown intr source intstatus = 0x00000000, intstatus_1 = 0x00000000
[   39.711138] mc-err: Too many MC errors; throttling prints
[   41.478920] __arm_smmu_context_fault: 17 callbacks suppressed
The solution I found was to disable iommu and dma-coherent for the pcie port which connects  EWM-W162 in Linux device tree.
But I would like to use iommu and dma feature.

I posted my question on NVIDIA forum. They told me that it is most likely a driver issue. The driver must use IOVA addresses to initiate its internal DMA engines to perform read/writes to the Tegra system memory.

The mwifiex driver is part of linux upstream driver which is version 4.9.140. I also tried mwifiex driver from 4.10 Linux, but it got the same iommu error. If I use driver from Linux 4.11 or higher, it will get compile time error.

How could we resolve this iommu error for EWM-W162?

Regards,
Shuo

TOP

Quick search in Advantech Support Portal