Ingo Molnar
41cb08555c
treewide, timers: Rename from_timer() to timer_container_of()
...
Move this API to the canonical timer_*() namespace.
[ tglx: Redone against pre rc1 ]
Signed-off-by: Ingo Molnar <mingo@kernel.org >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Link: https://lore.kernel.org/all/aB2X0jCKQO56WdMt@gmail.com
2025-06-08 09:07:37 +02:00
Jakub Kicinski
ea15e04626
Merge tag 'wireless-next-2025-05-22' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
...
Johannes Berg says:
====================
Lots of new things, notably:
* ath12k: monitor mode for WCN7850, better 6 GHz regulatory
* brcmfmac: SAE for some Cypress devices
* iwlwifi: rework device configuration
* mac80211: scan improvements with MLO
* mt76: EHT improvements, new device IDs
* rtw88: throughput improvements
* rtw89: MLO, STA/P2P concurrency improvements, SAR
* tag 'wireless-next-2025-05-22' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next : (389 commits)
wifi: mt76: mt7925: add rfkill_poll for hardware rfkill
wifi: mt76: support power delta calculation for 5 TX paths
wifi: mt76: fix available_antennas setting
wifi: mt76: mt7996: fix RX buffer size of MCU event
wifi: mt76: mt7996: change max beacon size
wifi: mt76: mt7996: fix invalid NSS setting when TX path differs from NSS
wifi: mt76: mt7996: drop fragments with multicast or broadcast RA
wifi: mt76: mt7996: set EHT max ampdu length capability
wifi: mt76: mt7996: fix beamformee SS field
wifi: mt76: remove capability of partial bandwidth UL MU-MIMO
wifi: mt76: mt7925: add test mode support
wifi: mt76: mt7925: extend MCU support for testmode
wifi: mt76: mt7925: ensure all MCU commands wait for response
wifi: mt76: mt7925: refine the sniffer commnad
wifi: mt76: mt7925: prevent multiple scan commands
wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init()
wifi: mt76: mt7996: Fix null-ptr-deref in mt7996_mmio_wed_init()
wifi: mt76: mt7925: add RNR scan support for 6GHz
wifi: mt76: add mt76_connac_mcu_build_rnr_scan_param routine
wifi: mt76: scan: Fix 'mlink' dereferenced before IS_ERR_OR_NULL check
...
====================
Link: https://patch.msgid.link/20250522165501.189958-50-johannes@sipsolutions.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-05-22 14:05:18 -07:00
Allan Wang
e54b870212
wifi: mt76: mt7925: add rfkill_poll for hardware rfkill
...
Add mac80211 rfkill_poll ops to monitor hardware rfkill state
and state change will be updated.
Signed-off-by: Allan Wang <allan.wang@mediatek.com >
Link: https://patch.msgid.link/20250507053131.4173691-1-allan.wang@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:37 +02:00
Shayne Chen
56e38675c5
wifi: mt76: support power delta calculation for 5 TX paths
...
One variant of MT7992 has 5 TX paths, so extend the power delta function
to support it. Also, rename nss_delta to path_delta since the value is
based on the number of TX paths rather tha the number of spatial streams.
(path delta [0.5 dBm] = 10 * log(path number) [dBm] * 2)
Co-developed-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-9-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:37 +02:00
Shayne Chen
249173e94d
wifi: mt76: fix available_antennas setting
...
Check if available_antennas_tx and available_antennas_rx are already set
during the per-chip initialization phase; otherwise, they could be
overwritten with incorrect values.
Fixes: 69d54ce749 ("wifi: mt76: mt7996: switch to single multi-radio wiphy")
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-8-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Shayne Chen
42cb27af34
wifi: mt76: mt7996: fix RX buffer size of MCU event
...
Some management frames are first processed by the firmware and then
passed to the driver through the MCU event rings. In CONNAC3, event rings
do not support scatter-gather and have a size limitation of 2048 bytes.
If a packet sized between 1728 and 2048 bytes arrives from an event ring,
the ring will hang because the driver attempts to use scatter-gather to
process it.
To fix this, include the size of struct skb_shared_info in the MCU RX
buffer size to prevent scatter-gather from being used for event skb in
mt76_dma_rx_fill_buf().
Fixes: 98686cd216 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-7-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Peter Chiu
79e788fcb2
wifi: mt76: mt7996: change max beacon size
...
According to hardware capability, the maximum beacon size is 2048 bytes
minus the size of TLV headers.
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-6-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Peter Chiu
d5012734fc
wifi: mt76: mt7996: fix invalid NSS setting when TX path differs from NSS
...
The maximum TX path and NSS may differ on a band. For example, one variant
of the MT7992 has 5 TX paths and 4 NSS on the 5 GHz band. To address this,
add orig_antenna_mask to record the maximum NSS and prevent setting an
invalid NSS in mt7996_set_antenna().
Fixes: 69d54ce749 ("wifi: mt76: mt7996: switch to single multi-radio wiphy")
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-5-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Benjamin Lin
80fda1cd7b
wifi: mt76: mt7996: drop fragments with multicast or broadcast RA
...
IEEE 802.11 fragmentation can only be applied to unicast frames.
Therefore, drop fragments with multicast or broadcast RA. This patch
addresses vulnerabilities such as CVE-2020-26145.
Signed-off-by: Benjamin Lin <benjamin-jw.lin@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-4-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Peter Chiu
8b2f574845
wifi: mt76: mt7996: set EHT max ampdu length capability
...
Set the max AMPDU length in the EHT MAC CAP. Without this patch, the
peer station cannot obtain the correct capability, which prevents
achieving peak throughput on the 2 GHz band.
Fixes: 1816ad9381 ("wifi: mt76: mt7996: add max mpdu len capability")
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-3-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Howard Hsu
5c78949fc7
wifi: mt76: mt7996: fix beamformee SS field
...
Fix the beamformee SS field for the mt7996, mt7992 and mt7990 chipsets.
For the mt7992, this value shall be set to 0x4, while the others shall
be set to 0x3.
Fixes: 5b20557593 ("wifi: mt76: connac: adjust phy capabilities based on band constraints")
Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-2-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Howard Hsu
08419f9e9b
wifi: mt76: remove capability of partial bandwidth UL MU-MIMO
...
The firmware only supports full bandwidth UL MU-MIMO, so remove the
partial bandwidth capability from HE PHY CAP.
Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250515032952.1653494-1-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Michael Lo
0a41b6751e
wifi: mt76: mt7925: add test mode support
...
The test mode interface allows controlled execution of chip-level
operations such as continuous transmission, reception tests, and
register access, which are essential during bring-up, diagnostics,
and factory testing.
Co-developed-by: Sean Wang <sean.wang@mediatek.com >
Signed-off-by: Sean Wang <sean.wang@mediatek.com >
Signed-off-by: Michael Lo <michael.lo@mediatek.com >
Link: https://patch.msgid.link/20250505233618.1951021-2-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Michael Lo
ba7fe3b064
wifi: mt76: mt7925: extend MCU support for testmode
...
Add MCU command and its handling needed for testmode support on
MT7925. This enables low-level chip testing features such as
continuous TX/RX..
Co-developed-by: Sean Wang <sean.wang@mediatek.com >
Signed-off-by: Sean Wang <sean.wang@mediatek.com >
Signed-off-by: Michael Lo <michael.lo@mediatek.com >
Link: https://patch.msgid.link/20250505233618.1951021-1-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Michael Lo
aa97ff5782
wifi: mt76: mt7925: ensure all MCU commands wait for response
...
Modify MCU command sending functions to wait for a response,
ensuring consistent behavior across all commands and improves
reliability by confirming that each command is processed
successfully.
Fixes: c948b5da6b ("wifi: mt76: mt7925: add Mediatek Wi-Fi7 driver for mt7925 chips")
Signed-off-by: Michael Lo <michael.lo@mediatek.com >
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250414013954.1151774-3-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Ming Yen Hsieh
bd02eebfc0
wifi: mt76: mt7925: refine the sniffer commnad
...
Remove a duplicate call to `mt76_mcu_send_msg` to fix redundant operations
in the sniffer command handling.
Fixes: c948b5da6b ("wifi: mt76: mt7925: add Mediatek Wi-Fi7 driver for mt7925 chips")
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250414013954.1151774-2-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Ming Yen Hsieh
122f270aca
wifi: mt76: mt7925: prevent multiple scan commands
...
Add a check to ensure only one scan command is active at a time
by testing the MT76_HW_SCANNING state.
Fixes: c948b5da6b ("wifi: mt76: mt7925: add Mediatek Wi-Fi7 driver for mt7925 chips")
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250414013954.1151774-1-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Henry Martin
efb95439c1
wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init()
...
devm_ioremap() returns NULL on error. Currently, mt7915_mmio_wed_init()
does not check for this case, which results in a NULL pointer
dereference.
Prevent null pointer dereference in mt7915_mmio_wed_init().
Fixes: 4f831d18d1 ("wifi: mt76: mt7915: enable WED RX support")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com >
Link: https://patch.msgid.link/20250407061900.85317-1-bsdhenrymartin@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Henry Martin
8f30e2b059
wifi: mt76: mt7996: Fix null-ptr-deref in mt7996_mmio_wed_init()
...
devm_ioremap() returns NULL on error. Currently, mt7996_mmio_wed_init()
does not check for this case, which results in a NULL pointer
dereference.
Prevent null pointer dereference in mt7996_mmio_wed_init()
Fixes: 83eafc9251 ("wifi: mt76: mt7996: add wed tx support")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com >
Link: https://patch.msgid.link/20250407032349.83360-1-bsdhenrymartin@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Ming Yen Hsieh
8284815ca1
wifi: mt76: mt7925: add RNR scan support for 6GHz
...
Enhance the mt7925 to include RNR scan support. It adds
the necessary RNR information to the scan command.
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250321013829.3598-2-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Ming Yen Hsieh
913a618267
wifi: mt76: add mt76_connac_mcu_build_rnr_scan_param routine
...
Introduce mt76_connac_mcu_build_rnr_scan_param routine for handling
RNR scan. This is a preliminary patch to enable RNR scan in mt7921 and
mt7925 driver.
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250321013829.3598-1-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:36 +02:00
Feng Jiang
7e1fcf687c
wifi: mt76: scan: Fix 'mlink' dereferenced before IS_ERR_OR_NULL check
...
Reported-by: kernel test robot <lkp@intel.com >
Reported-by: Dan Carpenter <dan.carpenter@linaro.org >
Closes: https://lore.kernel.org/r/202504011739.HvUKtUUe-lkp@intel.com/
Fixes: 3ba20af886 ("wifi: mt76: scan: set vif offchannel link for scanning/roc")
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Link: https://patch.msgid.link/20250402062415.25434-1-jiangfeng@kylinos.cn
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-22 12:57:32 +02:00
Dan Carpenter
c29f2c773a
wifi: mt76: mt7996: remove duplicate check in mt7996_mcu_sta_mld_setup_tlv()
...
The "msta_link" pointer has two NULL checks. Delete the second check.
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org >
Link: https://patch.msgid.link/fde7246b-08a2-4c2f-b2dc-c3fd0e6b300b@stanley.mountain
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:39 +02:00
Lorenzo Bianconi
f22037407c
Revert "wifi: mt76: Check link_conf pointer in mt76_connac_mcu_sta_basic_tlv()"
...
In mt76_connac_mcu_sta_basic_tlv() link_conf is always not NULL.
Revert the commit '9890624c1b39 ("wifi: mt76: Check link_conf pointer in
mt76_connac_mcu_sta_basic_tlv()")' in order to fix the following
warning:
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:394 mt76_connac_mcu_sta_basic_tlv()
warn: variable dereferenced before check 'link_conf'
This reverts commit 9890624c1b .
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org >
Link: https://patch.msgid.link/20250325-mt76_connac_mcu_sta_basic_tlv-link_conf-revert-v1-1-b84efefb74ee@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:39 +02:00
sunliming
187de25110
wifi: mt76: mt7996: fix uninitialized symbol warning
...
Fix below smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7996/main.c:952 mt7996_mac_sta_add_links()
error: uninitialized symbol 'err'.
drivers/net/wireless/mediatek/mt76/mt7996/main.c:1133 mt7996_set_rts_threshold()
error: uninitialized symbol 'ret'.
Reported-by: kernel test robot <lkp@intel.com >
Reported-by: Dan Carpenter <error27@gmail.com >
Closes: https://lore.kernel.org/r/202504101051.1ya4Z4va-lkp@intel.com/
Signed-off-by: sunliming <sunliming@kylinos.cn >
Link: https://patch.msgid.link/20250419031528.2073892-1-sunliming@linux.dev
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:39 +02:00
Qasim Ijaz
a0bdd3d1b9
wifi: mt76: mt7996: avoid null deref in mt7996_stop_phy()
...
In mt7996_stop_phy() the mt7996_phy structure is
dereferenced before the null sanity check which could
lead to a null deref.
Fix by moving the dereference operation after the
sanity check.
Fixes: 69d54ce749 ("wifi: mt76: mt7996: switch to single multi-radio wiphy")
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com >
Link: https://patch.msgid.link/20250421111344.11484-1-qasdev00@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:39 +02:00
Qasim Ijaz
cb423ddad0
wifi: mt76: mt7996: avoid NULL pointer dereference in mt7996_set_monitor()
...
The function mt7996_set_monitor() dereferences phy before
the NULL sanity check.
Fix this to avoid NULL pointer dereference by moving the
dereference after the check.
Fixes: 69d54ce749 ("wifi: mt76: mt7996: switch to single multi-radio wiphy")
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com >
Link: https://patch.msgid.link/20250421112544.13430-1-qasdev00@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:39 +02:00
Samuel Williams
7011faebe5
wifi: mt76: mt7921: add 160 MHz AP for mt7922 device
...
This allows mt7922 in hostapd mode to transmit up to 1.4 Gbps.
Signed-off-by: Samuel Williams <sam8641@gmail.com >
Link: https://patch.msgid.link/20250511005316.1118961-1-sam8641@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Michael Lo
ca872e0ad9
wifi: mt76: mt7925: fix host interrupt register initialization
...
ensure proper interrupt handling and aligns with the hardware spec by
updating the register offset for MT_WFDMA0_HOST_INT_ENA.
Cc: stable@vger.kernel.org
Fixes: c948b5da6b ("wifi: mt76: mt7925: add Mediatek Wi-Fi7 driver for mt7925 chips")
Signed-off-by: Michael Lo <michael.lo@mediatek.com >
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250509083512.455095-1-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Leon Yen
1d81e893b4
wifi: mt76: mt7925: introduce thermal protection
...
Add thermal protection to prevent the chip from possible overheating
due to prolonged high traffic and adverse operating conditions.
Signed-off-by: Leon Yen <leon.yen@mediatek.com >
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com >
Link: https://patch.msgid.link/20250509082117.453819-1-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Henk Vergonet
3c0e4f606d
wifi: mt76: mt76x2: Add support for LiteOn WN4516R,WN4519R
...
Adds support for:
- LiteOn WN4516R
- LiteOn WN4519R
Both use:
- A nonstandard USB connector
- Mediatek chipset MT7600U
- ASIC revision: 76320044
Disabled VHT support on ASIC revision 76320044:
This fixes the 5G connectibity issue on LiteOn WN4519R module
see https://github.com/openwrt/mt76/issues/971
And may also fix the 5G issues on the XBox One Wireless Adapter
see https://github.com/openwrt/mt76/issues/200
I have looked at the FCC info related to the MT7632U chip as mentioned in here:
https://github.com/openwrt/mt76/issues/459
These confirm the chipset does not support 'ac' mode and hence VHT should be turned of.
Signed-off-by: Henk Vergonet <henk.vergonet@gmail.com >
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org >
Link: https://patch.msgid.link/20250418143914.31384-1-henk.vergonet@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Christophe JAILLET
939481cd87
wifi: mt76: Remove an unneeded local variable in mt76x02_dma_init()
...
Remove 't' which is unneeded since commit f3950a4141 ("mt76: set
txwi_size according to the driver value")
This slightly simplifies the code.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Link: https://patch.msgid.link/e86d5602bdd8b6bd22258ee69536992f39470bf5.1744928865.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Qasim Ijaz
d9bc625861
wifi: mt76: mt7996: prevent uninit return in mt7996_mac_sta_add_links
...
If link_conf_dereference_protected() or mt7996_vif_link()
or link_sta_dereference_protected() fail the code jumps to
the error_unlink label and returns ret which is uninitialised.
Fix this by setting err before jumping to error_unlink.
Fixes: c7e4fc3624 ("wifi: mt76: mt7996: Update mt7996_mcu_add_sta to MLO support")
Fixes: dd82a9e02c ("wifi: mt76: mt7996: Rely on mt7996_sta_link in sta_add/sta_remove callbacks")
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com >
Link: https://patch.msgid.link/20250421110550.9839-1-qasdev00@gmail.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Shayne Chen
3dbfb8abe3
Revert "wifi: mt76: mt7996: fill txd by host driver"
...
This reverts commit 3b522caded .
The MTK connac3 has introduced new hardware, SDO (Software Defined
Offload), to offload the process of filling the TX descriptor. Initially,
there were some issues, but after several fixes, it should now be stable,
allowing us to revert this commit.
Additionally, activating SDO is essential for the proper functioning of
features like TX checksum offload.
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250328022847.1612082-1-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Charles Han
caf4b347c5
wifi: mt76: mt7996: Add NULL check in mt7996_thermal_init
...
devm_kasprintf() can return a NULL pointer on failure,but this
returned value in mt7996_thermal_init() is not checked.
Add NULL check in mt7996_thermal_init(), to handle kernel NULL
pointer dereference error.
Fixes: 69d54ce749 ("wifi: mt76: mt7996: switch to single multi-radio wiphy")
Signed-off-by: Charles Han <hanchunchao@inspur.com >
Link: https://patch.msgid.link/20250407095551.32127-1-hanchunchao@inspur.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Allan Wang
cadebdad95
wifi: mt76: mt7925: add EHT preamble puncturing
...
Add mt7925 EHT preamble puncturing.
Signed-off-by: Allan Wang <allan.wang@mediatek.com >
Link: https://patch.msgid.link/20250401083525.2734333-1-allan.wang@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Dan Carpenter
8822411986
wifi: mt76: mt7925: Fix logical vs bitwise typo
...
This was supposed to be & instead of &&.
Fixes: f0317215b3 ("wifi: mt76: mt7925: add EHT control support based on the CLC data")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Link: https://patch.msgid.link/d323a443-4e81-4064-8563-b62274b53ef4@stanley.mountain
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
StanleyYP Wang
1529e335f9
wifi: mt76: mt7996: rework radar HWRDD idx
...
The definition of MT_RX_SEL (for rdd_rx_sel) is mixed with the
definition of HWRDD idx.
For example, MT_RX_SEL2 is for background HWRDD idx, not an
option of rdd_rx_sel.
Additionally, HWRDD idx does not exactly map to band idx for
Connac 3 chips. So, add mt7996_get_rdd_idx as a helper function.
Finally, remove some parts of the code inherited from the legacy chips.
For instance,
1. rdd_state is used for single-band-dual-HWRDD chips (for 80+80),
especially the 76xx series.
2. rdd_rx_sel is also used for single-band-dual-HWRDD chips
rx_sel = 0 => RDD0 for WF0, RDD1 for WF2
rx_sel = 1 => RDD0 for WF1, RDD1 for WF3
Chip Variants | 5G rdd idx | Background rdd idx
---------------------------|----------------|-------------------
MT7996 (except 205/255) | 1 | 2
MT7992 | 1 | 2
MT7990 | 1 | 2
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Reviewed-by: Shayne Chen <shayne.chen@mediatek.com >
Reviewed-by: Money Wang <money.wang@mediatek.com >
Link: https://patch.msgid.link/20250320015926.3948672-1-StanleyYP.Wang@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
StanleyYP Wang
758e0cc3a4
wifi: mt76: mt7915: rework radar HWRDD idx
...
The definition of MT_RX_SEL (for rdd_rx_sel) is mixed with the
definition of HWRDD idx.
For example, MT_RX_SEL2 is for background HWRDD idx, not an option
of rdd_rx_sel.
Therefore, add mt7915_get_rdd_idx as a helper function to get the
HWRDD idx for each variants.
Additionally, remove some parts of the code inherited from the legacy
chips.
For instance,
1. rdd_state is used for single-band-dual-HWRDD chips (for 80+80),
especially the 76xx series.
2. rdd_rx_sel is also used for single-band-dual-HWRDD chips
rx_sel = 0 => RDD0 for WF0, RDD1 for WF2
rx_sel = 1 => RDD0 for WF1, RDD1 for WF3
Chip Variants | 5G rdd idx(=bandidx)| Background rdd idx
-------------------------------|---------------------|-------------------
MT7915A | 0 | 2
MT7915D | 1 | 2
MT7916 2G + 5G (2T2R+1R) | 1 | 2
MT7916 2G + 5G (3T3R) | 1 | N/A
MT7981 2G + 5G | 1 | N/A
MT7986 2G + 5G (one adie DBDC) | 1 | N/A
MT7986 5G (one adie) | 1 (bandidx=MT_BAND1)| N/A
MT7986 2G + 5G (dual adie) | 1 | N/A
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Reviewed-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250320015918.3948643-1-StanleyYP.Wang@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
StanleyYP Wang
888208d1cc
wifi: mt76: mt7915: set correct background radar capability
...
Some of the variants do not support background radar, so add a
helper to report background radar capability.
For mt7916, only the variant of 5G 2T2R + 1R supports background
radar.
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Reviewed-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250320015909.3948612-1-StanleyYP.Wang@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Peter Chiu
8d63161d2e
wifi: mt76: mt7996: add PCI device id for mt7990
...
Add PCI device IDs to enable support for mt7990 chipsets.
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-11-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
StanleyYP Wang
14d3990eb7
wifi: mt76: mt7996: rework background radar check for mt7990
...
The MT7990 comes in 2T2R and 3T3R variants, with only the 2T2R supporting
background radar.
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-10-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Shayne Chen
b7ddeb9cc4
wifi: mt76: connac: rework TX descriptor and TX free for mt7990
...
Adjust the TX descriptor and TX free for updated hardware fields.
This is a preliminary patch to support mt7990 chipset.
Co-developed-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Co-developed-by: Benjamin Lin <benjamin-jw.lin@mediatek.com >
Signed-off-by: Benjamin Lin <benjamin-jw.lin@mediatek.com >
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-9-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
Peter Chiu
6d72f267c6
wifi: mt76: mt7996: adjust HW capabilities for mt7990
...
This is a preliminary patch to support mt7990 chipset.
Co-developed-by: Howard Hsu <howard-yh.hsu@mediatek.com >
Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com >
Co-developed-by: Shayne Chen <shayne.chen@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-8-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:38 +02:00
StanleyYP Wang
7316813a9c
wifi: mt76: mt7996: add eeprom support for mt7990
...
Add eeprom definition and default bin file for mt7990.
This is a preliminary patch to support mt7990 chipset.
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-7-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:37 +02:00
StanleyYP Wang
f6c87411d1
wifi: mt76: mt7996: rework register mapping for mt7990
...
Rework register offset and l1/l2/cbtop mapping for mt7990.
This is a preliminary patch to support mt7990 chipset.
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Co-developed-by: Shayne Chen <shayne.chen@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-6-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:37 +02:00
Peter Chiu
9ba4a76db9
wifi: mt76: mt7996: rework DMA configuration for mt7990
...
Modify DMA ring setting for mt7990.
This is a preliminary patch to support mt7990 chipset.
Co-developed-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-5-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:37 +02:00
Peter Chiu
76d13deb1a
wifi: mt76: mt7996: rework WA mcu command for mt7990
...
Since mt7990 lacks WA firmware, some WA commands are not supported or
need to be refactored to use the SDO command.
This is a preliminary patch to support mt7990 chipset.
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-4-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:37 +02:00
StanleyYP Wang
a4e32b306a
wifi: mt76: connac: add support to load firmware for mt7990
...
Add firmware download support. Note that mt7990 does not have WA and DSP
firmwares. This is a preliminary patch to support mt7990 chipset.
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-3-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:37 +02:00
Shayne Chen
7014fe5358
wifi: mt76: mt7996: add macros for pci device ids
...
The chipset name (i.e., brand name) used by the driver may cause confusion
with the PCI device ID when adding support for new chipsets.
| Chipset name | PCI device id |
|--------------|----------------|
| 7996 | 0x7990, 0x7991 |
| 7992 | 0x7992, 0x799a |
| 7990 | 0x7993, 0x799b |
To prevent confusion, replace the code that directly uses the device ID
with macros. This is a preliminary patch to support mt7990 chipset.
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com >
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com >
Link: https://patch.msgid.link/20250409140750.724437-2-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name >
2025-05-21 14:49:31 +02:00