On 2019-02-16 18:47, [email protected] wrote:
> From: Lorenzo Bianconi <[email protected]>
> 
> Move queue id dependency in driver specific tx queue initialization code
> since new chipsets rely on a different tx queue enumeration scheme.
> Add the possibility to specify qid in mt76_tx routine
I've thought about this patch set some more, and I think we should take
a different approach.
If we simply map everything to the BE queue for MT7615, this breaks
per-AC scheduling of intermediate tx queues. Because outstanding packet
batches are currently tracked as part of the hardware queue, we can't
track them separately per AC in that case.

I would suggest the following approach instead.
- add a pointer to struct mt76_queue to make it possible to set a parent
queue
- add a queue identifier to struct mt76_queue_entry
- initialize only QID_AC_BE as a full hardware queue
- point all other data queues to QID_AC_BE
- use swq and swq_queued from the skb queue, all other fields (including
the lock) from the parent queue

Does that make sense?

- Felix

Reply via email to