mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00: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 <[email protected]> Signed-off-by: Sujuan Chen <[email protected]> Co-developed-by: Benjamin Lin <[email protected]> Signed-off-by: Benjamin Lin <[email protected]> Signed-off-by: Rex Lu <[email protected]> Co-developed-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Lorenzo Bianconi <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -477,7 +477,7 @@ mt76_dma_dequeue(struct mt76_dev *dev, struct mt76_queue *q, bool flush,
|
|||||||
if (!q->queued)
|
if (!q->queued)
|
||||||
return NULL;
|
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;
|
return NULL;
|
||||||
|
|
||||||
if (!mt76_queue_is_wed_rro_ind(q)) {
|
if (!mt76_queue_is_wed_rro_ind(q)) {
|
||||||
|
|||||||
@@ -1791,8 +1791,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)
|
static inline bool mt76_queue_is_wed_rro_data(struct mt76_queue *q)
|
||||||
{
|
{
|
||||||
return mt76_queue_is_wed_rro(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_DATA;
|
||||||
FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_RRO_Q_MSDU_PG);
|
}
|
||||||
|
|
||||||
|
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)
|
static inline bool mt76_queue_is_wed_rx(struct mt76_queue *q)
|
||||||
@@ -1801,7 +1807,8 @@ static inline bool mt76_queue_is_wed_rx(struct mt76_queue *q)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
return FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_Q_RX ||
|
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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user