qca6164 support

Victor van Poppelen vvanpo at gmail.com
Thu Aug 6 09:59:57 PDT 2015


Still get a firmware crash after 'boot hif start', but different
behaviour this time.  Here is the dmesg output:

[    6.058379] ath10k_pci 0000:02:00.0: pci probe
[    6.058933] ath10k_pci 0000:02:00.0: boot pci_mem 0xffffc90002c00000
[    6.060960] ath10k_pci 0000:02:00.0: pci irq msi-x interrupts 8
irq_mode 0 reset_mode 0
[    6.061846] ath10k_pci 0000:02:00.0: boot qca6174 chip reset
[    6.061848] ath10k_pci 0000:02:00.0: boot cold reset
[    6.103526] ath10k_pci 0000:02:00.0: boot cold reset complete
[    6.103535] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[    6.103615] ath10k_pci 0000:02:00.0: boot target indicator 2
[    6.103624] ath10k_pci 0000:02:00.0: boot target initialised
[    6.103628] ath10k_pci 0000:02:00.0: boot warm reset
[    6.125791] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[    6.125951] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[    6.126057] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[    6.126263] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[    6.126497] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[    6.126740] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[    6.126855] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[    6.126862] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[    6.127007] ath10k_pci 0000:02:00.0: boot target indicator 0
[    6.137156] ath10k_pci 0000:02:00.0: boot target indicator 2
[    6.137163] ath10k_pci 0000:02:00.0: boot target initialised
[    6.147748] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[    6.147907] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[    6.148014] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[    6.148219] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[    6.148450] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[    6.148695] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[    6.148807] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[    6.148811] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[    6.148953] ath10k_pci 0000:02:00.0: boot target indicator 0
[    6.159102] ath10k_pci 0000:02:00.0: boot target indicator 2
[    6.159107] ath10k_pci 0000:02:00.0: boot target initialised
[    6.159109] ath10k_pci 0000:02:00.0: boot warm reset complete
[    6.159110] ath10k_pci 0000:02:00.0: boot qca6174 chip reset complete (cold)
[    6.159238] ath10k_pci 0000:02:00.0: boot hif power up
[    6.159393] ath10k_pci 0000:02:00.0: boot qca6174 chip reset
[    6.159395] ath10k_pci 0000:02:00.0: boot cold reset
[    6.201455] ath10k_pci 0000:02:00.0: boot cold reset complete
[    6.201461] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[    6.201466] ath10k_pci 0000:02:00.0: boot target indicator 2
[    6.201474] ath10k_pci 0000:02:00.0: boot target initialised
[    6.201476] ath10k_pci 0000:02:00.0: boot warm reset
[    6.223496] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[    6.223510] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[    6.223522] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[    6.223536] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[    6.223563] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[    6.223577] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[    6.223589] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[    6.223591] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[    6.223594] ath10k_pci 0000:02:00.0: boot target indicator 0
[    6.233607] ath10k_pci 0000:02:00.0: boot target indicator 2
[    6.233614] ath10k_pci 0000:02:00.0: boot target initialised
[    6.244500] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[    6.244518] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[    6.244532] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[    6.244547] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[    6.244566] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[    6.244582] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[    6.244595] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[    6.244597] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[    6.244602] ath10k_pci 0000:02:00.0: boot target indicator 0
[    6.254616] ath10k_pci 0000:02:00.0: boot target indicator 2
[    6.254625] ath10k_pci 0000:02:00.0: boot target initialised
[    6.254628] ath10k_pci 0000:02:00.0: boot warm reset complete
[    6.254630] ath10k_pci 0000:02:00.0: boot qca6174 chip reset complete (cold)
[    6.254647] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[    6.254661] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[    6.254675] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[    6.254691] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[    6.254710] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[    6.254726] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[    6.254740] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[    6.265839] ath10k_pci 0000:02:00.0: bmi get target info
[    6.266090] ath10k_pci 0000:02:00.0: Hardware name qca6174 hw2.1
version 0x5010000
[    6.266278] ath10k_pci 0000:02:00.0: Direct firmware load for
ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[    6.266282] ath10k_pci 0000:02:00.0: Falling back to user helper
[   66.309769] ath10k_pci 0000:02:00.0: found specific board file for
168c:0041:17aa:3545
[   66.309778] ath10k_pci 0000:02:00.0: trying fw api 5
[   66.312858] ath10k_pci 0000:02:00.0: found fw version atheros-12.0.0.102-fw
[   66.312865] ath10k_pci 0000:02:00.0: found firmware features ie (4 B)
[   66.312868] ath10k_pci 0000:02:00.0: features
[   66.312873] ath10k_pci 0000:02:00.0: 00000000: 00 00 00 00 00 00 00
00                          ........
[   66.312876] ath10k_pci 0000:02:00.0: found fw ie wmi op version 4
[   66.312879] ath10k_pci 0000:02:00.0: found fw image ie (466811 B)
[   66.312882] ath10k_pci 0000:02:00.0: found otp image ie (29533 B)
[   66.312884] ath10k_pci 0000:02:00.0: using fw api 5
[   66.312888] ath10k_pci 0000:02:00.0: bmi start
[   66.312892] ath10k_pci 0000:02:00.0: bmi write address 0x400800 length 4
[   66.312914] ath10k_pci 0000:02:00.0: bmi read address 0x400810 length 4
[   66.312996] ath10k_pci 0000:02:00.0: bmi write address 0x400810 length 4
[   66.313009] ath10k_pci 0000:02:00.0: bmi write address 0x400844 length 4
[   66.313055] ath10k_pci 0000:02:00.0: bmi write address 0x400904 length 4
[   66.313099] ath10k_pci 0000:02:00.0: bmi write address 0x4008bc length 4
[   66.313141] ath10k_pci 0000:02:00.0: boot did not find a
calibration file, try DT next: -11
[   66.313145] ath10k_pci 0000:02:00.0: boot did not find DT entry,
try OTP next: -2
[   66.313149] ath10k_pci 0000:02:00.0: bmi read address 0x4008ac length 4
[   66.313222] ath10k_pci 0000:02:00.0: boot push board extended data addr 0x0
[   66.313226] ath10k_pci 0000:02:00.0: bmi read address 0x400854 length 4
[   66.313285] ath10k_pci 0000:02:00.0: bmi write address 0x401d40 length 8124
[   66.329096] ath10k_pci 0000:02:00.0: bmi write address 0x400858 length 4
[   66.329258] ath10k_pci 0000:02:00.0: boot upload otp to 0x1234 len 29533
[   66.329262] ath10k_pci 0000:02:00.0: bmi fast download address
0x1234 buffer 0xffffc90003152fd0 length 29533
[   66.329265] ath10k_pci 0000:02:00.0: bmi lz stream start address 0x1234
[   66.329299] ath10k_pci 0000:02:00.0: bmi lz data buffer
0xffffc90003152fd0 length 29532
[   66.390076] ath10k_pci 0000:02:00.0: bmi lz data buffer
0xffff88008618bd2c length 4
[   66.390154] ath10k_pci 0000:02:00.0: bmi lz stream start address 0x0
[   66.390198] ath10k_pci 0000:02:00.0: bmi execute address 0x1234 param 0x0
[   66.391772] ath10k_pci 0000:02:00.0: bmi execute result 0x3
[   66.391775] ath10k_pci 0000:02:00.0: boot otp execute result 3
[   66.391778] ath10k_pci 0000:02:00.0: boot using calibration mode otp
[   66.391780] ath10k_pci 0000:02:00.0: boot uploading firmware image
ffffc900030e104c len 466811 mode normal
[   66.391783] ath10k_pci 0000:02:00.0: bmi fast download address
0x1234 buffer 0xffffc900030e104c length 466811
[   66.391785] ath10k_pci 0000:02:00.0: bmi lz stream start address 0x1234
[   66.391795] ath10k_pci 0000:02:00.0: bmi lz data buffer
0xffffc900030e104c length 466808
[   67.456079] ath10k_pci 0000:02:00.0: bmi lz data buffer
0xffff88008618bd2c length 4
[   67.456247] ath10k_pci 0000:02:00.0: bmi lz stream start address 0x0
[   67.456292] ath10k_pci 0000:02:00.0: bmi write address 0x400814 length 4
[   67.456326] ath10k_pci 0000:02:00.0: pci hif set callbacks
[   67.456330] ath10k_pci 0000:02:00.0: pci hif get default pipe
[   67.456335] ath10k_pci 0000:02:00.0: pci hif map service
[   67.456339] ath10k_pci 0000:02:00.0: bmi done
[   67.456368] ath10k_pci 0000:02:00.0: htt tx max num pending tx 1056
[   67.456396] ath10k_pci 0000:02:00.0: htt rx ring size 2048 fill_level 1023
[   67.456400] ath10k_pci 0000:02:00.0: boot hif start
[   67.456427] ath10k_pci 0000:02:00.0: received unsolicited fw crash interrupt
[   68.456939] ath10k_pci 0000:02:00.0: failed to receive control
response completion, polling..
[   68.456948] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457253] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457265] ath10k_pci 0000:02:00.0: pci rx ce pipe 1 len 20
[   68.457274] ath10k_pci 0000:02:00.0: pci rx: 00000000: 00 00 0c 00
00 00 00 00 01 00 02 00 00 07 16 00  ................
[   68.457282] ath10k_pci 0000:02:00.0: pci rx: 00000010: 01 00 00 00
                                    ....
