- 13 2月, 2020 4 次提交
-
-
由 Igor Mitsyanko 提交于
Switch to extendable implementation of channel survey dump to make sure that any new channel statistics can be added in the future without any backwards compatibility issues. For this purpose use a separate variable length bitmap to pass the list of valid statistics in firmware response. Besides, switch to using channel frequency instead of IEEE channel number to prepare for adding support of 6GHz band. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
QLINK_CMD_PHY_PARAMS_GET command does not need to be separate, it can be included into GET_MAC_INFO command. Merge these two commands adding all the missing wiphy data. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
To support any number of capabilities bits in the future, replace u32 capabilities bitmask by array. Pass capabilities from firmware using TLV element. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Use MAJOR.MINOR format for QLink firmware protocol. MAJOR part is incremented when backward compatibility is broken. Normally this part should not be incremented unless there is a good reason for that. MINOR part is incremented each time when new features are added to qlink.h, e.g. new TLVs, events, commands. These changes should not break backward compatibility. For instance, older firmware versions may not be able to parse new flags or send new types of events, but this does not impact normal system operations. As part of initialization sequence, driver requests protocol version from firmware and refuses to start in case there is a mismatch in MAJOR part of the version. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 26 1月, 2020 2 次提交
-
-
由 Sergey Matyukevich 提交于
Firmware may support DFS offload. However the final decision on whether to use it or not should be up to the user. So even if firmware supports DFS offload, it should be enabled only if user explicitly requests it. For this purpose introduce kernel param dfs_offload which is disabled by default. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Currently this parameter is global, it is not specific to mac. So this function does not need any input parameters. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 20 11月, 2019 2 次提交
-
-
由 Igor Mitsyanko 提交于
Use MAC address of the first active radio as a unique device ID. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
If firmware reports that it supports hardware switch capabilities, driver needs to track and notify device whenever broadcast domain of a particular network device changes (ie. whenever it's upper master device changes). Firmware needs a unique ID to tell broadcast domains from each other which is an opaque number otherwise. For that purpose we can use netspace:ifidx pair to uniquely identify each broadcast domain: - if netdev is not part of a bridge, then use it's own ifidx as a broadcast domain ID - if netdev is part of a bridge, then use bridge netdev ifidx as broadcast domain ID Firmware makes sure that packets are only forwarded between interfaces marked with the same broadcast domain ID. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 14 11月, 2019 1 次提交
-
-
由 Sergey Matyukevich 提交于
Send EAPOL frames via control path so they can be treated in a different way rather than normal data frames. In this case EAPOLs are sent with higher priority and with disabled aggregation and encryption. Besides, all devices benefit from sending EAPOL frames via high priority path, so move the functionality from chip specific to common code. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 26 4月, 2019 2 次提交
-
-
由 Sergey Matyukevich 提交于
This patch modifies location of debugfs entries and their naming conventions to support multiple wireless cards on pcie host. Selected approach is to use separate directories for different wireless cards in top-level qtnfmac debugfs directory. Here is an example that clarifies the chosen naming conventions: $ sudo ls /sys/kernel/debug/qtnfmac/ qtnfmac_pcie:0000:01:00.0 Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
In ETSI region DFS slave device can operate in two modes on DFS channels: - do on-channel radar detection and use higher Tx power - don't do radar detection and use lower Tx power as a consequence Allow user to control that behavior through qtnfmac module parameter. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 04 4月, 2019 2 次提交
-
-
由 Igor Mitsyanko 提交于
Use control path to send EAPOL frames to make sure they are sent with higher priority with aggregation disabled. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Currently driver uses the same regulatory rules to register all wiphy instances. This is not logically correct since each wiphy may have different capabilities (different supported bands, EIRP etc). Allow firmware to pass regulatory rules for each MAC separately. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 01 2月, 2019 1 次提交
-
-
由 Sergey Matyukevich 提交于
Replace textual license with SPDX-License-Identifier. Add an SPDX-License-Identifier for the Makefile. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 05 10月, 2018 2 次提交
-
-
由 Sergey Matyukevich 提交于
Driver retrieves information about supported extended capabilities from wireless card. However this information is not propagated further to Linux wireless core. Fix this by setting extended capabilities fields of wiphy structure. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Remove STA connection states tracking from driver. Leave it wireless core on host and to firmware. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 03 8月, 2018 1 次提交
-
-
由 Sergey Matyukevich 提交于
This patch implements basic WoWLAN support in qtnfmac driver, including processing of WoWLAN features reported by firmware and implementation of cfg80211 suspend/resume/wakeup callbacks. Currently the following WoWLAN triggers are supported: disconnect, magic packet, custom pattern packet. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 30 7月, 2018 1 次提交
-
-
由 Andrey Shevchenko 提交于
Enable support for multiple SSIDs scans. Get max number of supported SSIDs from firmware and report to cfg80211 core. Signed-off-by: NAndrey Shevchenko <ashevchenko@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 31 5月, 2018 1 次提交
-
-
由 Andrey Shevchenko 提交于
Do not process bg_scan_period parameter in qtnfmac driver. Pass correct values as is. In the case of invalid values pass default value. Leave further processing to firmware. Signed-off-by: NAndrey Shevchenko <ashevchenko@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 25 1月, 2018 4 次提交
-
-
由 Igor Mitsyanko 提交于
The function qtnf_scan_done makes use of mutexes which is wrong since it may be called from timer context. Move scan timeout handler from timer to deferred work. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Update existing code handling configuration of supported interface combinations. Current implementation is not complete since it does not report multiple interface combinations which are incompatible with each other. Instead current implementation packs all the supported combinations into single entry. In fact currently qsr10g wireless card supports the following two distinct interface combinations: 1. STA/repeater: 1 STA and/or 1 AP { { .max = 1, .types = NL80211_IFTYPE_AP}, { .max = 1, .types = NL80211_IFTYPE_STA}, } 2. AP/mBSS { { .max = 8, .types = NL80211_IFTYPE_AP}, } The list of supported configuration is reported by firmware during wireless card bring-up. Communication protocol between firmware and host has been updated accordingly in order to accommodate passing multiple interface combination entries. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Vasily Ulyanov 提交于
Enable reporting of qtnfmac hardware and firmware details using ethtool command. Signed-off-by: NVasily Ulyanov <vulyanov@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Vasily Ulyanov 提交于
On 32-bit platforms packet counters are stored in a net_device_stats struct as unsigned long integers. As a result, after some time of network activity an overflow takes place in network packet counters. This patch makes use of new structs for holding interface statistics. Signed-off-by: NVasily Ulyanov <vulyanov@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 09 1月, 2018 4 次提交
-
-
由 Vasily Ulyanov 提交于
This allows a running AP to blacklist STAs by their MAC addresses respecting the configured policy (either accept or deny unless listed). It can be setup on .start_ap or with .set_mac_acl commands. Signed-off-by: NVasily Ulyanov <vulyanov@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Keep generation in per-VIF data structure and increment it whenever STA list is changed. Use generation value to fill struct station_info when required. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Vasily Ulyanov 提交于
These are needed to inform userspace about features the hardware supports (e.g. BSS Transition Management 802.11v) Signed-off-by: NVasily Ulyanov <vulyanov@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
To mimic mac80211 behaviour, change default interface type from AP to STA. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 10 11月, 2017 2 次提交
-
-
由 Igor Mitsyanko 提交于
Supported WiFi operation modes are now identified per-band based on HT/VHT capabilities of each band. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Information on which HT/VHT capabilities can be overridden is reported per-MAC by wireless device. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 30 10月, 2017 2 次提交
-
-
由 Sergey Matyukevich 提交于
Current recovery approach is to wake s/w Tx queues for skb->dev netdevice. However this approach doesn't cover the case when h/w queue is full of packets from a single wireless interface. Suppose xmit attempt from the second wireless interface fails due to failed reclaim. Then the second interface will not have a chance to recover even if subsequent reclaims succeed. Possible solution is to attempt to wake all the s/w queues belonging to driver interfaces. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Function qtnf_classify_skb_no_mbss has been used for debug during early stage of development. Drop its declaration. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 13 10月, 2017 4 次提交
-
-
由 Igor Mitsyanko 提交于
Linux Wireless device structure already has current channel information that can be used when needed. Start using it. Since driver's channel info is not used anymore, remove it. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
This cached state is used only once immediately after it is initilized, except for BSSID value that is used for events processing. There is no reason in keeping unused data in driver's state. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
QTNF_STATE_AP_START usage is redundant and imposes additional state synchronization maintenance. We may as well leave state checking to network card and upper layers (cfg80211, nl80211 and userspace). Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
QTNF_STATE_AP_CONFIG is redundant and its usage can be safely removed. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 25 9月, 2017 2 次提交
-
-
由 Igor Mitsyanko 提交于
There are no users of this field and it can safely be removed. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
It is never used for anything useful, and all logic is handled by either WiFi card or higher layers. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 03 8月, 2017 3 次提交
-
-
由 Sergey Matyukevich 提交于
Userspace tools may hang on scan in the case when scan completion event is not returned by firmware. This patch implements the scan timeout to avoid such situation. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NAvinash Patil <avinashp@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
This patch implements cfg80211 channel_switch handler enabling CSA channel-switch procedure. Driver performs only basic validation of the requested new channel and then sends command to firmware. Beacon IEs are not sent since beacon update is handled by firmware. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NAvinash Patil <avinashp@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Wireless cfg80211 core supplies channel settings in cfg80211_ap_settings structure for each BSS in multiple BSS configuration. On the other hand all the virtual interfaces on one radio are using the same PHY settings including channel. Move chandef structure from vif to mac structure in order to mantain the only instance of cfg80211_chan_def structure in qtnf_wmac rather than its multiple copies in qtnf_vif. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NAvinash Patil <avinashp@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-