[openwrt/openwrt] mt76: update to the latest version

LEDE Commits lede-commits at lists.infradead.org
Tue Nov 23 09:44:23 PST 2021


nbd pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/2982f1ec0a27a670665c9fe9a6030d06da696fc8

commit 2982f1ec0a27a670665c9fe9a6030d06da696fc8
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Tue Nov 23 17:05:45 2021 +0100

    mt76: update to the latest version
    
    624c681ef0c6 mt76: mt7921: enable VHT BFee capability
    a27dfcb63ccf mt76: connac: fix UC entry is being overwritten
    6b691e62470e mt76: connac: add mt76_connac_power_save_sched in mt76_connac_pm_unref
    b14365bea586 mt76: mt7921: wake the device before dumping power table
    82af16bddfc0 mt76: mt7921: make mt7921_set_channel static
    b24598b1c1a9 mt76: connac: add mt76_connac_mcu_get_nic_capability utility routine
    5954e3381ff9 mt76: testmode: move chip-specific stats dump before common stats
    fd5b612f9aa4 mt76: mt7915: fix rx fcs error count in testmode
    d9d26a294f7b mt76: connac: fix the maximum interval schedule scan can support
    ed39c882f388 mt76: reduce rx buffer size to 2048
    60f3d3adbba6 mt76: move mt76_get_next_pkt_id in mt76.h
    67ed4d902c84 mt76: connac: check band caps in mt76_connac_mcu_set_rate_txpower
    23c6ec49c000 mt76: make mt76_update_survey() per phy
    5ca602fb9455 mt76: mt7915: introduce mt7915_mcu_set_txbf()
    c13df42282e9 mt76: mt7915: improve MU stability
    dee7dcddcaa0 mt76: use SPDX header file comment style
    6fbd47153b3d mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode
    1b97dd1762ca mt76: mt7921: fix sta_state incorrect implementation
    1b89053b5a6f mt76: mt7921: improve code readability for mt7921_update_txs
    126649816785 mt76: mt7921: limit txpower according to userlevel power
    a5163ac09be2 mt76: mt7921: introduce dedicated control for deep_sleep
    e47c04db4d7e mt76: mt7921: fix kernel warning when reset on vif is not sta
    063d3611662c mt76: mt7921: fix the coredump is being truncated
    12bf28feba7c mt76: fix iv and CCMP header insertion
    949327e76ee4 mt76: disable TWT capabilities for the moment
    3530254c1bc9 mt76: mt7921: enable HE BFee capability
    599e35f5d9b8 mt76: sdio: do not run mt76_txq_schedule directly
    3b6d30c28946 mt76: mt7663s: rely on pm reference counting
    529d55a79088 mt76: mt7663s: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path
    ef44ff116ee2 mt76: mt7663s: enable runtime-pm
    3a71e71a555e mt76: mt7615: set macwork timeout according to runtime-pm
    925d96e443a4 mt76: mt7921: allow chip reset during device restart
    63b114d84361 mt76: mt76x0e: fix device hang during suspend/resume
    7f5ea5e2fd10 mt7915: check return code of sysfs_create_link
    ca64a36908b7 mt76: fix mt76_rates for the multiple devices
    f517116bf14c mt76: add mt76_default_basic_rate more devices can rely on
    6c70b0100513 mt76: mt7921: fix mgmt frame using unexpected bitrate
    c00a9a6b52af mt76: mt7915: fix mgmt frame using unexpected bitrate
    0e4089949565 mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event
    55f314120ef2 mt76: mt7921: avoid unnecessary spin_lock/spin_unlock in mt7921_mcu_tx_done_event
    541cd3276488 mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb
    817761e87c4f mt76: mt7921: fix endianness warning in mt7921_update_txs
    b8eca74bbd7b mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi
    5e5e07f0def3 mt76: mt7915: fix potential overflow of eeprom page index
    abda4cded420 mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal()
    535899f81a46 mt76: mt7915: fix calling mt76_wcid_alloc with incorrect parameter
    adfa1b9a3ca0 mt76: connac: fix mt76_connac_gtk_rekey_tlv usage
    2a65b105ea4a mt76: mt7921: enable aspm by default
    c57158c82804 mt76: fix build error implicit enumeration conversion
    41f607cab83c mt76: mt7921: fix survey-dump reporting
    25b4f885a937 mt76: mt76x02: fix endianness warnings in mt76x02_mac.c
    e63fadb87fe1 mt76: mt7915: report HE MU radiotap
    135ef3e9827a mt76: mt7915: adapt new firmware to update BA winsize for Rx session
    7118eacb7ce4 mt76: mt7921: add .set_sar_specs support
    f1f6569da408 mt76: mt7915: fix an off-by-one bound check
    f7da39467965 mt76 mt7915: take RCU read lock when calling ieee80211_bss_get_elem()
    87af8e5c72b1 mt76: mt7915: cleanup -Wunused-but-set-variable
    8e2d383fbd92 mt76: mt7915: report tx rate directly from tx status
    ddce30977591 mt76: mt7915: remove mt7915_sta_stats
    4ccd42029519 mt76: mt7921: introduce testmode support
    bbebea7d6dc6 Revert "mt76: fix mt76_rates for the multiple devices"
    74dedf9352c5 mt76: mt7615: fix skb use-after-free on mac reset
    7201290eda43 mt76: mt7921: Fix out of order process by invalid event pkt
    ca1b57e9971a mt76: mt7915: add a missing HT flag for GI parsing
    4932c5d80153 of: net: pass the dst buffer to of_get_mac_address()
    51d9eb3e6f52 mt76: mt7915: fix endianness warnings in mu radiotap
    833ca13014ab mt76: mt7921: Add mt7922 support
    8f8ed44d026e mt76: mt7915: add control knobs for thermal throttling
    16f18bab6b11 mt76: mt7915: send EAPOL frames at lowest rate
    affea639c586 mt76: mt7921: send EAPOL frames at lowest rate
    ac00fed412d4 mt76: mt7915: fix potential overflow of eeprom page index [update]
    e576ddb76dfa mt76: mt7915: switch proper tx arbiter mode in testmode
    222847c3d5eb mt76: mt7915: fix bit fields for HT rate idx
    d04814366c83 mt76: add support for setting mcast rate
    4602acc9271a mt76: mt7921: fix dma hang in rmmod
    ec2cf3bf96fd mt76: connac: fix GTK rekey offload failure on WPA mixed mode
    2fdb9d621431 mt76: connac: add support for limiting to maximum regulatory Tx power
    489ace63d42c mt76: mt7921: get rid of monitor_vif
    22da8d28fcc8 mt76: mt7921: get rid of mt7921_mac_set_beacon_filter
    c94130519786 mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine
    51cff39d7ad3 mt76: overwrite default reg_ops if necessary
    da11c1c6edef mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module
    47f50b0aa4b8 mt76: mt7921: report HE MU radiotap
    4f48ba4b0254 mt76: mt7915: checkpatch cleanup
    bc7ee7d7bdea mt76: mt7915: add HE-LTF into fixed rate command
    6a19e40820aa mt76: mt7921: continue to probe driver when fw already downloaded
    8b3d8e2de084 mt76: mt7921: fix firmware usage of RA info using legacy rates
    17305a54b166 mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate
    801c15577293 mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap
    0182a5b99a7a mt76: mt7915: update mac timing settings
    e2ee9d0a33ed mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD
    fa6504aceb4f Revert "mt76: mt7915: checkpatch cleanup"
    56b842b72a72 mt76: mt7915: fix wmm index on DBDC cards
    8044311f5de5 mt76: mt7915: fix potential NPE in TXS processing
    28da4baec7c5 mt76: mt7915: fix he_mcs capabilities for 160mhz
    f7088ebe7452 mt76: mt7915: add LED support
    ee019046284d mt76: mt7915: introduce bss coloring support
    9848094e4bb5 mt76: mt7921: Fix fall-through warning for Clang
    5710d0643418 mt76: add a bound check in mt76_calculate_default_rate()
    a509cf2b654e mt76: mt7921: move mt7921_queue_rx_skb to mac.c
    5a0f2382fcfe mt76: mt7915: rework debugfs queue info
    62ffc31f4d7b mt76: mt7915: rename debugfs tx-queues
    4750b5c918e5 mt76: mt7921: always wake device if necessary in debugfs
    ac6adf74b3f2 mt76: mt7921: update mib counters dumping phy stats
    eb75b9266ce6 net:wireless:mt76: fix boolreturn.cocci warnings
    d7c4698435b3 mt76: mt7921: fix the inconsistent state between bind and unbind
    9dcfba3169c4 mt76: switch from 'pci_' to 'dma_' API
    d8b5e42c9a73 mt76: fill boottime_ns in Rx path
    8ee6446075f2 mt76: disable BH around napi_schedule() calls
    e17d730bf2f6 mt76: mt7915: add LED support [update to v3]
    80fe40c9457e mt76: mt7915: enable configured beacon tx rate
    c8f0d1d81d05 mt76: mt7915: fix hwmon temp sensor mem use-after-free
    3b9ba7e02076 mt76: mt7615: fix hwmon temp sensor mem use-after-free
    5e82eceb45cb mt76: mt7921: start reworking tx rate reporting
    eb66b5c9ff77 mt76: mt7921: add support for tx status reporting
    c8010f170e76 mt76: mt7921: report tx rate directly from tx status
    4dc7f3db572b mt76: mt7921: remove mcu rate reporting code
    db89c6f86724 mt76: mt7921: remove mt7921_sta_stats
    6bb8b4267dbe mt76: move spin_lock_bh to spin_lock in tasklet
    0eacf41985da mt76: mt7915: honor all possible error conditions in mt7915_mcu_init()
    4dfff296ee6e mt76: mt7915: fix possible infinite loop release semaphore
    537ed88dd2d0 mt76: mt7921: robustify hardware initialization flow
    e0b846159221 mt76: mt7921: fix retrying release semaphore without end
    c55dedcea268 mt76: mt7915: add ethtool stats support
    d1d5e8cd3a3e mt76: mt7915: add tx stats gathered from tx-status callbacks
    1687189d68b7 mt76: mt7915: add some per-station tx stats to ethtool
    f4dde5f765af mt76: mt7915: add tx mu/su counters to mib
    9752bf0643c9 mt76: mt7915: add more MIB registers
    4727415017c9 mt76: mt7915: add mib counters to ethtool stats
    4ca80a749e7f mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2}
    3f2a5d39631e mt76: connac: enable 6GHz band for hw scan
    817a41826bd7 mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain
    a6ab81c21080 mt76: connac: set 6G phymode in single-sku support
    ca4f47028a44 mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv
    d2e192ea81e2 mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss
    c3dd12b4c8ae mt76: connac: enable hw amsdu @ 6GHz
    91ed2b256c20 mt76: add 6GHz support
    de8c4f92621f mt76: mt7921: add 6GHz support
    f143aedc1d57 mt76: introduce packet_id idr
    bcc8d9e03a5d mt76: remove mt76_wcid pointer from mt76_tx_status_check signature
    ccbd84763153 mt76: substitute sk_buff_head status_list with spinlock_t status_lock
    69bb59df894c mt76: schedule status timeout at dma completion
    03a992645310 mt76: support reading EEPROM data embedded in fdt
    75615480b3fe mt76: introduce __mt76_mcu_send_firmware routine
    e8e2eae41f94 mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware
    4c455e8b1a20 mt76: mt7915: introduce __mt7915_get_tsf routine
    9d49c611a2d7 mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command
    f44ca79c9aed mt76: mt7915: introduce mt7915_mac_add_twt_setup routine
    2f9555a2f18f mt76: mt7915: enable twt responder capability
    440e2db8d541 mt76: mt7915: add twt_stats knob in debugfs
    eb5f640f8afa mt76: debugfs: improve queue node readability
    53d7eb3b4884 mt76: mt7615: fix monitor mode tear down crash
    2aa3d4414826 mt76: mt7921: add delay config for sched scan
    47e8e96e8e4d mt76: use a separate CCMP PN receive counter for management frames
    5560b08f8e2d mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs
    1af0242d1241 mt76: mt7915: replace a 64 bit divsion with a call to div_u64_rem
    83598c2e872f mt76: avoid possible infinite loop in mt76_tx_status_check
    ebf5b2336591 mt7615/mt7915: fix hwmon device name
    8d12f9ed275d mt76: mt7615: mt7622: fix ibss and meshpoint
    e7883cdc0b4e mt76: mt7915: improve code readability in mt7915_mcu_sta_bfer_ht
    831d5967abb9 wireless: fix spelling of A-MSDU in HE capabilities
    f09cb04be261 wireless: align some HE capabilities with the spec
    0eeba8f2952d wireless: align HE capabilities A-MPDU Length Exponent Extension
    655a6c65b8a7 mt76: mt7915: introduce mt7915_mcu_beacon_check_caps()
    4440025d0ba9 mt76: mt7915: fix txbf starec TLV issues
    87d2fb6fbff5 mt76: mt7915: improve starec readability of txbf
    53c6a3cb7f6b mt76: mt7915: fix sta_rec_wtbl tag len
    f517845e4f28 mt76: mt7915: rework starec TLV tags
    1df017bc39a3 mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req()
    6724b0a9a748 mt76: mt7915: set VTA bit in tx descriptor
    f1f505cbbb30 mt76: mt7915: set muru platform type
    8c9d4b38d258 mt76: mt7915: remove dead code in mt7915_get_et_stats
    d0ccc4297935 mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature
    0af0af82bb97 mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy
    10e85d62f213 mt76: mt7915: improve code readability for xmit-queue handler
    b6051f7713d2 mt76: sdio: export mt76s_alloc_rx_queue and mt76s_alloc_tx routines
    9a97c38a309d mt76: mt7921: get rid of unused variable in mt7921_tx_complete_skb
    c02847c05884 mt76: mt7921: get rid of unused variable in mt7921_mac_tx_free
    60dd47a0a62e mt76: mt7915: remove dead code in debugfs code
    ce74fc020d81 mt76: mt7921: add MU EDCA cmd support
    c062f6920356 mt76: mt7921: refactor mac.c to be bus independent
    bfa909c833e8 mt76: mt7921: refactor dma.c to be pcie specific
    6556bddf26d2 mt76: mt7921: refactor mcu.c to be bus independent
    1c8418207c86 mt76: mt7921: refactor init.c to be bus independent
    6cf8248c1a44 mt76: mt7921: add MT7921_COMMON module
    77600b0c10ac mt76: connac: move mcu reg access utility routines in mt76_connac_lib module
    65362a00d07d mt76: mt7663s: rely on mcu reg access utility
    956206bb55c3 mt76: mt7921: make all event parser reusable between mt7921s and mt7921e
    f0dedcf6aaf0 mt76: mt7921: use physical addr to unify register access
    5079d5b0b13c mt76: sdio: move common code in mt76_sdio module
    26257594398b mt76: sdio: introduce parse_irq callback
    e353424f1b07 mt76: sdio: extend sdio module to support CONNAC2
    ddab3dd25f94 mt76: connac: extend mcu_get_nic_capability
    b2d9a1748a41 mt76: mt7921: rely on mcu_get_nic_capability
    e6ce5d9cbda0 mt76: mt7921: refactor mt7921_mcu_send_message
    ce3706a65ccd mt76: mt7921: introduce mt7921s support
    3143118baf53 mt76: mt7921s: add reset support
    645eac64bece mt76: mt76x0: correct VHT MCS 8/9 tx power eeprom offset
    d54796787cb7 mt76: move mt76_sta_stats in mt76.h
    094e085abf5a mt76: move mt76_ethtool_worker_info in mt76 module
    f80ab6dde63d mt76: mt7915: run mt7915_get_et_stats holding mt76 mutex
    4a11cb67dc27 mt76: mt7915: move tx amsdu stats in mib_stats
    486da6fa2512 mt76: do not reset MIB counters in get_stats callback
    d8837b7c8dcd mt76: mt7921: add some more MIB counters
    5ffe086fcd1b mt76: mt7921: introduce stats reporting through ethtool
    69154ae23f6b mt76: mt7921: add sta stats accounting in mt7921_mac_add_txs_skb
    4b65fbc4e203 mt76: mt7921: move tx amsdu stats in mib_stats
    35b8025f466b mt76: mt7921: add per-vif counters in ethtool
    cfbbd861eb12 mt76: mt7915: enable HE UL MU-MIMO
    a0b94987df80 mt76: mt7915: rework mt7915_mcu_sta_muru_tlv()
    5fbb686e9c0c mt76: mt7915: fix missing HE phy cap
    b649678c18ca mt76: mt7915: change max rx len limit of hw modules
    9d288d7c0c73 mt76: mt7615: apply cached RF data for DBDC
    4d2e81d9ecab mt76: mt7915: remove mt7915_mcu_add_he()
    2c8c3bcd766c mt76: mt7915: rework .set_bitrate_mask() to support more options
    577d45f6e4a0 mt76: mt7915: rework debugfs fixed-rate knob
    b68af355f707 mt76: mt7915: fix endiannes warning mt7915_mcu_beacon_check_caps
    b52adf981561 mt76: mt7915: add WA firmware log support
    ed3d8569c400 mt76: mt7915: add debugfs knobs for MCU utilization
    0f49a22314a5 mt76: mt7921: disable 4addr capability
    754d4a37ab71 mt76: mt7921: fix mt7921s Kconfig
    f81f42fe875f mt76: Print error message when reading EEPROM from mtd failed
    fd25a550965d mt76: Make use of the helper macro kthread_run()
    1d01257662a6 wireless: mediatek: mt7921: fix Wformat build warning
    f6bde7ba82ee mt76: connac: fix unresolved symbols when CONFIG_PM is unset
    5dd32475c859 mt76: mt7915: get rid of mt7915_mcu_set_fixed_rate routine
    f5cfaaff3dd1 mt76: mt7921: drop offload_flags overwritten
    f5ad840ca5c0 mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy()
    29a8a08827b1 mt76: mt7921: fix MT7921E reset failure
    f44685f2faee mt76: mt7915: fix return condition in mt7915_tm_reg_backup_restore()
    ae8e02ddd2b0 mt76: mt7915: fix SMPS operation fail
    e814e15716b0 mt76: reverse the first fragmented frame to 802.11
    c9bca3ed9566 mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode
    dd054b7e16e7 mt76: only set rx radiotap flag from within decoder functions
    f1520c9bb332 mt76: mt7915: add default calibrated data support
    0c489ea2865a mt76: testmode: add support to set MAC
    91c5da3d0a7c mt76: mt7921: add support for PCIe ID 0x0608/0x0616
    ca39b4bbc227 mt76: debugfs: fix queue reporting for mt76-usb
    00b6f497e2e8 mt76: mt7921: introduce 160 MHz channel bandwidth support
    c1574466c733 mt76: fix possible OOB issue in mt76_calculate_default_rate
    9680a17b0aed mt76: mt7921: fix possible NULL pointer dereference in mt7921_mac_write_txwi
    78fc0dcdcef0 mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode
    05953e7d6fe7 mt76: mt7615: remove dead code in get_omac_idx
    39f6c37127c1 mt76: connac: remove PHY_MODE_AX_6G configuration in mt76_connac_get_phy_mode
    526591b203f3 mt76: do not pass the received frame with decryption error
    256789bb400f mt76: fix the wiphy's available antennas to the correct value
    fa187f5cf068 mt76: fix timestamp check in tx_status
    11ebf11a3587 mt76: mt7915: fix the wrong SMPS mode
    8c69b815ee7f mt76: mt7921: honor mt76_connac_mcu_set_rate_txpower return value in mt7921_config
    bc6798f729f9 mt76: move sar utilities to mt76-core module
    b1d0ad2e74fe mt76: mt76x02: introduce SAR support
    f0a5b1118fa4 mt76: mt7915: fix decap offload corner case with 4-addr VLAN frames
    67f93aa9a207 mt76: mt7615: fix decap offload corner case with 4-addr VLAN frames
    46261d4bbfb5 mt76: fix possible pktid leak
    a7fdd272efee mt76: mt7921: move mt76_connac_mcu_set_hif_suspend to bus-related files
    3d9e13f567a4 mt76: mt7921s: fix the device cannot sleep deeply in suspend
    99225b985cbc mt76: mt7615: fix unused tx antenna mask in testmode
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
    (sync with master commit 5aa62cb7996803fa256a7b9f5beef818a7fe34d8)
