[PCIE] PCIE SMMU error and kernel panic

Hi great experts,

We are porting our QCA WCN6856 drivers on L4T R32.7.1 (Kernel 4.9), and found the kernel panic with SMMU error messages as below. But this driver is work on L4T R35.1 (Kernel 5.10) without error. Is any patche we can apply on R32.7.1? We already tried to disable the SMMU in the kernel dts file, but it doesn’t work.
Xavier_NX_R32.7.1_SMMU_error_log.txt (34.0 KB)

[  535.579921] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu0, iova=0xff66c000, fsynr=0x10002, cb=0, sid=90(0x5a - PCIE4), pgd=260c50003, pud=260c50003, pmd=0, pte=0
[  535.580295] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xff66c000, fsynr=0x80012, cb=0, sid=90(0x5a - PCIE4), pgd=260c50003, pud=260c50003, pmd=0, pte=0

PS:
The WCN6856 driver is from:
https://source.codeaurora.org/external/wlan/qcacld-3.0/
https://source.codeaurora.org/external/wlan/wlan-cnss-core
http://source.codeaurora.org/external/wlan/fw-api
https://source.codeaurora.org/external/wlan/qca-wifi-host-cmn

Thanks,

Kunyang

Currently no idea why it works on K5.10/R35.1, but faield on K4.9/R32.7.1.
You may debug further with vendor.

Hi Kayccc,

We ask our vendor and they mentioned some possible cause as below:

We analyzed the log and let me share the result.
It looks like interrupt is missing and caused event handling delayed, peer delete event looks not get processed until host get interrupt from tx complete of vdev down cmd.
We have the similar experience on another customer’s platform, and the solution is to change ARM change GIC interrupt type from IRQ_TYPE_EDGE_RISING to IRQ_TYPE_LEVEL_HIGH in the dts file

How to change the ARM GIC interrupt type of a PCIE bus in K4.9/R32.7.1 ?

Thanks,

Kunyang