wifi: mt76: introduce mt76_queue_is_wed_tx_free utility routine
This is a preliminary patch to introduce WED support for mt7996 Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
ac4659856c
commit
132d74d31e
@ -724,7 +724,7 @@ mt76_dma_alloc_queue(struct mt76_dev *dev, struct mt76_queue *q,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (q->flags != MT_WED_Q_TXFREE)
|
||||
if (!mt76_queue_is_wed_tx_free(q))
|
||||
mt76_dma_queue_reset(dev, q);
|
||||
|
||||
return 0;
|
||||
@ -775,7 +775,7 @@ mt76_dma_rx_reset(struct mt76_dev *dev, enum mt76_rxq_id qid)
|
||||
|
||||
/* reset WED rx queues */
|
||||
mt76_dma_wed_setup(dev, q, true);
|
||||
if (q->flags != MT_WED_Q_TXFREE) {
|
||||
if (!mt76_queue_is_wed_tx_free(q)) {
|
||||
mt76_dma_sync_idx(dev, q);
|
||||
mt76_dma_rx_fill(dev, q, false);
|
||||
}
|
||||
@ -818,7 +818,7 @@ mt76_dma_rx_process(struct mt76_dev *dev, struct mt76_queue *q, int budget)
|
||||
bool more;
|
||||
|
||||
if (IS_ENABLED(CONFIG_NET_MEDIATEK_SOC_WED) &&
|
||||
q->flags == MT_WED_Q_TXFREE) {
|
||||
mt76_queue_is_wed_tx_free(q)) {
|
||||
dma_idx = Q_READ(dev, q, dma_idx);
|
||||
check_ddone = true;
|
||||
}
|
||||
|
@ -1562,6 +1562,12 @@ s8 mt76_get_rate_power_limits(struct mt76_phy *phy,
|
||||
struct mt76_power_limits *dest,
|
||||
s8 target_power);
|
||||
|
||||
static inline bool mt76_queue_is_wed_tx_free(struct mt76_queue *q)
|
||||
{
|
||||
return (q->flags & MT_QFLAG_WED) &&
|
||||
FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_Q_TXFREE;
|
||||
}
|
||||
|
||||
static inline bool mt76_queue_is_wed_rx(struct mt76_queue *q)
|
||||
{
|
||||
return (q->flags & MT_QFLAG_WED) &&
|
||||
|
@ -643,7 +643,7 @@ int mt7915_dma_reset(struct mt7915_dev *dev, bool force)
|
||||
mt76_queue_reset(dev, dev->mt76.q_mcu[i]);
|
||||
|
||||
mt76_for_each_q_rx(&dev->mt76, i) {
|
||||
if (dev->mt76.q_rx[i].flags == MT_WED_Q_TXFREE)
|
||||
if (mt76_queue_is_wed_tx_free(&dev->mt76.q_rx[i]))
|
||||
continue;
|
||||
|
||||
mt76_queue_reset(dev, &dev->mt76.q_rx[i]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user