---
 package/kernel/mt76/Makefile                       | 48 ++++++++++++---
 ...et-pass-the-dst-buffer-to-of_get_mac_addr.patch | 26 ++++++++
 ...fix-spelling-of-A-MSDU-in-HE-capabilities.patch | 55 -----------------
 ...-align-some-HE-capabilities-with-the-spec.patch | 70 ----------------------
 ...ign-HE-capabilities-A-MPDU-Length-Exponen.patch | 35 -----------
 5 files changed, 67 insertions(+), 167 deletions(-)

diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile
index e4051d8347..e947f1a2f3 100644
--- a/package/kernel/mt76/Makefile
+++ b/package/kernel/mt76/Makefile
@@ -8,11 +8,12 @@ PKG_LICENSE_FILES:=
 
 PKG_SOURCE_URL:=https://github.com/openwrt/mt76
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2021-06-06
-PKG_SOURCE_VERSION:=22b690334c0f49b11534cc2e331c9d5e17c4a0bc
-PKG_MIRROR_HASH:=ff5e563935919d2e40c1e7254ef3bc06f7ecc5e69f8ddd12903e8f5de942d630
+PKG_SOURCE_DATE:=2021-11-23
+PKG_SOURCE_VERSION:=99225b985cbcab4707589f1fa313436f4bf1e368
+PKG_MIRROR_HASH:=6444c7d49d778c7621b03f0f201ce41f6dc9ac00dedb29c66478360b4fd60492
 
 PKG_MAINTAINER:=Felix Fietkau <nbd at nbd.name>
