mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: introduce rxwi and rx token utility routines
This is a preliminary patch to introduce WED RX support for mt7915. Tested-by: Daniel Golle <[email protected]> Co-developed-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Sujuan Chen <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
3b8eed9c38
commit
417cca39ba
@@ -751,6 +751,23 @@ int mt76_token_consume(struct mt76_dev *dev, struct mt76_txwi_cache **ptxwi)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76_token_consume);
|
||||
|
||||
int mt76_rx_token_consume(struct mt76_dev *dev, void *ptr,
|
||||
struct mt76_txwi_cache *t, dma_addr_t phys)
|
||||
{
|
||||
int token;
|
||||
|
||||
spin_lock_bh(&dev->rx_token_lock);
|
||||
token = idr_alloc(&dev->rx_token, t, 0, dev->rx_token_size,
|
||||
GFP_ATOMIC);
|
||||
spin_unlock_bh(&dev->rx_token_lock);
|
||||
|
||||
t->ptr = ptr;
|
||||
t->dma_addr = phys;
|
||||
|
||||
return token;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76_rx_token_consume);
|
||||
|
||||
struct mt76_txwi_cache *
|
||||
mt76_token_release(struct mt76_dev *dev, int token, bool *wake)
|
||||
{
|
||||
@@ -779,3 +796,16 @@ mt76_token_release(struct mt76_dev *dev, int token, bool *wake)
|
||||
return txwi;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76_token_release);
|
||||
|
||||
struct mt76_txwi_cache *
|
||||
mt76_rx_token_release(struct mt76_dev *dev, int token)
|
||||
{
|
||||
struct mt76_txwi_cache *t;
|
||||
|
||||
spin_lock_bh(&dev->rx_token_lock);
|
||||
t = idr_remove(&dev->rx_token, token);
|
||||
spin_unlock_bh(&dev->rx_token_lock);
|
||||
|
||||
return t;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76_rx_token_release);
|
||||
|
||||
Reference in New Issue
Block a user