[   68.457299] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457306] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457371] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457484] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457489] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457493] ath10k_pci 0000:02:00.0: pci hif send complete check
[   68.457602] ath10k_pci 0000:02:00.0: Target ready! transmit
resources: 2 size:1792
[   68.457606] ath10k_pci 0000:02:00.0: pci hif map service
[   68.457611] ath10k_pci 0000:02:00.0: boot htc service 'Control' ul
pipe 0 dl pipe 1 eid 0 ready
[   68.457615] ath10k_pci 0000:02:00.0: boot htc ep 0 ul polled 0 dl polled 0
[   68.457619] ath10k_pci 0000:02:00.0: boot htc service 'Control' eid
0 TX flow control disabled
[   68.457624] ath10k_pci 0000:02:00.0: boot htc service HTT Data does
not allocate target credits
[   68.457630] ath10k_pci 0000:02:00.0: ath10k_htc_build_tx_ctrl_skb:
skb ffff880152473d00
[   68.457635] ath10k_pci 0000:02:00.0: pci tx item 0 paddr 0x97f0c000
len 16 n_items 1
[   68.457640] ath10k_pci 0000:02:00.0: pci tx data: 00000000: 00 01
08 00 00 00 00 00 02 00 00 03 08 00 00 00  ................
[   68.457908] ath10k_pci 0000:02:00.0: received unsolicited fw crash interrupt
[   68.457919] ath10k_pci 0000:02:00.0: received unsolicited fw crash interrupt
[   69.457557] ath10k_pci 0000:02:00.0: Service connect timeout
[   69.457568] ath10k_pci 0000:02:00.0: failed to connect htt (-110)
[   69.457573] ath10k_pci 0000:02:00.0: boot hif stop
[   69.457577] ath10k_pci 0000:02:00.0: boot warm reset
[   69.480831] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[   69.480990] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[   69.481136] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[   69.481392] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[   69.481768] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[   69.482006] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[   69.482271] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[   69.482278] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[   69.482443] ath10k_pci 0000:02:00.0: boot target indicator 0
[   69.492581] ath10k_pci 0000:02:00.0: boot target indicator 2
[   69.492589] ath10k_pci 0000:02:00.0: boot target initialised
[   69.503855] ath10k_pci 0000:02:00.0: boot init ce src ring id 0
entries 16 base_addr ffff88008ccce000
[   69.504115] ath10k_pci 0000:02:00.0: boot ce dest ring id 1 entries
512 base_addr ffff88003f748000
[   69.504346] ath10k_pci 0000:02:00.0: boot ce dest ring id 2 entries
128 base_addr ffff88008d673000
[   69.504722] ath10k_pci 0000:02:00.0: boot init ce src ring id 3
entries 32 base_addr ffff88008d7a7000
[   69.504994] ath10k_pci 0000:02:00.0: boot init ce src ring id 4
entries 4096 base_addr ffff88008d860000
[   69.505254] ath10k_pci 0000:02:00.0: boot init ce src ring id 7
entries 2 base_addr ffff88008cd2b000
[   69.505553] ath10k_pci 0000:02:00.0: boot ce dest ring id 7 entries
2 base_addr ffff88003f8f1000
[   69.505556] ath10k_pci 0000:02:00.0: boot waiting target to initialise
[   69.505703] ath10k_pci 0000:02:00.0: boot target indicator 0
[   69.515842] ath10k_pci 0000:02:00.0: boot target indicator 2
[   69.515849] ath10k_pci 0000:02:00.0: boot target initialised
[   69.515851] ath10k_pci 0000:02:00.0: boot warm reset complete
[   69.516808] ath10k_pci 0000:02:00.0:
ath10k_htc_notify_tx_completion: ep 0 skb ffff880152473d00
[   69.517268] ath10k_pci 0000:02:00.0: could not init core (-110)
[   69.517321] ath10k_pci 0000:02:00.0: boot hif power down
[   69.517326] ath10k_pci 0000:02:00.0: could not probe fw (-110)