+PKG_USE_NINJA:=0
 PKG_BUILD_PARALLEL:=1
 
 PKG_CONFIG_DEPENDS += \
@@ -151,6 +152,14 @@ define KernelPackage/mt76-connac
   FILES:= $(PKG_BUILD_DIR)/mt76-connac-lib.ko
 endef
 
+define KernelPackage/mt76-sdio
+  $(KernelPackage/mt76-default)
+  TITLE:=MediaTek MT7615/MT79xx SDIO driver common code
+  HIDDEN:=1
+  DEPENDS+=+kmod-mt76-core +kmod-mmc
+  FILES:= $(PKG_BUILD_DIR)/mt76-sdio.ko
+endef
+
 define KernelPackage/mt7615-common
   $(KernelPackage/mt76-default)
   TITLE:=MediaTek MT7615 wireless driver common code
@@ -195,9 +204,8 @@ endef
 define KernelPackage/mt7663s
   $(KernelPackage/mt76-default)
   TITLE:=MediaTek MT7663s wireless driver
-  DEPENDS+=+kmod-mmc +kmod-mt7615-common +kmod-mt7663-usb-sdio
+  DEPENDS+=+kmod-mt76-sdio +kmod-mt7615-common +kmod-mt7663-usb-sdio
   FILES:= \
