Lines Matching full:pm

6 int mt76_connac_pm_wake(struct mt76_phy *phy, struct mt76_connac_pm *pm)  in mt76_connac_pm_wake()  argument
10 if (!pm->enable) in mt76_connac_pm_wake()
16 cancel_delayed_work_sync(&pm->ps_work); in mt76_connac_pm_wake()
20 if (pm->suspended) in mt76_connac_pm_wake()
23 queue_work(dev->wq, &pm->wake_work); in mt76_connac_pm_wake()
24 if (!wait_event_timeout(pm->wait, in mt76_connac_pm_wake()
36 struct mt76_connac_pm *pm) in mt76_connac_power_save_sched() argument
43 if (!pm->enable) in mt76_connac_power_save_sched()
46 if (pm->suspended) in mt76_connac_power_save_sched()
49 pm->last_activity = jiffies; in mt76_connac_power_save_sched()
53 queue_delayed_work(dev->wq, &pm->ps_work, pm->idle_timeout); in mt76_connac_power_save_sched()
58 void mt76_connac_free_pending_tx_skbs(struct mt76_connac_pm *pm, in mt76_connac_free_pending_tx_skbs() argument
63 spin_lock_bh(&pm->txq_lock); in mt76_connac_free_pending_tx_skbs()
65 if (wcid && pm->tx_q[i].wcid != wcid) in mt76_connac_free_pending_tx_skbs()
68 dev_kfree_skb(pm->tx_q[i].skb); in mt76_connac_free_pending_tx_skbs()
69 pm->tx_q[i].skb = NULL; in mt76_connac_free_pending_tx_skbs()
71 spin_unlock_bh(&pm->txq_lock); in mt76_connac_free_pending_tx_skbs()
76 struct mt76_connac_pm *pm, in mt76_connac_pm_queue_skb() argument
83 spin_lock_bh(&pm->txq_lock); in mt76_connac_pm_queue_skb()
84 if (!pm->tx_q[qid].skb) { in mt76_connac_pm_queue_skb()
86 pm->tx_q[qid].wcid = wcid; in mt76_connac_pm_queue_skb()
87 pm->tx_q[qid].skb = skb; in mt76_connac_pm_queue_skb()
88 queue_work(phy->dev->wq, &pm->wake_work); in mt76_connac_pm_queue_skb()
92 spin_unlock_bh(&pm->txq_lock); in mt76_connac_pm_queue_skb()
97 struct mt76_connac_pm *pm) in mt76_connac_pm_dequeue_skbs() argument
101 spin_lock_bh(&pm->txq_lock); in mt76_connac_pm_dequeue_skbs()
103 struct mt76_wcid *wcid = pm->tx_q[i].wcid; in mt76_connac_pm_dequeue_skbs()
106 if (!pm->tx_q[i].skb) in mt76_connac_pm_dequeue_skbs()
113 mt76_tx(phy, sta, wcid, pm->tx_q[i].skb); in mt76_connac_pm_dequeue_skbs()
114 pm->tx_q[i].skb = NULL; in mt76_connac_pm_dequeue_skbs()
116 spin_unlock_bh(&pm->txq_lock); in mt76_connac_pm_dequeue_skbs()