summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)Author
2020-03-12Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netDavid S. Miller
Minor overlapping changes, nothing serious. Signed-off-by: David S. Miller <davem@davemloft.net>
2020-03-06wil6210: reject unsupported coalescing paramsJakub Kicinski
Set ethtool_ops->supported_coalesce_params to let the core reject unsupported coalescing parameters. This driver did not previously reject unsupported parameters. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Acked-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2020-03-05Merge tag 'wireless-drivers-next-2020-03-05' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== wireless-drivers-next patches for v5.7 First set of patches for v5.7. Lots of mt76 patches as they missed the v5.6 deadline and hence they were postponed to the next version. Otherwise nothing special standing out. mt76 Major changes: * dual-band concurrent support for MT7615 * fixes for rx path race conditions * coverage class support for MT7615 * beacon fixes for USB devices * MT7615 LED support * set_antenna support for MT7615 * tracing improvements * preparation for supporting new USB devices * tx power fixes brcmfmac * support BRCM 4364 found in MacBook Pro 15,2 ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2020-03-03Merge tag 'mt76-for-kvalo-2020-02-14' of https://github.com/nbd168/wirelessKalle Valo
mt76 patches for 5.7 * dual-band concurrent support for MT7615 * fixes for rx path race conditions * EEPROM fixes * MAC address handling fixes * coverage class support for MT7615 * beacon fixes for USB devices * MT7615 LED support * minor cleanups/fixes for all drivers * set_antenna support for MT7615 * tracing improvements * preparation for supporting new USB devices * tx power fixes
2020-03-03mt76: fix array overflow on receiving too many fragments for a packetFelix Fietkau
If the hardware receives an oversized packet with too many rx fragments, skb_shinfo(skb)->frags can overflow and corrupt memory of adjacent pages. This becomes especially visible if it corrupts the freelist pointer of a slab page. Cc: stable@vger.kernel.org Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2020-02-24mac80211_hwsim: enable Beacon protectionJouni Malinen
Now that there is support for BIGTK configuration and AP/STA functionality for using BIP with Beacon frames, indicate support for the Beacon protection functionality. Johannes: move this to hwsim, since it's not clear that all drivers using mac80211 will do this correctly - lots of them modify the beacon before transmission e.g. to update the TIM element, and that would obviously break the signature. Signed-off-by: Jouni Malinen <jouni@codeaurora.org> Link: https://lore.kernel.org/r/20200222132548.20835-7-jouni@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2020-02-16Merge tag 'mac80211-next-for-net-next-2020-02-14' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== A few big new things: * 802.11 frame encapsulation offload support * more HE (802.11ax) support, including some for 6 GHz band * powersave in hwsim, for better testing Of course as usual there are various cleanups and small fixes. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-14mwifiex: change license text from MARVELL to NXPGanapathi Bhat
As of 6-DEC-2019, NXP has acquired Marvell’s Wireless business unit. This change is to update the license text accordingly. Signed-off-by: James Cao <zheng.cao@nxp.com> Signed-off-by: Cathy Luo <xiaohua.luo@nxp.com> Signed-off-by: Ganapathi Bhat <ganapathi.bhat@nxp.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2020-02-14mt76: Introduce mt76_mcu data structureLorenzo Bianconi
Introduce mt76_mcu data structure to contain common fields between mt76u_mcu and mt76e_mcu. Initialize mcu common fields in mt76_alloc_device(). Rely on mt76_mcu in mt76_mcu_rx_event and in mt76_mcu_get_response in order to reuse them in usb code Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: remove rx_mask in mt7615_eeprom_parse_hw_capLorenzo Bianconi
Get rid of rx_mask in mt7615_eeprom_parse_hw_cap routine since it is not actually used Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt76u: rename stat_wq in wqLorenzo Bianconi
Rename usb stat_wq in wq in order to be reused not just for gathering hw tx statistics Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt76u: extend RX scatter gather numberSean Wang
Set RX scatter gather number to 4 in order to extend the maximum AMSDU size to 11,454. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: rely on mt76_queues_read for mt7622Lorenzo Bianconi
As previous devices, mt7622 relies on multiple hw queues while for mt7615 we have just on per band hw queue and the mcu demux the traffic according to the packet AC. In order to dump all configured hw queues, rely on mt76_queues_read for mt7622 in mt7615 debugfs Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: do not set HOST_BROADCAST_PS_BUFFERING for mt7615Felix Fietkau
mt7615 handles powersave buffering in firmware Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: rework rx phy index handlingFelix Fietkau
Overwriting the RMAC_CHFREQ register is not reliable enough, as the firmware could potentially write it again. Since there is no PHY index indication in the rx info, we need to use another way: If both PHYs are using different channels, find the PHY where chfreq matches the register value. The only corner case remaining is when both PHYs are using the same channel. In that case, the per-packet noise value on the primary PHY will have information belonging to the chains of the secondary PHY from the previous received packet of that PHY. The secondary PHY will set noise to 0 for extra chains. Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: fix rounding issues on converting per-chain and combined txpowerFelix Fietkau
Unify code converting between the different txpower values. Always add/remove the combined txpower delta before dividing half-dB values. Also fix the combined txpower delta values. The correct half-dB delta for 3 chains is 9, not 8. Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt76x2: avoid starting the MAC too earlyFelix Fietkau
Do not set the tx/rx start bits in MT_MAC_SYS_CTRL from within initvals. The driver sets these later when the hardware is ready Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: avoid extra RCU synchronization on station removalFelix Fietkau
Use sta_pre_rcu_remove callback to clear wcid pointer earlier Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: fix monitor mode on second PHYFelix Fietkau
The second PHY receives no packets unless there is an active vif present. Set the WANT_MONITOR_VIF flag to deal with that Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: fix adding active monitor interfacesFelix Fietkau
Treat them the same as AP iftype internally for MCU commands Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: switch mt7615_mcu_set_rx_ba to v2 formatRyder Lee
To adapt new firmware version. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Tested-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: switch mt7615_mcu_set_tx_ba to v2 formatRyder Lee
To adapt new firmware version. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Tested-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: use new tag sta_rec_wtblRyder Lee
In order to reduce command/event times, newer firmware adds a tag sta_rec_wtbl to take care of WTBL operations. MCU_EXT_CMD_WTBL_UPDATE is deprecated. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Tested-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add starec operating flow for firmware v2Ryder Lee
Add fw_ver in mt7615_dev to check firmware version, and adjust mt7615_mcu_send_sta_rec() to adapt firmware v2 changes. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Tested-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add a helper to encapsulate sta_rec operationRyder Lee
Operating command is simpler and just as clear Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Tested-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: simplify mcu_set_sta flowRyder Lee
Move mcu_add_wtbl and mcu_set_ht_cap into mcu_set_sta to simplify flow. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: simplify mcu_set_bmc flowRyder Lee
Move set_bmc_wtbl into sta_rec function to simplify flow. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add support for testing hardware resetFelix Fietkau
Send an undersized corrupt packet to the DMA queue, which causes the firmware to issue a full chip reset Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: implement hardware reset supportFelix Fietkau
When the firmware detects a problem, it needs the host to stop/reset DMA and resume it again when the hardware state has been reset. Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: report firmware log event messagesFelix Fietkau
Useful for debugging firmware issues. Can be turned on via the "fw_debug" debugfs file Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: fix and rework tx power handlingFelix Fietkau
Setting the tx power by manipulating EEPROM may in some cases not be enough, since it only covers the base target power and not per-rate offsets. In other cases, it could limit tx power of rates too much, possibly reducing throughput or range. Use firmware support for applying per-rate limit and power offsets for different values of Nss. Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add Kconfig entry for MT7622Felix Fietkau
This enables building support for the MT7622 SoC built-in WLAN chip Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: disable DBDC on MT7622Felix Fietkau
It is only supported on MT7615 Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: decrease rx ring size for MT7622Felix Fietkau
Since it's 2.4 GHz only, it needs fewer buffers Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: implement DMA support for MT7622Felix Fietkau
MT7622 does not have the CR4 microcontroller sitting in the data path. Because of that, it uses the chip's native tx descriptor format instead of something parsed and converted by the firmware. Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
2020-02-14mt76: mt7615: implement probing and firmware loading on MT7622Felix Fietkau
MT7622 does not have a CR4 microcontroller, so it only uses its own N9 firmware. Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: disable 5 GHz on MT7622Felix Fietkau
It is not supported by the chip, so avoid issues with potentially wrong EEPROM configurations. Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add calibration free support for MT7622Felix Fietkau
MT7622 uses fewer efuse overrides than MT7615 Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add eeprom support for MT7622Felix Fietkau
When sending EEPROM data to the MCU, MT7622 uses a longer buffer Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add dma and tx queue initialization for MT7622Felix Fietkau
MT7622 queue mapping is different from MT7615 and requires an extra dma scheduler init and a few register tweaks Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: fix MT_INT_TX_DONE_ALL definition for MT7622Felix Fietkau
MT7622 uses more interrupt bits for queue tx completion events. Enabling those extra bits is harmless on MT7615 Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: store N9 firmware version instead of CR4Felix Fietkau
CR4 is used very little, N9 is the main firmware that the driver interacts with Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: split up firmware loading functionsFelix Fietkau
Preparation for adding MT7622 support Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: move mmio related code from pci.c to mmio.cFelix Fietkau
Will be shared with MT7622 SoC support Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7615: add __aligned(4) to txp structsFelix Fietkau
The beginning of the struct is guaranteed to be 4-byte aligned, and this attribute allows the compiler to generate more efficient code Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: enable Airtime Queue Limit supportFelix Fietkau
It is supported by all drivers Acked-by: Toke Høiland-Jørgensen <toke@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: mt7603: increase dma mcu rx ring sizeFelix Fietkau
The ring is used for looping back tx powersave filtered frames, so it could use some more room, in case more than one aggregate was queued Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: dma: do not write cpu_idx on rx queue reset until after refillFelix Fietkau
The hardware should only start processing the ring after at least one buffer has been added Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_rawFelix Fietkau
Fixes a theoretical issue where it could potentially overwrite an existing descriptor entry (and leaking its skb) Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-02-14mt76: set dma-done flag for flushed descriptorsFelix Fietkau
Avoids a theoretical corner case where the hardware could try to process a stale descriptor after a watchdog reset Signed-off-by: Felix Fietkau <nbd@nbd.name>