-	$(PKG_BUILD_DIR)/mt76-sdio.ko \
 	$(PKG_BUILD_DIR)/mt7615/mt7663s.ko
   AUTOLOAD:=$(call AutoProbe,mt7663s)
 endef
@@ -218,10 +226,25 @@ define KernelPackage/mt7915e
   AUTOLOAD:=$(call AutoProbe,mt7915e)
 endef
 
+define KernelPackage/mt7921-common
+  TITLE:=MediaTek MT7615 wireless driver common code
+  HIDDEN:=1
+  DEPENDS+=@PCI_SUPPORT +kmod-mt76-core +kmod-mt76-connac
+  FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921-common.ko
+endef
+
+define KernelPackage/mt7921s
+  $(KernelPackage/mt76-default)
+  TITLE:=MediaTek MT7921s wireless driver
+  DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-mt76-sdio +kmod-mt7921-common
+  FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921s.ko
+  AUTOLOAD:=$(call AutoProbe,mt7921s)
+endef
+
 define KernelPackage/mt7921e
   $(KernelPackage/mt76-default)
   TITLE:=MediaTek MT7921e wireless driver
-  DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac
+  DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-mt7921-common
   FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921e.ko
   AUTOLOAD:=$(call AutoProbe,mt7921e)
 endef
