Search Linux Wireless

Re: ath11k swiotlb buffer is full

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

 




On 11/20/2024 4:16 AM, Tim Harvey wrote:
> 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.
yeah ... that parameter makes kernel alloc memory below 32bit boundary, thus swiotlb is not necessary.

> 
> 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
are you using Linus' tree or the stable tree?

> 
> 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?
there are quite some options associated with IOMMU, not sure which one might be causing this. But basically you may check:

CONFIG_IOMMU_IOVA
CONFIG_IOMMU_API
CONFIG_IOMMU_SUPPORT
CONFIG_IOMMU_DMA=y

> 
> 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