On Thu, Aug 6, 2015 at 1:34 AM, Michal Kazior <michal.kazior at tieto.com> wrote:
> On 6 August 2015 at 07:20, Michal Kazior <michal.kazior at tieto.com> wrote:
>> On 3 August 2015 at 20:45, vvanpo <vvanpo at gmail.com> wrote:
>>> Hi,
>>>
>>> I just got a Lenovo Yoga 3 11, only to find the wireless doesn't work.
>>>
>>> The PCI id is 168c:0041:17aa:3545
>> [...]
>>>   - what would need to be changed to add support for qca6164 in ath10k?
>>
>> Can you try the diff below, please? (warning, whitespace damage).
>>
>> /me crosses fingers
>>
>>
>> Michał
>>
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/core.c
>> b/drivers/net/wireless/ath/ath10k/core.c
>> index 29d2541d87dd..8c46338a90de 100644
>> --- a/drivers/net/wireless/ath/ath10k/core.c
>> +++ b/drivers/net/wireless/ath/ath10k/core.c
>> @@ -231,6 +231,15 @@ static int ath10k_init_configure_target(struct ath10k *ar)
>>                 return ret;
>>         }
>>
>> +       /* Some devices, e.g. qca6164 needs this host interest field to contain
>> +        * PCI Device ID in order to boot.
>> +         */
>> +       ret = ath10k_bmi_write32(ar, hi_hci_uart_pwr_mgmt_params, ar->dev_id);
>
> Oops. Typo - I meant:
>
>    hi_hci_uart_pwr_mgmt_params_ext
>
> (note the "_ext")
>
>
> Michał



More information about the ath10k mailing list