@@ -287,6 +310,9 @@ endif
 ifdef CONFIG_PACKAGE_kmod-mt76-connac
   PKG_MAKE_FLAGS += CONFIG_MT76_CONNAC_LIB=m
 endif
+ifdef CONFIG_PACKAGE_kmod-mt76-sdio
+  PKG_MAKE_FLAGS += CONFIG_MT76_SDIO=m
+endif
 ifdef CONFIG_PACKAGE_kmod-mt7615-common
   PKG_MAKE_FLAGS += CONFIG_MT7615_COMMON=m
 endif
@@ -301,7 +327,6 @@ ifdef CONFIG_PACKAGE_kmod-mt7663-usb-sdio
   PKG_MAKE_FLAGS += CONFIG_MT7663_USB_SDIO_COMMON=m
 endif
 ifdef CONFIG_PACKAGE_kmod-mt7663s
-  PKG_MAKE_FLAGS += CONFIG_MT76_SDIO=m
   PKG_MAKE_FLAGS += CONFIG_MT7663S=m
 endif
 ifdef CONFIG_PACKAGE_kmod-mt7663u
@@ -310,6 +335,12 @@ endif
 ifdef CONFIG_PACKAGE_kmod-mt7915e
   PKG_MAKE_FLAGS += CONFIG_MT7915E=m
 endif
