Hi

We're trying to bring up a Silex SDMAC WiFi module (it is an SDIO
module based on QCA9377) on a
beaglebone-x15(https://beagleboard.org/x15) board.
Our kernel version:
root@beagle-x15:~# uname -a
Linux beagle-x15 4.19.79-gfbf2b6dfdb #1 SMP PREEMPT Wed Dec 4 18:28:14
UTC 2019 armv7l armv7l armv7l GNU/Linux

We enabled the QCA driver by enabling these config items.

CONFIG_ATH_COMMON=m
CONFIG_ATH10K=m
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_SDIO=m
CONFIG_ATH10K_DEBUG=y
CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K_SPECTRAL=y

and we enabled the firmware by adding this to our image install
+       linux-firmware-ath10k \

The probe of the module fails initially due to missing firmware image
(even though the firmware is present in /lib/firmware)

[   40.390154] ath10k_sdio mmc2:0001:1: WARNING: ath10k SDIO support
is incomplete, don't expect anything to work!
[   40.463406] ath10k_sdio mmc2:0001:1: Failed to find firmware-N.bin
(N between 2 and 6) from ath10k/QCA9377/hw1.0: -2
[   40.474042] ath10k_sdio mmc2:0001:1: could not fetch firmware files (-2)
[   40.481136] ath10k_sdio mmc2:0001:1: could not probe fw (-2)

Looking at the driver code , looks like it expects to find the
bus-type as part of the firmware image, I renamed the firmware image
as:
root@beagle-x15:~# cp
/lib/firmware/ath10k/QCA9377/hw1.0/firmware-6.bin
/lib/firmware/ath10k/QCA9377/hw1.0/firmware-sdio-6.bin

After this the probe seems to go further but fails on a dma_alloc_coherent().
Looks like the dma_mask for the device isn't set so
dma_alloc_coherent() fails. (I think)
Has anyone come across this and has it been addressed ?
[I looked at git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
, I couldn't tell (cursory look at the commit log)]


root@beagle-x15:~# [  203.621784] mmc2: queuing unknown CIS tuple 0x01 (3 bytes)
[  203.637659] mmc2: queuing unknown CIS tuple 0x1a (5 bytes)
[  203.647718] mmc2: queuing unknown CIS tuple 0x1b (8 bytes)
[  203.654471] mmc2: queuing unknown CIS tuple 0x14 (0 bytes)
[  203.669842] mmc2: queuing unknown CIS tuple 0x80 (1 bytes)
[  203.675761] mmc2: queuing unknown CIS tuple 0x81 (1 bytes)
[  203.681657] mmc2: queuing unknown CIS tuple 0x82 (1 bytes)
[  203.687672] mmc2: new high speed SDIO card at address 0001
[  203.708712] ath10k_sdio mmc2:0001:1: WARNING: ath10k SDIO support
is incomplete, don't expect anything to work!
[  203.784129] ath10k_sdio mmc2:0001:1: qca9377 hw1.1 target
0x05020001 chip_id 0x00000000 sub 0000:0000
[  203.793498] ath10k_sdio mmc2:0001:1: kconfig debug 1 debugfs 1
tracing 0 dfs 0 testmode 1
[  203.803778] ath10k_sdio mmc2:0001:1: firmware ver
WLAN.TF.2.1-00021-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32
42e41877
[  203.977731] ath10k_sdio mmc2:0001:1: failed to fetch board data for
bus=sdio,vendor=0271,device=0701,subsystem-vendor=0000,subsystem-device=0000
from ath10k/QCA9377/hw1.0/board-2.bin
[  203.995110] ath10k_sdio mmc2:0001:1: board_file api 1 bmi_id N/A
crc32 544289f7
[  205.611906] ------------[ cut here ]------------
[  205.616633] WARNING: CPU: 1 PID: 71 at
include/linux/dma-mapping.h:517
ath10k_htt_tx_alloc_cont_txbuf_32+0x150/0x170 [ath10k_core]
[  205.628811] Modules linked in: bnep xhci_plat_hcd xhci_hcd usbcore
pru_rproc irq_pruss_intc pruss dwc3 udc_core usb_common
snd_soc_simple_card snd_soc_simple_card_utils ath10k_sdio ath10k_core
ath ahci_platform libahci_platform libahci snd_soc_omap_hdmi
omap_aes_driver pruss_soc_bus omap_sham omap_wdt libata phy_omap_usb2
mac80211 ti_vpe ti_sc ti_csc ti_vpdma dwc3_omap rtc_omap omap_des
c_can_platform c_can cfg80211 omap_hdq des_generic crypto_engine
can_dev wire extcon_palmas omap_crypto rtc_palmas snd_soc_tlv320aic3x
rtc_ds1307 at24 omap_remoteproc remoteproc bridge stp llc sch_fq_codel
[  205.681691] CPU: 1 PID: 71 Comm: kworker/u4:1 Not tainted
4.19.79-gfbf2b6dfdb #1
[  205.689120] Hardware name: Generic DRA74X (Flattened Device Tree)
[  205.695324] Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core]
[  205.702057] Backtrace:
[  205.704526] [<c020cc6c>] (dump_backtrace) from [<c020cfa8>]
(show_stack+0x18/0x1c)
[  205.712131]  r7:bf3513cc r6:60000013 r5:00000000 r4:c1251180
[  205.717821] [<c020cf90>] (show_stack) from [<c0a59234>]
(dump_stack+0x90/0xa4)
[  205.725078] [<c0a591a4>] (dump_stack) from [<c022e4dc>] (__warn+0xdc/0xf8)
[  205.731983]  r7:bf3513cc r6:00000009 r5:00000000 r4:00000000
[  205.737670] [<c022e400>] (__warn) from [<c022e540>]
(warn_slowpath_null+0x48/0x50)
[  205.745273]  r9:00001234 r8:ec591520 r7:ec5916a0 r6:bf324d88
r5:00000205 r4:bf3513cc
[  205.753111] [<c022e4f8>] (warn_slowpath_null) from [<bf324d88>]
(ath10k_htt_tx_alloc_cont_txbuf_32+0x150/0x170 [ath10k_core])
[  205.764462]  r6:ecdf0208 r5:c0c0147c r4:0000a500
[  205.769217] [<bf324c38>] (ath10k_htt_tx_alloc_cont_txbuf_32
[ath10k_core]) from [<bf326438>] (ath10k_htt_tx_start+0x88/0x358
[ath10k_core])
[  205.781791]  r8:000b1855 r7:ec591520 r6:00000000 r5:ec590e00 r4:ec591520
[  205.788636] [<bf3263b0>] (ath10k_htt_tx_start [ath10k_core]) from
[<bf31c054>] (ath10k_core_start+0x350/0xc68 [ath10k_core])
[  205.799901]  r10:ec5901a0 r9:00001234 r8:000b1855 r7:ec591520
r6:00000000 r5:00000000
[  205.807762]  r4:ec590e00
[  205.810420] [<bf31bd04>] (ath10k_core_start [ath10k_core]) from
[<bf31db88>] (ath10k_core_register_work+0x518/0x964 [ath10k_core])
[  205.822209]  r9:ec590e08 r8:ec5919bc r7:ec591984 r6:00000000
r5:ec591a88 r4:ec590e00
[  205.830044] [<bf31d670>] (ath10k_core_register_work [ath10k_core])
from [<c02468bc>] (process_one_work+0x1f4/0x404)
[  205.840526]  r10:00000000 r9:ec593a8c r8:00000000 r7:ec667600
r6:ee806200 r5:ee370e00
[  205.848388]  r4:ec593a88
[  205.850935] [<c02466c8>] (process_one_work) from [<c02476b0>]
(worker_thread+0x58/0x568)
[  205.859063]  r10:ee806200 r9:c1203d00 r8:ee806218 r7:00000088
r6:ee806200 r5:ee370e14
[  205.866924]  r4:ee370e00
[  205.869472] [<c0247658>] (worker_thread) from [<c024cc14>]
(kthread+0x160/0x168)
[  205.876901]  r10:ee8b1e74 r9:c0247658 r8:ee370e00 r7:edee4000
r6:00000000 r5:ee383780
[  205.884761]  r4:ee3837c0
[  205.887310] [<c024cab4>] (kthread) from [<c02010d8>]
(ret_from_fork+0x14/0x3c)
[  205.894563] Exception stack(0xedee5fb0 to 0xedee5ff8)
[  205.899635] 5fa0:                                     00000000
00000000 00000000 00000000
[  205.907849] 5fc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[  205.916061] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[  205.922707]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
r6:00000000 r5:c024cab4
[  205.930570]  r4:ee383780
[  205.937490] ---[ end trace 13ec8832fc653004 ]---
[  205.942169] ath10k_sdio mmc2:0001:1: coherent DMA mask is unset
[  205.948114] ath10k_sdio mmc2:0001:1: coherent allocation too big
(requested 0xa500 mask 0x0)
[  205.956896] ath10k_sdio mmc2:0001:1: failed to alloc cont tx buffer: -12
[  205.963666] ath10k_sdio mmc2:0001:1: failed to alloc htt tx: -12
[  205.969805] ath10k_sdio mmc2:0001:1: could not init core (-12)
[  205.975983] ath10k_sdio mmc2:0001:1: unable to disable sdio function: -5
[  205.982754] ath10k_sdio mmc2:0001:1: could not probe fw (-12)

Any help would be most appreciated.Thanks in advance.

Best Regards
Girish

_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to