mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
wifi: mt76: Differentiate between RRO data and RRO MSDU queues
This is a preliminary patch to enable WED support for MT7992 Kite chipset supported by MT7996 driver. Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Co-developed-by: Benjamin Lin <benjamin-jw.lin@mediatek.com> Signed-off-by: Benjamin Lin <benjamin-jw.lin@mediatek.com> Signed-off-by: Rex Lu <rex.lu@mediatek.com> Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://patch.msgid.link/20250909-mt7996-rro-rework-v5-3-7d66f6eb7795@kernel.org Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
2182974e9f
commit
ba9f68bb77
|
|
@ -477,7 +477,7 @@ mt76_dma_dequeue(struct mt76_dev *dev, struct mt76_queue *q, bool flush,
|
|||
if (!q->queued)
|
||||
return NULL;
|
||||
|
||||
if (mt76_queue_is_wed_rro_data(q))
|
||||
if (mt76_queue_is_wed_rro_data(q) || mt76_queue_is_wed_rro_msdu_pg(q))
|
||||
return NULL;
|
||||
|
||||
if (!mt76_queue_is_wed_rro_ind(q)) {
|
||||
|
|
|
|||
|
|
@ -1786,8 +1786,14 @@ static inline bool mt76_queue_is_wed_rro_ind(struct mt76_queue *q)
|
|||
static inline bool mt76_queue_is_wed_rro_data(struct mt76_queue *q)
|
||||
{
|
||||
return mt76_queue_is_wed_rro(q) &&
|
||||
(FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_RRO_Q_DATA ||
|
||||
FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_RRO_Q_MSDU_PG);
|
||||
FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_RRO_Q_DATA;
|
||||
}
|
||||
|
||||
static inline bool mt76_queue_is_wed_rro_msdu_pg(struct mt76_queue *q)
|
||||
{
|
||||
return mt76_queue_is_wed_rro(q) &&
|
||||
FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) ==
|
||||
MT76_WED_RRO_Q_MSDU_PG;
|
||||
}
|
||||
|
||||
static inline bool mt76_queue_is_wed_rx(struct mt76_queue *q)
|
||||
|
|
@ -1796,7 +1802,8 @@ static inline bool mt76_queue_is_wed_rx(struct mt76_queue *q)
|
|||
return false;
|
||||
|
||||
return FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_Q_RX ||
|
||||
mt76_queue_is_wed_rro_ind(q) || mt76_queue_is_wed_rro_data(q);
|
||||
mt76_queue_is_wed_rro_ind(q) || mt76_queue_is_wed_rro_data(q) ||
|
||||
mt76_queue_is_wed_rro_msdu_pg(q);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user