+ifdef CONFIG_PACKAGE_kmod-mt7921-common
+  PKG_MAKE_FLAGS += CONFIG_MT7921_COMMON=m
+endif
+ifdef CONFIG_PACKAGE_kmod-mt7921s
+  PKG_MAKE_FLAGS += CONFIG_MT7921S=m
+endif
 ifdef CONFIG_PACKAGE_kmod-mt7921e
   PKG_MAKE_FLAGS += CONFIG_MT7921E=m
 endif
@@ -432,6 +463,7 @@ $(eval $(call KernelPackage,mt76x2u))
 $(eval $(call KernelPackage,mt76x2))
 $(eval $(call KernelPackage,mt7603))
 $(eval $(call KernelPackage,mt76-connac))
+$(eval $(call KernelPackage,mt76-sdio))
 $(eval $(call KernelPackage,mt7615-common))
 $(eval $(call KernelPackage,mt7615-firmware))
 $(eval $(call KernelPackage,mt7615e))
@@ -441,6 +473,8 @@ $(eval $(call KernelPackage,mt7663-usb-sdio))
 $(eval $(call KernelPackage,mt7663u))
 $(eval $(call KernelPackage,mt7663s))
 $(eval $(call KernelPackage,mt7915e))
+$(eval $(call KernelPackage,mt7921-common))
+$(eval $(call KernelPackage,mt7921s))
 $(eval $(call KernelPackage,mt7921e))
 $(eval $(call KernelPackage,mt76))
 $(eval $(call BuildPackage,mt76-test))
