mbox series

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

Message ID cover.1618763000.git.lorenzo@kernel.org
Headers show
Series mt76: improve runtime-pm support | expand

Message

Lorenzo Bianconi April 18, 2021, 4:45 p.m. UTC
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(-)