Skip to content

mt76: improve runtime-pm support

Lorenzo Bianconi linux-wireless 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest19 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/19mt76: mt7921: fix a race between mt7921_mcu_drv_pmctrl and mt7921_mcu_fw_pmctrldrivers/net/wireless/mediatek/mt76/mt76_connac.h drivers/net/wireless/mediatek/mt76/mt7921/init.c drivers/net/wireless/mediatek/mt76/mt7921/mcu.c+26 -100 replies
2/19mt76: mt7663: fix a race between mt7615_mcu_drv_pmctrl and mt7615_mcu_fw_pmctrldrivers/net/wireless/mediatek/mt76/mt7615/init.c drivers/net/wireless/mediatek/mt76/mt7615/mcu.c+15 -60 replies
3/19mt76: connac: introduce wake counter for fw_pmctrl synchronizationdrivers/net/wireless/mediatek/mt76/mt76_connac.h+31 -00 replies
4/19mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx pathdrivers/net/wireless/mediatek/mt76/mt7921/init.c drivers/net/wireless/mediatek/mt76/mt7921/main.c drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h+13 -140 replies
5/19mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx pathdrivers/net/wireless/mediatek/mt76/mt76.h drivers/net/wireless/mediatek/mt76/mt7615/init.c drivers/net/wireless/mediatek/mt76/mt7615/main.c +2 more+25 -180 replies
6/19mt76: dma: add the capability to define a custom rx napi poll routinedrivers/net/wireless/mediatek/mt76/dma.c drivers/net/wireless/mediatek/mt76/dma.h drivers/net/wireless/mediatek/mt76/mt76.h +5 more+14 -120 replies
7/19mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napidrivers/net/wireless/mediatek/mt76/mt7921/dma.c drivers/net/wireless/mediatek/mt76/mt7921/mac.c drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h+37 -80 replies
8/19mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napidrivers/net/wireless/mediatek/mt76/mt7615/dma.c drivers/net/wireless/mediatek/mt76/mt7615/mac.c+34 -60 replies
9/19mt76: connac: unschedule ps_work in mt76_connac_pm_wakedrivers/net/wireless/mediatek/mt76/mt7615/mcu.c drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c drivers/net/wireless/mediatek/mt76/mt7921/mcu.c+1 -20 replies
10/19mt76: connac: check wake refcount in mcu_fw_pmctrldrivers/net/wireless/mediatek/mt76/mt7615/mcu.c drivers/net/wireless/mediatek/mt76/mt76_connac.h drivers/net/wireless/mediatek/mt76/mt7921/mcu.c+14 -20 replies
11/19mt76: connac: remove MT76_STATE_PM in mac_tx_freedrivers/net/wireless/mediatek/mt76/mt7615/mac.c drivers/net/wireless/mediatek/mt76/mt7921/mac.c+0 -100 replies
12/19mt76: mt7921: get rid of useless MT76_STATE_PM in mt7921_mac_workdrivers/net/wireless/mediatek/mt76/mt7921/mac.c+0 -50 replies
13/19mt76: connac: alaways wake the device before scanningdrivers/net/wireless/mediatek/mt76/mt7615/mac.c drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c drivers/net/wireless/mediatek/mt76/mt7921/mac.c+8 -80 replies
14/19mt76: mt7615: rely on pm refcounting in mt7615_led_set_configdrivers/net/wireless/mediatek/mt76/mt7615/pci_init.c+3 -10 replies
15/19mt76: connac: do not run mt76_txq_schedule_all directlydrivers/net/wireless/mediatek/mt76/mt7615/main.c drivers/net/wireless/mediatek/mt76/mt7921/main.c+2 -40 replies
16/19mt76: connac: use waitqueue for runtime-pmdrivers/net/wireless/mediatek/mt76/mt7615/init.c drivers/net/wireless/mediatek/mt76/mt7615/mac.c drivers/net/wireless/mediatek/mt76/mt76_connac.h +3 more+9 -90 replies
17/19mt76: remove MT76_STATE_PM in tx pathdrivers/net/wireless/mediatek/mt76/tx.c+2 -40 replies
18/19mt76: mt7921: add awake and doze time accountingdrivers/net/wireless/mediatek/mt76/mt76_connac.h drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c drivers/net/wireless/mediatek/mt76/mt7921/init.c +1 more+55 -70 replies
19/19mt76: mt7921: enable sw interruptsdrivers/net/wireless/mediatek/mt76/mt7921/dma.c drivers/net/wireless/mediatek/mt76/mt7921/mac.c drivers/net/wireless/mediatek/mt76/mt7921/pci.c +1 more+25 -70 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/19] mt76: improve runtime-pm support