diff --git a/package/kernel/mt76/patches/100-Revert-of-net-pass-the-dst-buffer-to-of_get_mac_addr.patch b/package/kernel/mt76/patches/100-Revert-of-net-pass-the-dst-buffer-to-of_get_mac_addr.patch
new file mode 100644
index 0000000000..24b1240548
--- /dev/null
+++ b/package/kernel/mt76/patches/100-Revert-of-net-pass-the-dst-buffer-to-of_get_mac_addr.patch
@@ -0,0 +1,26 @@
+From: Felix Fietkau <nbd at nbd.name>
+Date: Tue, 23 Nov 2021 17:01:45 +0100
+Subject: [PATCH] Revert "of: net: pass the dst buffer to of_get_mac_address()"
+
+This reverts commit 4932c5d80153c336c77dbe8d7af9f8fdd879d01f.
+---
+
+--- a/eeprom.c
++++ b/eeprom.c
+@@ -105,9 +105,15 @@ mt76_eeprom_override(struct mt76_phy *ph
+ {
+ 	struct mt76_dev *dev = phy->dev;
+ 
++#ifdef CONFIG_OF
+ 	struct device_node *np = dev->dev->of_node;
++	const u8 *mac = NULL;
+ 
+-	of_get_mac_address(np, phy->macaddr);
++	if (np)
++		mac = of_get_mac_address(np);
++	if (!IS_ERR_OR_NULL(mac))
++		ether_addr_copy(phy->macaddr, mac);
++#endif
+ 
+ 	if (!is_valid_ether_addr(phy->macaddr)) {
+ 		eth_random_addr(phy->macaddr);
diff --git a/package/kernel/mt76/patches/100-wireless-fix-spelling-of-A-MSDU-in-HE-capabilities.patch b/package/kernel/mt76/patches/100-wireless-fix-spelling-of-A-MSDU-in-HE-capabilities.patch
deleted file mode 100644
index b540b77057..0000000000
--- a/package/kernel/mt76/patches/100-wireless-fix-spelling-of-A-MSDU-in-HE-capabilities.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From: Johannes Berg <johannes.berg at intel.com>
-Date: Fri, 9 Apr 2021 12:40:24 +0300
-Subject: [PATCH] wireless: fix spelling of A-MSDU in HE capabilities
-
-In the HE capabilities, spell A-MSDU correctly, not "A-MDSU".
-
-Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
-Link: https://lore.kernel.org/r/iwlwifi.20210409123755.9e6ff1af1181.If6868bc6902ccd9a95c74c78f716c4b41473ef14@changeid
-Signed-off-by: Johannes Berg <johannes.berg at intel.com>
----
-
---- a/mt76_connac_mcu.c
-+++ b/mt76_connac_mcu.c
-@@ -567,7 +567,7 @@ mt76_connac_mcu_sta_he_tlv(struct sk_buf
- 	if (elem->mac_cap_info[3] & IEEE80211_HE_MAC_CAP3_OMI_CONTROL)
- 		cap |= STA_REC_HE_CAP_OM;
- 
--	if (elem->mac_cap_info[4] & IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU)
-+	if (elem->mac_cap_info[4] & IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU)
- 		cap |= STA_REC_HE_CAP_AMSDU_IN_AMPDU;
- 
- 	if (elem->mac_cap_info[4] & IEEE80211_HE_MAC_CAP4_BQR)
---- a/mt7915/init.c
-+++ b/mt7915/init.c
-@@ -761,7 +761,7 @@ mt7915_init_he_caps(struct mt7915_phy *p
- 			IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
- 			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED;
- 		he_cap_elem->mac_cap_info[4] =
--			IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU;
-+			IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU;
- 
- 		if (band == NL80211_BAND_2GHZ)
- 			he_cap_elem->phy_cap_info[0] =
---- a/mt7915/mcu.c
-+++ b/mt7915/mcu.c
-@@ -1361,7 +1361,7 @@ mt7915_mcu_sta_he_tlv(struct sk_buff *sk
- 	if (elem->mac_cap_info[3] & IEEE80211_HE_MAC_CAP3_OMI_CONTROL)
- 		cap |= STA_REC_HE_CAP_OM;
- 
--	if (elem->mac_cap_info[4] & IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU)
-+	if (elem->mac_cap_info[4] & IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU)
- 		cap |= STA_REC_HE_CAP_AMSDU_IN_AMPDU;
- 
- 	if (elem->mac_cap_info[4] & IEEE80211_HE_MAC_CAP4_BQR)
---- a/mt7921/main.c
-+++ b/mt7921/main.c
-@@ -67,7 +67,7 @@ mt7921_init_he_caps(struct mt7921_phy *p
- 			IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
- 			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED;
- 		he_cap_elem->mac_cap_info[4] =
--			IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU;
-+			IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU;
- 
- 		if (band == NL80211_BAND_2GHZ)
- 			he_cap_elem->phy_cap_info[0] =
diff --git a/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch b/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch
deleted file mode 100644
index 52a5225eaa..0000000000
--- a/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From: Johannes Berg <johannes.berg at intel.com>
-Date: Fri, 9 Apr 2021 12:40:17 +0300
-Subject: [PATCH] wireless: align some HE capabilities with the spec
-
-Some names were changed, align that with the spec as of
-802.11ax-D6.1.
-
-Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
-Link: https://lore.kernel.org/r/iwlwifi.20210409123755.b1e5fbab0d8c.I3eb6076cb0714ec6aec6b8f9dee613ce4a05d825@changeid
-Signed-off-by: Johannes Berg <johannes.berg at intel.com>
----
-
---- a/mt7915/init.c
-+++ b/mt7915/init.c
-@@ -646,8 +646,8 @@ mt7915_set_stream_he_txbf_caps(struct ie
- 	    IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_MASK;
- 	elem->phy_cap_info[5] &= ~c;
- 
--	c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
--	    IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB;
-+	c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
-+	    IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB;
- 	elem->phy_cap_info[6] &= ~c;
- 
- 	elem->phy_cap_info[7] &= ~IEEE80211_HE_PHY_CAP7_MAX_NC_MASK;
-@@ -687,8 +687,8 @@ mt7915_set_stream_he_txbf_caps(struct ie
- 	c = (nss - 1) | (max_t(int, le16_to_cpu(mcs->tx_mcs_160), 1) << 3);
- 	elem->phy_cap_info[5] |= c;
- 
--	c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
--	    IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB;
-+	c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
-+	    IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB;
- 	elem->phy_cap_info[6] |= c;
- }
- 
-@@ -816,7 +816,7 @@ mt7915_init_he_caps(struct mt7915_phy *p
- 				IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE |
- 				IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT;
- 			he_cap_elem->phy_cap_info[7] |=
--				IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
-+				IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP |
- 				IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI;
- 			he_cap_elem->phy_cap_info[8] |=
- 				IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G |
---- a/mt7915/mcu.c
-+++ b/mt7915/mcu.c
-@@ -1842,9 +1842,9 @@ mt7915_mcu_sta_bfer_he(struct ieee80211_
- 
- 	bf->tx_mode = MT_PHY_TYPE_HE_SU;
- 	mt7915_mcu_sta_sounding_rate(bf);
--	bf->trigger_su = HE_PHY(CAP6_TRIG_SU_BEAMFORMER_FB,
-+	bf->trigger_su = HE_PHY(CAP6_TRIG_SU_BEAMFORMING_FB,
- 				pe->phy_cap_info[6]);
--	bf->trigger_mu = HE_PHY(CAP6_TRIG_MU_BEAMFORMER_FB,
-+	bf->trigger_mu = HE_PHY(CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB,
- 				pe->phy_cap_info[6]);
- 	bfer_nr = HE_PHY(CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK,
- 			 ve->phy_cap_info[5]);
---- a/mt7921/main.c
-+++ b/mt7921/main.c
-@@ -116,7 +116,7 @@ mt7921_init_he_caps(struct mt7921_phy *p
- 				IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE |
- 				IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT;
- 			he_cap_elem->phy_cap_info[7] |=
--				IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
-+				IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP |
- 				IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI;
- 			he_cap_elem->phy_cap_info[8] |=
- 				IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G |
diff --git a/package/kernel/mt76/patches/102-wireless-align-HE-capabilities-A-MPDU-Length-Exponen.patch b/package/kernel/mt76/patches/102-wireless-align-HE-capabilities-A-MPDU-Length-Exponen.patch
deleted file mode 100644
index b86f6fbb83..0000000000
--- a/package/kernel/mt76/patches/102-wireless-align-HE-capabilities-A-MPDU-Length-Exponen.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Johannes Berg <johannes.berg at intel.com>
-Date: Fri, 9 Apr 2021 12:40:20 +0300
-Subject: [PATCH] wireless: align HE capabilities A-MPDU Length Exponent
- Extension
-
-The A-MPDU length exponent extension is defined differently in
-802.11ax D6.1, align with that.
-
-Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
-Link: https://lore.kernel.org/r/iwlwifi.20210409123755.c2a257d3e2df.I3455245d388c52c61dace7e7958dbed7e807cfb6@changeid
-Signed-off-by: Johannes Berg <johannes.berg at intel.com>
----
-
---- a/mt7915/init.c
-+++ b/mt7915/init.c
-@@ -759,7 +759,7 @@ mt7915_init_he_caps(struct mt7915_phy *p
- 			IEEE80211_HE_MAC_CAP0_HTC_HE;
- 		he_cap_elem->mac_cap_info[3] =
- 			IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
--			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED;
-+			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3;
- 		he_cap_elem->mac_cap_info[4] =
- 			IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU;
- 
---- a/mt7921/main.c
-+++ b/mt7921/main.c
-@@ -65,7 +65,7 @@ mt7921_init_he_caps(struct mt7921_phy *p
- 			IEEE80211_HE_MAC_CAP0_HTC_HE;
- 		he_cap_elem->mac_cap_info[3] =
- 			IEEE80211_HE_MAC_CAP3_OMI_CONTROL |
--			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED;
-+			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3;
- 		he_cap_elem->mac_cap_info[4] =
- 			IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU;
- 



More information about the lede-commits mailing list