Linux Kernel 4.7 hangs on ath10k driver startup, dts issue?


#1

Does anyone have the ath10k working on the SocFPGA?

I suspect an issue with the MSI interrupt. I have the MSI interrupts enabled in the Kernel config.

This is what I see.

Kernel:
[ 0.107892] PCI host bridge /sopc@0/bridge@0xc0000000/pcie@0x000000000 ranges:
[ 0.107922] MEM 0xc0000000…0xdfffffff -> 0x00000000
[ 0.108103] altera-pcie c0000000.pcie: PCI host bridge to bus 0000:00
[ 0.108118] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.108132] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xdfffffff] (bus address [0x00000000-0x1fffffff])
[ 0.109665] PCI: bus0: Fast back to back transfers disabled
[ 0.109703] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 0.112958] PCI: bus1: Fast back to back transfers disabled
[ 0.113302] pci 0000:00:00.0: BAR 8: assigned [mem 0xc0000000-0xc01fffff]
[ 0.113317] pci 0000:01:00.0: BAR 0: assigned [mem 0xc0000000-0xc01fffff 64bit]
[ 0.113461] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.113501] pci 0000:00:00.0: bridge window [mem 0xc0000000-0xc01fffff]
[ 0.113760] socfpga-reset ffd05000.rstmgr: missing altr,modrst-offset property, assuming 0x10!

Driver:
[ 59.895300] pci 0000:00:00.0: enabling device (0140 -> 0142)
[ 59.901050] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[ 59.908186] ath10k_pci 0000:01:00.0: limiting irq mode to: 2
[ 59.914101] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 2 reset_mode 0
DONE
[ 60.260461] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:01:00.0.bin failed with error -2
[ 60.271195] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[ 60.291566] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
[ 60.302264] ath10k_pci 0000:01:00.0: could not fetch firmware file ‘ath10k/QCA6174/hw3.0/firmware-5.bin’: -2
[ 60.800348] ath10k_pci 0000:01:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 168c:3361
[ 60.809586] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 0 tracing 1 dfs 0 testmode 0
[ 60.822460] ath10k_pci 0000:01:00.0: firmware ver WLAN.RM.2.0-00180-QCARMSWPZ-1 api 4 features wowlan,ignore-otp,no-4addr-pad crc32 75dee6c5
[ 62.094381] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 46b57247
[ 64.235455] ath10k_pci 0000:01:00.0: kpm ath10k_pci_hif_start,1653
[ 64.241620] ath10k_pci 0000:01:00.0: kpm ath10k_pci_irq_enable,1641

Here is the pcie section of my DTS file.
pcie_cv_hip_avmm_0: pcie@0x000000000 {
compatible = “ALTR,pcie-root-port-14.1”, “altr,pcie-root-port-1.0”;
reg = <0x00000000 0x00000000 0x20000000>,
<0x00000001 0x00020000 0x00004000>;
reg-names = “Txs”, “Cra”;
interrupt-parent = <&hps_0_arm_gic_0>;
interrupts = <0 40 4>;
interrupt-controller;
#interrupt-cells = <1>;
device_type = “pci”; /* embeddedsw.dts.params.device_type type STRING /
bus-range = <0x00000000 0x000000ff>;
ranges = <0x82000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x20000000>;
msi-parent = <&msi_to_gic_gen_0>;
#address-cells = <3>;
#size-cells = <2>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &pcie_cv_hip_avmm_0 1>,
<0 0 0 2 &pcie_cv_hip_avmm_0 2>,
<0 0 0 3 &pcie_cv_hip_avmm_0 3>,
<0 0 0 4 &pcie_cv_hip_avmm_0 4>;
altr,msi = <&msi_to_gic_gen_0>; /
appended from boardinfo */
}; //end pcie@0x000000000 (pcie_cv_hip_avmm_0)

Thanks for any help!!


#2

Hi @Ken
Did u solve this issue.

We are also facing almost same issue
[ 1.413756] ath10k_pci 0000:01:00.0: Direct firmware load for /lib/firmware/ath10k/pre-cal-pci-0000:01:00.0.bin failed with error -2
[ 1.438216] ath10k_pci 0000:01:00.0: Direct firmware load for /lib/firmware/ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[ 1.438268] ath10k_pci 0000:01:00.0: Direct firmware load for /lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin failed with error -2
[ 1.438277] ath10k_pci 0000:01:00.0: could not fetch firmware file ‘/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin’: -2
[ 1.438328] ath10k_pci 0000:01:00.0: Direct firmware load for /lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin failed with error -2
[ 1.438336] ath10k_pci 0000:01:00.0: could not fetch firmware file ‘/lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin’: -2
[ 1.438384] ath10k_pci 0000:01:00.0: Direct firmware load for /lib/firmware/ath10k/QCA988X/hw2.0/firmware-3.bin failed with error -2
[ 1.438392] ath10k_pci 0000:01:00.0: could not fetch firmware file ‘/lib/firmware/ath10k/QCA988X/hw2.0/firmware-3.bin’: -2
[ 1.438441] ath10k_pci 0000:01:00.0: Direct firmware load for /lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin failed with error -2
[ 1.438448] ath10k_pci 0000:01:00.0: could not fetch firmware file ‘/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin’: -2
[ 1.438454] ath10k_pci 0000:01:00.0: could not fetch firmware files (-2)
[ 1.438459] ath10k_pci 0000:01:00.0: could not probe fw (-2)

Using a QCA988X based Wifi Module
Kernel : 4.9.78-ltsi-06674-gbdf910b-dirty

Regards
Antony