- 25 1月, 2018 3 次提交
-
-
由 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 提交于
Virtual interface should be deleted after calling unregister_netdevice since this function ends up with sending updown_intf command to card. Signed-off-by: NVasily Ulyanov <vulyanov@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 09 1月, 2018 7 次提交
-
-
由 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>
-
由 Igor Mitsyanko 提交于
Parameters passed into .mgmt_tx callback may have a NULL channel in case userspace wants to send a frame on current channel. Make sure this case is handled, pass "freq==0" in case channel is not specififed to tell wlan device to use current channel. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@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>
-
由 Igor Mitsyanko 提交于
Implement two parts of radar handling logic: - cfg80211 .start_radar_detect callback to allow nl80211 to initiate CAC - radar event to allow wlan device to advertize CAC and radar events Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Center frequency is not enough to describe the channel in HT and VHT modes. For 40MHz and 80MHz channels both primary channel and center frequency should be specified in order to qualify channel completely. This change adds primary channel info into qlink_chandef structure. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
It is possible that regulatory notifier is called before MAC data was allocated. We need to verify that MAC data exists before trying to send a regulatory change event. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 22 11月, 2017 1 次提交
-
-
由 Kees Cook 提交于
With all callbacks converted, and the timer callback prototype switched over, the TIMER_FUNC_TYPE cast is no longer needed, so remove it. Conversion was done with the following scripts: perl -pi -e 's|\(TIMER_FUNC_TYPE\)||g' \ $(git grep TIMER_FUNC_TYPE | cut -d: -f1 | sort -u) perl -pi -e 's|\(TIMER_DATA_TYPE\)||g' \ $(git grep TIMER_DATA_TYPE | cut -d: -f1 | sort -u) The now unused macros are also dropped from include/linux/timer.h. Signed-off-by: NKees Cook <keescook@chromium.org>
-
- 10 11月, 2017 5 次提交
-
-
由 Igor Mitsyanko 提交于
Current logic artificially divides "start AP" procedure into three stages: - generic interface configuration (security, channel etc) - IE's processing - enable AP mode on interface This separation would not allow to do a proper device configuration as first stage needs to use information from IEs that are processed on a second stage. Which means first and second stages have to be meged. In that case there is no point anymore to keep third stage either, so merge all three into a single command. This new command carries all the same info as contained in "struct cfg80211_ap_settings". Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Data contained within "Append IEs" command (QLINK_CMD_MGMT_SET_APPIE) duplicates QTN_TLV_ID_IE_SET TLV. Convert the command to use that TLV instead. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 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>
-
由 Igor Mitsyanko 提交于
HT/VHT capabilities must be reported per each band supported by a radio, not for all bands on a radio. Furthermore, driver better not assume any capabilities and just use whetever is reported by device itself. To support this, convert "get channels" command into "get band info" command. Difference is that it may also carry HT/VHT capabilities along with channels information. While at it, also add "num_bitrates" field to "get band info" command, for future use. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 30 10月, 2017 2 次提交
-
-
由 Igor Mitsyanko 提交于
Wireless device may implement a logic to kick-out STA due to inactivity for a certain period of time. This feature needs to be advertised to higher layers if supported. Timeout value is still taken from parameters to START_AP command, nothing changes here. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sergey Matyukevich 提交于
Support registration for more mgmt frame types for debug and monitoring purposes. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 27 10月, 2017 1 次提交
-
-
由 Kees Cook 提交于
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Kalle Valo <kvalo@codeaurora.org> Cc: Igor Mitsyanko <imitsyanko@quantenna.com> Cc: Avinash Patil <avinashp@quantenna.com> Cc: Sergey Matyukevich <smatyukevich@quantenna.com> Cc: Kamlesh Rath <krath@quantenna.com> Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: NKees Cook <keescook@chromium.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 13 10月, 2017 6 次提交
-
-
由 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>
-
由 Igor Mitsyanko 提交于
Introduce "channel definition" TLV containing full channel description (center frequence for both segments + BW) and pass it to wireless card in a payload to START_AP command. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Cached AP setings are passed to WiFi card right after they are initialized and are never used for anything else. There is no point in keeping them in driver state. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 25 9月, 2017 5 次提交
-
-
由 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>
-
由 Igor Mitsyanko 提交于
Do not assume whether wireless device can or can not handle switching several interfaces on a single radio to different channels. Device will handle it itself and will return appropriate error code. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
No reason to verify channel switch request in driver, it can simply be forwarded to wireless device. Device can perform required checks and return appropriate error code, and driver may not even have information on current operational channel. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
This makes no sense because real operational channel is choosen based on AP operation, not on what STA is configured to. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Igor Mitsyanko 提交于
Do not try to cache current operational channel info in driver, this is a potential source of synchronization issues + driver does not really need that info. Introduce GET_CHANNEL command and process it appropriately. Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 20 9月, 2017 1 次提交
-
-
由 Sergey Matyukevich 提交于
Cancel active scans and deactivate firmware scan watchdog timer when wireless interface configuration is changed. The usecases include wireless interface mode change, interface down, AP stop, virtual interface removal. Signed-off-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 03 8月, 2017 7 次提交
-
-
由 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>
-
由 Sergey Matyukevich 提交于
Implement current channel reporting functionality. Current operating channel can be obtained either directly using cfg80211 get_channel callback or from stats reported by cfg80211 survey_dump callback. 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 dump_survey handler enabling per-channel survey data reports. 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 提交于
Regdomain information needs to be registered with cfg80211 for devices with REGULATORY_WIPHY_SELF_MANAGED flag set. 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 提交于
On startup driver obtains regulatory rules from firmware and enables them during wiphy registration. Later on regulatory domain change can be requested by host. In this case firmware is notified about the upcoming changes. If the change is valid, then firmware updates hardware channel configuration and host driver receives updated channel info for each band. 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>
-
- 01 6月, 2017 1 次提交
-
-
由 Colin Ian King 提交于
mac is being assigned twice, remove redundant 2nd assignment. Detected by CoverityScan, CID#1437554 ("Incorrect expression") Signed-off-by: NColin Ian King <colin.king@canonical.com> Acked-by: NSergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 24 5月, 2017 1 次提交
-
-
由 Igor Mitsyanko 提交于
This patch adds support for new FullMAC WiFi driver for Quantenna QSR10G chipsets. QSR10G (aka Pearl) is Quantenna's 8x8, 160M, 11ac offering. QSR10G supports 2 simultaneous WMACs - one 5G and one 2G. 5G WMAC supports 160M, 8x8 configuration. FW supports up to 8 concurrent virtual interfaces on each WMAC. Patch introduces 2 new drivers: - qtnfmac.ko for interfacing with kernel wireless core - qtnfmac_pearl_pcie.ko for interfacing with hardware over PCIe interface Signed-off-by: NDmitrii Lebed <dlebed@quantenna.com> Signed-off-by: NSergei Maksimenko <smaksimenko@quantenna.com> Signed-off-by: NSergey Matyukevich <smatyukevich@quantenna.com> Signed-off-by: NBindu Therthala <btherthala@quantenna.com> Signed-off-by: NHuizhao Wang <hwang@quantenna.com> Signed-off-by: NKamlesh Rath <krath@quantenna.com> Signed-off-by: NAvinash Patil <avinashp@quantenna.com> Signed-off-by: NIgor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-