This series enable runtime power management support available in mt7663 offload firmware in order to put the device in a reduced power consumption state if idle for a configurable period of time. mt76 driver wakes the chipset up before tx packets, accessing register map or sending mcu messages. Changes since v1: - rely only on mt76 mutext in mt7615_acquire/release utility routines Tested-by: Sean Wang <sean.wang@xxxxxxxxxxxx> Lorenzo Bianconi (22): mt76: mt7615: avoid polling in fw_own for mt7663 mt76: move mt76 worqueue in common code mt76: mt7615: add mt7615_pm_wake utility routine mt76: mt7615: introduce mt7615_mutex_{acquire,release} utilities mt76: mt7615: wake device before accessing regmap in debugfs mt76: mt7615: wake device before configuring hw keys mt76: mt7615: introduce pm_power_save delayed work mt76: mt7615: wake device in mt7615_update_channel before access regmap mt76: mt7615: acquire driver_own before configuring device for suspend mt76: mt7615: wake device before performing freq scan mt76: mt7615: add missing lock in mt7615_regd_notifier mt76: mt7615: run mt7615_mcu_set_wmm holding mt76 mutex mt76: mt7615: run mt7615_mcu_set_roc holding mt76 mutex mt76: mt7615: wake device before pulling packets from mac80211 queues mt76: mt7615: wake device before pushing frames in mt7615_tx mt76: mt7615: run mt7615_pm_wake in mt7615_mac_sta_{add,remove} mt76: mt7615: check MT76_STATE_PM flag before accessing the device mt76: mt7615: do not request {driver,fw}_own if already granted mt76: mt7615: add runtime-pm knob in mt7615 debugfs mt76: mt7615: enable beacon hw filter for runtime-pm mt76: mt7615: add idle-timeout knob in mt7615 debugfs mt76: mt7615: improve mt7615_driver_own reliability drivers/net/wireless/mediatek/mt76/mac80211.c | 17 +- drivers/net/wireless/mediatek/mt76/mt76.h | 6 +- .../wireless/mediatek/mt76/mt7615/debugfs.c | 74 ++++- .../net/wireless/mediatek/mt76/mt7615/init.c | 9 + .../net/wireless/mediatek/mt76/mt7615/mac.c | 186 +++++++++++- .../net/wireless/mediatek/mt76/mt7615/main.c | 271 ++++++++++++++---- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 51 +++- .../wireless/mediatek/mt76/mt7615/mt7615.h | 42 +++ .../net/wireless/mediatek/mt76/mt7615/pci.c | 4 + .../wireless/mediatek/mt76/mt7615/pci_init.c | 4 + .../net/wireless/mediatek/mt76/mt7615/usb.c | 17 +- .../wireless/mediatek/mt76/mt7615/usb_mcu.c | 2 + .../net/wireless/mediatek/mt76/mt76x0/usb.c | 6 +- .../net/wireless/mediatek/mt76/mt76x2/usb.c | 7 +- drivers/net/wireless/mediatek/mt76/usb.c | 20 +- 15 files changed, 587 insertions(+), 129 deletions(-) -- 2.26.2