b25f32cb02155d68c690255ba846796a1c248fd3 |
|
13-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: use ether_addr_copy() As suggeested by checkpatch: WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) In wmi.c I had to change due to sparse warnings copying of struct wmi_mac_addr from form &cmd->peer_macaddr.addr to cmd->peer_macaddr.addr. In ath10k_wmi_set_ap_ps_param() I also added the missing ".addr" to the copy command. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
8cc7f26c782e4f5c6c844eb32400bd6848b902db |
|
13-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: miscellaneous checkpatch fixes Fixes checkpatch warnings: ath10k/htc.c:49: WARNING: Possible unnecessary 'out of memory' message ath10k/htc.c:810: WARNING: Possible unnecessary 'out of memory' message ath10k/htt.h:1034: CHECK: Please use a blank line after function/struct/union/enum declarations ath10k/htt_rx.c:135: CHECK: Unnecessary parentheses around htt->rx_ring.alloc_idx.vaddr ath10k/htt_rx.c:173: CHECK: Unnecessary parentheses around htt->rx_ring.alloc_idx.vaddr ath10k/pci.c:633: WARNING: macros should not use a trailing semicolon ath10k/wmi.c:3594: WARNING: quoted string split across lines Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
af762c0b0de586937409346d94d1f09035a5e64f |
|
13-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: fix missing a blank line after declarations Fixes checkpatch warnings: WARNING: Missing a blank line after declarations Please note that some of the cases I fixed by moving the variable declarations to the beginning of the function, which is the preferred style in ath10k. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
c6e2e60e858efa8dd92d94f5d442068fb12b9967 |
|
13-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: fix use of multiple blank lines Fixes checkpatch warnings: CHECK: Please don't use multiple blank lines Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5b07e07fd0a9432b6910badfdb084112be4390af |
|
13-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: fix checkpatch warnings about parenthesis alignment CHECK: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
43d2a30fa80166243498fc6b8c841828ce52fcc1 |
|
10-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: add testmode Add testmode interface for starting and using UTF firmware which is used to run factory tests. This is implemented by adding new state ATH10K_STATE_UTF and user space can enable this state with ATH10K_TM_CMD_UTF_START command. To go back to normal mode user space can send ATH10K_TM_CMD_UTF_STOP. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
666a73f327d5a8fec58bbfedb36ae545862f479e |
|
10-Sep-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: make ath10k_wmi_cmd_send() public We need this function to send wmi packets from testmode.c. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
c4f8c83665cf47b658ec2e4cc83cd873f8c943c7 |
|
04-Sep-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: use proper service bitmap size On 32bit systems the bitmap was too small and it was overwritten partially by the stat completion structure. This was visible with 10.2 firmware only due to it using a few of the last service ids. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
d35a6c18cb70be7961127f179a3394fe29a4ffe4 |
|
02-Sep-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: add device/driver strings to tracepoints This makes it easier to log and debug via tracing with more than 1 ath10k device on a system. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7aa7a72a23679abf1cea9b3b65a8921244e769a7 |
|
25-Aug-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: improve logging to include dev id This makes it a lot easier to log and debug messages if there's more than 1 ath10k device on a system. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7a7b37328864286d0079d03198260e5f92d0a512 |
|
19-Aug-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: fix a conflict bug in wmi service bitmap Service mapping for main firmware branch was incorrectly used for 10.x firmware and vice-versa. This caused wmi_services in debugfs to print wrong values. This fixes commit cff990ce7ddd6 ("ath10k: fix wmi service bitmap debug") where for some reason there was either a conflict that wasn't resolved properly or git had a bad day. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5c81c7fd62004be13a3c9345ca25607d14862cc4 |
|
05-Aug-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: introduce a stricter scan state machine This aims at fixing some rare scan bugs related to firmware reporting unexpected scan event sequences. One such bug was if spectral scan phyerr reporting prevented firmware from properly propagating scan events to host. This led to scan timeout. After that next scan would trigger scan completed event first (before scan started event) leading to ar->scan.in_progress and timeout timer states to be overwritten incorrectly and making the very next scan to hang forever. Reported-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
9ff8b7247dd211158410af4bb5ebbc507182729f |
|
05-Aug-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: simplify scan debug prints This also reduces the cruft of printing scan event names in capitals. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
cff990ce7ddd6a43f86757867399a8a64aa29af9 |
|
04-Aug-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: fix wmi service bitmap debug The 10.x and main firmware branches have conflicting WMI service bitmap definitions. This also fixes WMI services parsing on big-endian hosts and changes debugfs output to be more human friendly. kvalo: remove braces and the last semicolon from SVCSTR() Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
855aed1220d2c94425ab01a85fe7a6f5c436940f |
|
02-Aug-2014 |
Simon Wunderlich <sw@simonwunderlich.de> |
ath10k: add spectral scan feature Adds the spectral scan feature for ath10k. The spectral scan is triggered by configuring a mode through a debugfs control file. Samples can be gathered via another relay debugfs file. Essentially, to try it out: ip link set dev wlan0 up echo background > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl echo trigger > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl iw dev wlan0 scan echo disable > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl cat /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan0 > samples This feature is still experimental. Based on the original RFC patch of Sven Eckelmann. Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
24c88f7807fb7c723690474d0a5d3441468185d9 |
|
25-Jul-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: add support for 10.2 firmware The 10.2 firmware is a successor of 10.1 firmware (formerly identified as 10.x). Both share a lot but have some slight ABI differences that need to be taken care of. The 10.2 firmware introduces some new features but those can be added in subsequent patches. This patch makes ath10k boot and work with 10.2 with comparable functionality to 10.1. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
4b6045586f31c7cc49b641a7ad5298b0c379a1c7 |
|
21-Jul-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: simplify tx helpers It always bugged me how tid is computed and stored in a temporary var before written to the control buffer. It was confusing and it made it difficult to work with tx helpers. While at it rename the qos workaround function as it was misleading - it's not a workaround but preparation for nwifi tx mode. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
a023b710ea918b966987f1081fa68369fc1596c9 |
|
30-May-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: remove unused len variables from wmi process rx functions These len variables are not used anywhere. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
95bf21f97f09b724ed7d5eb9f0b3c5c664f0329e |
|
16-May-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: fix core start sequence It was possible to call hif_stop() 2 times through ath10k_htc_connect_init() timeout failpath which could lead to double free_irq() kernel splat for multiple MSI interrupt case. Re-order init sequence to avoid this problem. The HTC stop shouldn't stop HIF implicitly since it doesn't implicitly start it. Since the re-ordering required some functions to be split/removed/renamed rename a few functions to make more sense while at it. Reported-By: Ben Greear <greearb@candelatech.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
eeab266c0f3c9c85ef649ba737e2d553742a2532 |
|
14-May-2014 |
Marek Kwaczynski <marek.kwaczynski@tieto.com> |
ath10k: fix pmf for action frames Fix sending and receiveing protected managment frames. Lack of protected flag for received protected action frames causes report these frames as unprotected robust action frames. If the driver in AP mode sent frame with protected flag and CCMP header using IEEE80211_KEY_FLAG_SW_MGMT_TX flag, the FW encrypted frames once again. From user side all received SA Query Requests and Responses were skipped and all protected action frames were sent as malformed packets. Signed-off-by: Marek Kwaczynski <marek.kwaczynski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
ad3d2153bd5e2f616108d087ca2eb43dcb6b0741 |
|
23-Apr-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: prevent beacon memory leak If DMA mapping of next beacon failed ath10k leaked the beacon. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
2ab03a6b962eb9ff34846156b324eb411837b331 |
|
23-Apr-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: make sure to not use invalid beacon pointer If DMA mapping of next beacon failed it was possible for next SWBA to access a pointer that was already unmapped and freed. This could cause memory corruption. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7a8a396be406aa51124e8baae827406ae3bc59ed |
|
28-Mar-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: cleanup debug messages in ath10k_wmi_event_host_swba() They were just too superfluous and made it harder to read logs. Change them to follow the normal style used in ath10k. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
821af6ae26bcd024d73a1aa7f47e45c0a3814dc1 |
|
21-Mar-2014 |
Marek Puzyniak <marek.puzyniak@tieto.com> |
ath10k: update regulatory domain settings for 10.x firmware Regulatory domain settings for firmware 10.x has more options than main firmware, so handle regulatory domain setup separately for both supported firmwares. Fill in additional dfs domain parameter according to current regulatory. This patch does not solve any known bug. Not handled parameter for firmware 10.x was found during code review. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
44d6fa90a8fddee49b5749cadbd0add22b1f5559 |
|
07-Mar-2014 |
Chun-Yeow Yeoh <yeohchunyeow@gmail.com> |
ath10k: allow the supported rate change by reassociate peer IBSS mode requires the changing of supported rate. Do this by reassociate the peer. The investigation shows that if move from legacy to HT, the rate control won't work after changing the supported rate. But once changing the supported rate to HT, user can assign the TxRate in HT mode. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
70dd77b4c50da518b57b8b9b125a8c9aabe9bc1a |
|
05-Mar-2014 |
Marek Puzyniak <marek.puzyniak@tieto.com> |
ath10k: do not overwrite max_antenna_gain Seems like we have an old bug, where we incidently overwrites the max_antenna_gain we pass to firmware, with zero value. End of all we are artifically reducing the output power. This patch removes the excessive assignment on max_antenna_gain, which is being provided by regulatory domain, and consequently improves the tx power. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
767d34fc67af3939b8ec09804e2b60a1daf94945 |
|
27-Feb-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: remove DMA mapping wrappers There's no real benefit from using them. DMA-API already provides debugging. Some skbuffs are already mapped directly with DMA-API since wrapper arguments were insufficient and extending them would be pointless. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
00f5482bcd940c11b9b81e7c399fd5f4f6667bd0 |
|
10-Feb-2014 |
Marek Puzyniak <marek.puzyniak@tieto.com> |
ath10k: suspend hardware before reset In case of warm reset target need to be suspended. Suspend function is extented to handle both cases with disabling interrupts and without disabling interrupts. Warm target reset requires suspend with all interrupts disabled. This patch depends on ath10k: fix device initialization routine Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
2c34752ad965d8628db050a1f66ac774f692edcd |
|
05-Feb-2014 |
Ben Greear <greearb@candelatech.com> |
ath10k: print out size of wmi-ready-event message Show message length and expected length. Helps debug firmware mismatch issues. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
ab6258edb4e15af016bb9c64fb521211a3f22b36 |
|
29-Jan-2014 |
Marek Puzyniak <marek.puzyniak@tieto.com> |
ath10k: configure access category for arp ARP frames exchange does not work properly for UAPSD enabled AP. ARP requests which arrives with access category 0 are processed by network stack and send back with access category 0. FW changes access category to 6. This is causing problems when UAPSD associated STA is sleeping after has sent ARP request. Configure ARP access category in FW to best effort (0) solves this problem. ARP frames will be send with access category 0. Simplify arp ac override functionality by removing redundant entry in pdev param maping table. There should be only one entry in pdev param map but enum has different name for different FW. kvalo: change the warning message Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
748afc4735361e21ad655c0dc021ea3aaeeb3efd |
|
23-Jan-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: implement and use new beacon method Until now ath10k used a copy-by-value beacon submission. The new method passes a DMA address via WMI command only. This command contains additional metadata that fixes AP behaviour with regard to powersave buffering. This also fixes strange bug when multicast traffic would freeze TX indefinitely. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
c2df44b39b31a730a89b13f7be90860d93d1f9d8 |
|
23-Jan-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: implement AP CSA Most channel switching logic has been implemented already so this patch is pretty small. The patch makes use of mac80211's vif->csa_active for AP CSA handling. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5a13e76eca17212c0a4ad3c1fb97df8a9e9921d8 |
|
20-Jan-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: enable firmware STA quick kickout Firmware has a feature to track if the associated STA is not acking the frames. When that happens, the firmware sends WMI_PEER_STA_KICKOUT_EVENTID event to the host. Enable that to faster detect when a STA has left BSS without sending a deauth frame. Also set huge keepalive timeouts to avoid using the keepalive functionality in the firmware. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
542fb17400a752c4be2e221857a42f35acc1a1cc |
|
17-Jan-2014 |
Janusz Dziedzic <janusz.dziedzic@tieto.com> |
ath10k: enable wmi ps peer param command for 10.x FW Enable ap_ps_peer_param_cmdid for 10.x FW. This is used mainly for AP UAPSD. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
f118a3e515fd713a0ade315018f6b645bc98916e |
|
02-Jan-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: add debugfs file to control firmware dbglog Firmware dbglogs can be now enabled through fw_dbglog file. To enable all possible log messages run: echo 0xffffffff > /sys/kernel/debug/ieee80211/phy0/ath10k/fw_dbglog And to put back firmare defaults use 0x0: echo 0x0 > /sys/kernel/debug/ieee80211/phy0/ath10k/fw_dbglog Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
869526b958f59592c46086c11f638824b08d164a |
|
02-Jan-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: add trace event for WMI_DEBUG_MESG_EVENTID Send firmware WMI debug logs to user space for further processing. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
2fe5288c11dae71c178a9d948347933b0b76a5f5 |
|
02-Jan-2014 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: handle WMI debug print events Firmware can send simple ascii strings as debug messages using WMI_DEBUG_PRINT_EVENTID, print those with ATH10K_DBG_WMI log level. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
453cdb61c015f80e492dda217110353cd09eef18 |
|
13-Dec-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: fix band reporting for mgmt CCK frames on 5GHz Although CCK modulation isn't expected for 11a if it happened it made ath10k report wrong band (2GHz) for a mgmt frame that were actually received on 5Ghz band. Frequency would also decoded incorrectly too. In case of 5GHz-only devices this triggered mac80211 WARN_ON because there was no according sband pointer to be found. The patch should fix delivery of such frames by using different means to acquire band parameter. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
2b6a6a90c31c550f839e905484f5253b9d24e33d |
|
05-Dec-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: fix WEP Shared authentication Frames received from FW were treated incorrectly. This led to stations being unable to associate to WEP Shared ath10k AP. This was indicated by a bizarre hostapd message: Unsupported authentication algorithm (36088) Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7d9b40b4618a1f6fcd69db7056903d5cba835c2e |
|
20-Nov-2013 |
Marek Puzyniak <marek.puzyniak@tieto.com> |
ath10k: add debugfs file to control radar events blocking Sometimes for DFS testing is required to stay on current channel even after radar detected. This patch allows to enable/disable radar detected event to be passed to mac80211. By default radar detected event in not blocked. To block it: echo 1 > /sys/kernel/debug/ieee80211/phyX/ath10k/dfs_block_radar_events To unblock again: echo 0 > /sys/kernel/debug/ieee80211/phyX/ath10k/dfs_block_radar_events Inform about blocking radar detected event even when logs are disabled for throughput/performance reasons. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
e8a50f8ba44b6933b2a39b6a65528b9a4e8ba5f3 |
|
20-Nov-2013 |
Marek Puzyniak <marek.puzyniak@tieto.com> |
ath10k: introduce DFS implementation Configure interface combination for AP running on channels where radar detection is required. It allows only one type of interface - AP on DFS channel and limits number of AP interfaces to 8. Setup WMI channel flags accordingly to mac channel configuration. CAC based on additional monitor vdev is started if required for current channel. kvalo: dropped ATH10K_DFS_CERTIFIED config option as this the DFS still depends on few mac80211 and cfg80211 patches which are on mac80211-next.git right now. The config option will be added later once all dependencies are available. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
9702c686081240bff1f05150c78335152d37ac8d |
|
20-Nov-2013 |
Janusz Dziedzic <janusz.dziedzic@tieto.com> |
ath10k: add phyerr/dfs handling Handle phyerr, dfs event, radar_report and fft_report. Add also debugfs dfs_simulate_radar and dfs_stats files. Use ath dfs pattern detector. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
e204548101732849dadd8d9f229cd1c83ae9236a |
|
28-Oct-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: plug memory leak on beacon tx If beacon tx command failed the wmi command buffer was not freed. This led to OOM in the long run. This became aparent when stress testing multi-BSSID. Reported-By: Tomasz Skapski <tomasz.skapski@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5fb5e41f424ad970f3bda645b8234dc71fcc8e59 |
|
28-Oct-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: plug memory leak in wmi mgmt tx worker sk_buff was not freed in some cases. The patch unifies the msdu freeing. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5c54a7bf48650a8d38f2e0b1748885f5c044f45f |
|
16-Oct-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: fix endianess in prints This fixes incorrect values being printed on big-endian hosts. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
56b84287d14aa74823a9c290d0c5839d38365110 |
|
16-Oct-2013 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: add might_sleep() to ath10k_wmi_cmd_send() ath10k_wmi_cmd_send() will now sleep if there are no credits available. To make it easier to catch callers in atomic context add might_sleep() to the function. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
d544943afa678ffe06de295b5420f060389edfc9 |
|
15-Oct-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: return better errno for unsupported pdev params Return -EOPNOTSUPP if given parameter is not supported by firmware. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
34957b25e39bbdcfd902f27ae719b8ff50c751f8 |
|
15-Oct-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: rename WMI_CMD_UNDEFINED Rename WMI_CMD_UNDEFINED to WMI_CMD_UNSUPPORTED. This is more accurate here. Also return -EOPNOTSUPP instead of -EINVAL in wmi_cmd_send(). Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
ebc9abddfb6b930ec54087997570967f062eba4c |
|
15-Oct-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: do not warn about unsupported vdev param 10.X firmware does not support WMI_VDEV_PARAM_TX_ENCAP_TYPE. It's a known limitation and we should not warn about this. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
c322892fa7084480efb0708d7d8d60d5c83de2eb |
|
02-Oct-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: extend the max_scan time It was observed few times, the artificial max_scan limit we are using mainly to detect FW hangs, can be not enough for instance while being associated and during heavy traffic. What we do if the FW won't return with scan results within the max_time time is a scan abort. This is especially visible with 10.X fw which in combination with dual band HW (scanning 32 channels) can end up with hw_scan close to 10 seconds. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
8acd3c97ff9ea803513c55f89d3f1832481b5b76 |
|
02-Oct-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: enable 10.x firmware branch support Since the WMI API has been added and we can detect from the FW IEs what firmware variant we deal with, turn on support for 10.x firmware branch in ath10k_wmi_attach(). kvalo: improve the commit log Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7b4371ea48f03d3ac56df44f573e314f5b06939e |
|
03-Oct-2013 |
Joe Perches <joe@perches.com> |
ath10k: wmi: Convert use of 6 to ETH_ALEN Use the appropriate define instead of 6. Signed-off-by: Joe Perches <joe@perches.com> Noticed-by: Julia Lawall <julia.lawall@lip6.fr> via spatch script Signed-off-by: David S. Miller <davem@davemloft.net>
|
d458cdf712e0c671e8e819abb16ecd6e44f9daec |
|
02-Oct-2013 |
Joe Perches <joe@perches.com> |
net:drivers/net: Miscellaneous conversions to ETH_ALEN Convert the memset/memcpy uses of 6 to ETH_ALEN where appropriate. Also convert some struct definitions and u8 array declarations of [6] to ETH_ALEN. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
1a222435a1b0ed2f87f4752abdf03065b574dfac |
|
27-Sep-2013 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: implement firmware IE container support Firmware IE containers can dynamically provide various information what firmware supports. Also it can embed more than one image so updating firmware is easy, user just needs to update one file in /lib/firmware/. The firmware API 2 or higher will use the IE container format, the current API 1 will not use the new format but it still is supported for some time. FW API 2 files are named as firmware-2.bin (which contains both firmware and otp images) and API 1 files are firmware.bin and otp.bin. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
89b7e766c84020c06f842f390b18d62798dc5d06 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: handle FW API differences for scan structures The wmi_start_scan_cmd has an extra filed in our main firmware track, reflact that to not have a mismatch in case of 10.x track. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
226a339ba8f3c53914e640d250feaf4321cfcd04 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: introduce dynamic pdev parameters This is done exactly the same way as for vdev. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
6d1506e788ecf3c423f275036d37a40d1416db42 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: introduce dynamic vdev parameters Both firmwares (main and 10.x) have different set of vdev parameters. To stay in sync with FW API, this patch introduces a dynamic registering method. ath10k_wmi_vdev_set_param() takes now indirect u32 value to identify the Vdev parameter it want's to set. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
ec6a73f00eba1cfca99599bf337ee3c66f89d735 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: add TARGET values for 10.x firmware Introduce all TARGET specific values for 10.x firmware. Some of them are common for both firmwares we will support, but to avoid confusion, define everything with prefix 10X_. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
12b2b9e33a58ff51a1a41a90e976a863736cc863 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: split wmi_cmd_init path Due to API differences in initialization structures for main and 10.x firmwares we need to split the wmi_init_cmd and wmi_resource_config structures. This will be usefull also when setting the correct TARGET values, like: number of peers, vdevs, pdevs etc. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5e00d31a0fb74c36f3b174ff0d4914cf09016e6f |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: bring back the WMI path for mgmt frames This is still the only way to submit mgmt frames in case of 10.X firmware. This patch introduces wmi_mgmt_tx queue, because of the fact WMI command can block. This is a problem for ath10k_tx_htt(), since it's called from atomic context. The skb queue and worker are introduced to move the mgmt frame handling out of .tx callback context and not block. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
b3effe61a1a3b8f20fa4b4d30c4390a6b81a6fc2 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: implement host memory chunks 10.X firmware can request a memory pool from host to offload it's own resources. This is a feature designed especially for AP mode where the target has to deal with large number of peers. So we allocate and map a consistent DMA memory which FW can use to store e.g. peer rate contol maps. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
6f97d256b7c0c624f7cd5881beeabb5c7a3678b8 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: split ath10k_wmi_service_ready_event_rx Since the both firmwares we are going to support, have significantly different APIs (WMI and shared structures), it's easier to actually split the whole event handling functions, instead cutting them inside. The fork starts now on ath10k_wmi_process_rx(). Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
8a6618b00f280a35cef36f6156cb7f80b35553c3 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: implement WMI events handling frame for both firmwares We still use the same function handlers for both main and 10.X paths. Next step is to track down and make the split needed. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
553215592f148ec94151a11d4f13ebf8fb2ca516 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: warn if give WMI command is not supported This will show and make it easier to track the API differences in the new AP firmware. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
b7e3adf907f92c2749d2a8b32bff950c2a90b3fb |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: add wmi_10x_<cmd/event> definitions Introduce the cmd and events definitions for 10.X FW API and make up the wmi_10x_cmd_map. This is the core of host-firmware WMI interface for 10.X FW branch. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
ce42870efbf186523c2998478a444254fc280956 |
|
26-Sep-2013 |
Bartosz Markowski <bartosz.markowski@tieto.com> |
ath10k: introduce dynamic WMI structures This is the initial framework to implement dynamic WMI API in order to support new firmware (from so called 10.X branch) The realization is to have a static WMI cmd map for each of the firmwares, registered upom wmi init. This patch creates such map for MAIN FW, updates wmi_cmd_send() calls to take as a parameter the map value instead of direct WMI enum. As soon as complete 10.X API will be on place, we will introduce the FW IE mechanics to dynamicaly identify which FW is being used and based on that we will use correct map, API, structures, etc. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5c6c82df6b574eeb9a8db97833899dc39b1f6a6d |
|
13-Sep-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: remove wmi event worker thread It's not really necessary to have this processed in a worker. There are no sleepable calls (and actually shouldn't be). Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7cc23016366e183dcaf23afa4a0dca61ff7f787a |
|
13-Sep-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: remove wmi pending count limit It is no longer used nor necessary since WMI commands can block. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
ed54388a38d817dce7fe22e7dc80fc13b1a6838e |
|
13-Sep-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: improve beacon submission latency The patch prevents beacon misses in some case of heavy load on a system. If a beacon can't be transmitted directly from an SWBA event it will be left in arvif->beacon and transmission will be retried once TX credits become available. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
12acbc43c1c302022984bf0af89ac5f0a24b133a |
|
13-Sep-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: simplify HTC command submitting The patch removes HTC endpoint tx workers in favour of direct command submission. This makes a lot more sense for data path. mac80211 queues are effectively stopped/woken up in a more timely fashion preventing build up of frames. It's possible to push more traffic than the device/system is able to handle and have no hiccups or performance degradation with UDP traffic. WMI commands will now report errors properly and possibly block as they actively can wait for tx credits to become available. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
be8b39439009579a4569598539ea97e227f99d98 |
|
13-Sep-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: make WMI commands block by design This will be necessary for further changes in command submission scheme. Once HTC is cleaned up WMI commands will finally block. This requires for SWBA to be processed in a non-atomic context for now. Once other necessary changes are in this will be reverted. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
0d9b0438b616479e4decadf2cb7d39a5f4e5360f |
|
09-Aug-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: add support for firmware newer than 636 The mgmt_rx event structure has been expanded. Since the structure header is expanded the payload (i.e. mgmt frame) is shifted by a few bytes. This needs to be taken into account in order to support both old and new firmware. This introduces a fw_features to keep track of any FW-related ABI/behaviour changes. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
7f8a62db4ba9d08d2bacf126b442d43ea47b22a8 |
|
13-Aug-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: plug possible memory leak in WMI There was a possible memory leak when WMI command queue reached it's limit. Command buffers were not freed. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
2e1dea40512d7e99a7e91ac88a6f434a5d7c6fde |
|
31-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: implement get_survey() This implements a limited subset of what can be reported in the survey dump. This can be used for assessing approximate channel load, e.g. for automatic channel selection. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
8865bee4835441d9b3220d779d254d5856a68af0 |
|
24-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: detect the number of spatial streams supported by hw Until now ath10k assumed 3 spatial streams. However some devices support only 2 spatial streams. This patch improves performance on devices that don't support 3 spatial streams. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
9cfbce75c806e151b11a5d2c04b3aea3e920b3c1 |
|
16-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: implement fw crash simulation command This can be useful to test FW crash handling. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
affd321733eebc92b12cd329505f63e94ae80c93 |
|
16-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: implement device recovery Restart the hardware if FW crashes. If FW crashes during recovery we leave the hardware in a "wedged" state to avoid recursive recoveries. When in "wedged" state userspace may bring interfaces down (to issue stop()) and then bring one interface (to issue start()) to reload hardware manually. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
e0c508ab099bda4629768107d14bbe9afa5c6705 |
|
05-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: add missing debug prints Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
cd003fad17d9258efdc5dd658666731377cfebd1 |
|
05-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: embed HTC struct inside ath10k This reduces number of allocations and simplifies memory managemnt. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
09af8f85c6a1fbe9c1ffc6253a4c0e8a0d8a9033 |
|
05-Jul-2013 |
Michal Kazior <michal.kazior@tieto.com> |
ath10k: silent warning in IBSS mode There is no TIM IE generated in IBSS beacons by mac80211. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
5e3dd157d7e70f0e3cea3f2573ed69fb156a19d5 |
|
12-Jun-2013 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: mac80211 driver for Qualcomm Atheros 802.11ac CQA98xx devices Here's a new mac80211 driver for Qualcomm Atheros 802.11ac QCA98xx devices. A major difference from ath9k is that there's now a firmware and that's why we had to implement a new driver. The wiki page for the driver is: http://wireless.kernel.org/en/users/Drivers/ath10k The driver has had many authors, they are listed here alphabetically: Bartosz Markowski <bartosz.markowski@tieto.com> Janusz Dziedzic <janusz.dziedzic@tieto.com> Kalle Valo <kvalo@qca.qualcomm.com> Marek Kwaczynski <marek.kwaczynski@tieto.com> Marek Puzyniak <marek.puzyniak@tieto.com> Michal Kazior <michal.kazior@tieto.com> Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|