Search Linux Wireless

ath11k swiotlb buffer is full

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings,

I've got an ath11k card that is failing to init on an IMX8MM system
with 4GB of DRAM:
[    7.551582] ath11k_pci 0000:01:00.0: BAR 0 [mem
0x18000000-0x181fffff 64bit]: assigned
[    7.551713] ath11k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[    7.552401] ath11k_pci 0000:01:00.0: MSI vectors: 16
[    7.552440] ath11k_pci 0000:01:00.0: qcn9074 hw1.0
[    7.887186] mhi mhi0: Loaded FW: ath11k/QCN9074/hw1.0/amss.bin,
sha256: 5ee1b7b204541b5f99984f21d694ececaec08fbce1b520ffe6fe740b02a4afd7
[    8.435964] ath11k_pci 0000:01:00.0: chip_id 0x0 chip_family 0x0
board_id 0xff soc_id 0xffffffff
[    8.435991] ath11k_pci 0000:01:00.0: fw_version 0x270206d0
fw_build_timestamp 2022-08-04 12:48 fw_build_id
WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
[    8.441700] ath11k_pci 0000:01:00.0: Loaded FW:
ath11k/QCN9074/hw1.0/board-2.bin, sha256:
dbf0ca14aa1229eccd48f26f1026901b9718b143bd30b51b8ea67c84ba6207f1
[    9.753764] ath11k_pci 0000:01:00.0: Loaded FW:
ath11k/QCN9074/hw1.0/m3.bin, sha256:
b6d957f335073a15a8de809398e1506f0200a08747eaf7189c843cf519ffc1de
[    9.789791] ath11k_pci 0000:01:00.0: swiotlb buffer is full (sz:
1048583 bytes), total 32768 (slots), used 2528 (slots)
[    9.789853] ath11k_pci 0000:01:00.0: failed to set up tcl_comp ring (0) :-12
[    9.790238] ath11k_pci 0000:01:00.0: failed to init DP: -12
root@noble-venice:~# cat /proc/cmdline
console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200
root=PARTUUID=5cdde84f-01 rootwait net.ifnames=0 cma=196M

The IMX8MM's DRAM base is at 1GB so anything above 3GB hits the 32bit
address boundary. If I pass in a mem=3096M the device registers just
fine.

I found this to be the case with modern kernels however I found
differing behavior with older kernels:
- 6.6 and 6.1 the device registers with 4GB DRAM but crashes on client connect
- 5.15 devices registers with 4GB DRAM and appears to work just fine

Could anyone explain what is going on here? Obviously there have been
changes at some point to start using swiotlb which I believe was all
about avoiding 32bit DMA limitations but I'm not clear how I should be
configuring this for IMX8MM with 4GB DRAM. Maybe my kernel IOMMU
configuration is incorrect somehow?

I'm also unclear why there was no apparent problem with older kernels
such as 5.15.

Best Regards,

Tim




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux