> From: Deren Wu <deren.wu@xxxxxxxxxxxx> > > wakeup chip every 250ms may cause huge power consumption > > try to update statistic counter only if in active status only, > and it would lead fewer power cost > > Signed-off-by: Deren Wu <deren.wu@xxxxxxxxxxxx> > --- > drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > Hi Deren, in order to be acceptable we need even patch 2/2. I guess it would be better to squash them in oreder to not break it. Regards, Lorenzo > diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c > index e29d4fdab572..212832b34674 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c > +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c > @@ -1459,13 +1459,15 @@ void mt7921_pm_power_save_work(struct work_struct *work) > { > struct mt7921_dev *dev; > unsigned long delta; > + struct mt76_phy *mphy; > > dev = (struct mt7921_dev *)container_of(work, struct mt7921_dev, > pm.ps_work.work); > + mphy = dev->phy.mt76; > > delta = dev->pm.idle_timeout; > - if (test_bit(MT76_HW_SCANNING, &dev->mphy.state) || > - test_bit(MT76_HW_SCHED_SCANNING, &dev->mphy.state)) > + if (test_bit(MT76_HW_SCANNING, &mphy->state) || > + test_bit(MT76_HW_SCHED_SCANNING, &mphy->state)) > goto out; > > if (time_is_after_jiffies(dev->pm.last_activity + delta)) { > @@ -1473,8 +1475,10 @@ void mt7921_pm_power_save_work(struct work_struct *work) > goto out; > } > > - if (!mt7921_mcu_fw_pmctrl(dev)) > + if (!mt7921_mcu_fw_pmctrl(dev)) { > + cancel_delayed_work_sync(&mphy->mac_work); > return; > + } > out: > queue_delayed_work(dev->mt76.wq, &dev->pm.ps_work, delta); > } > -- > 2.18.0 >
Attachment:
signature.asc
Description: PGP signature