Rework runtime-pm support introduce pm refcounting in order to fix some leftover races between fw_own and tx/rx path. Introduce awake/doze time accounting.
This is a preliminary series to enable 'deep sleep' support in mt7921 firmware.

Lorenzo Bianconi (19):
mt76: mt7921: fix a race between mt7921_mcu_drv_pmctrl and

    mt7921_mcu_fw_pmctrl
  mt76: mt7663: fix a race between mt7615_mcu_drv_pmctrl and
    mt7615_mcu_fw_pmctrl

mt76: connac: introduce wake counter for fw_pmctrl synchronization
mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx
path
mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx
path
mt76: dma: add the capability to define a custom rx napi poll routine
mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx
napi
mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx
napi
mt76: connac: unschedule ps_work in mt76_connac_pm_wake
mt76: connac: check wake refcount in mcu_fw_pmctrl
mt76: connac: remove MT76_STATE_PM in mac_tx_free
mt76: mt7921: get rid of useless MT76_STATE_PM in mt7921_mac_work
mt76: connac: alaways wake the device before scanning
mt76: mt7615: rely on pm refcounting in mt7615_led_set_config
mt76: connac: do not run mt76_txq_schedule_all directly
mt76: connac: use waitqueue for runtime-pm
mt76: remove MT76_STATE_PM in tx path
mt76: mt7921: add awake and doze time accounting
mt76: mt7921: enable sw interrupts

 drivers/net/wireless/mediatek/mt76/dma.c      | 10 ++--
 drivers/net/wireless/mediatek/mt76/dma.h      |  1 +
 drivers/net/wireless/mediatek/mt76/mt76.h     |  6 ++-
 .../net/wireless/mediatek/mt76/mt7603/dma.c   |  2 +-
 .../net/wireless/mediatek/mt76/mt7615/dma.c   | 30 +++++++++--
 .../net/wireless/mediatek/mt76/mt7615/init.c  |  5 +-
 .../net/wireless/mediatek/mt76/mt7615/mac.c   | 20 ++++---
 .../net/wireless/mediatek/mt76/mt7615/main.c  | 30 +++++------
 .../net/wireless/mediatek/mt76/mt7615/mcu.c   | 23 +++++---
 .../wireless/mediatek/mt76/mt7615/mt7615.h    |  1 +
 .../wireless/mediatek/mt76/mt7615/pci_init.c  |  4 +-
 .../net/wireless/mediatek/mt76/mt76_connac.h  | 52 ++++++++++++++++++-
 .../wireless/mediatek/mt76/mt76_connac_mac.c  | 17 ++----
 .../net/wireless/mediatek/mt76/mt76x02_mmio.c |  2 +-
 .../net/wireless/mediatek/mt76/mt7915/dma.c   |  2 +-
 .../wireless/mediatek/mt76/mt7921/debugfs.c   | 32 +++++++++++-
 .../net/wireless/mediatek/mt76/mt7921/dma.c   | 34 ++++++++++--
 .../net/wireless/mediatek/mt76/mt7921/init.c  | 10 +++-
 .../net/wireless/mediatek/mt76/mt7921/mac.c   | 29 +++++------
 .../net/wireless/mediatek/mt76/mt7921/main.c  | 26 ++++------
 .../net/wireless/mediatek/mt76/mt7921/mcu.c   | 46 +++++++++++-----
 .../wireless/mediatek/mt76/mt7921/mt7921.h    |  3 ++
 .../net/wireless/mediatek/mt76/mt7921/pci.c   | 13 +++++
 .../net/wireless/mediatek/mt76/mt7921/regs.h  | 17 +++---
 drivers/net/wireless/mediatek/mt76/tx.c       | 18 ++++---
 25 files changed, 307 insertions(+), 126 deletions(-)
Signature · 1 line
2.30.2