mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-10 15:49:01 -04:00
net: airoha: enable RX_DONE interrupt for RX queue 31
RX queue 31 has always been allocated and filled by airoha_qdma_init_rx()
since RX_DONE_INT_MASK spans queues 0-31, but none of the RX_IRQ*
_BANK_PIN_MASK values covered BIT(31). As a consequence the RX_DONE
interrupt for queue 31 was never enabled, airoha_qdma_rx_process() never
ran on that queue and its buffers were never reaped.
Route RX queue 31's RX_DONE interrupt to IRQ bank 1 so that the queue
is drained and its buffers returned to the page pool.
Fixes: f252493e18 ("net: airoha: Enable multiple IRQ lines support in airoha_eth driver.")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260830-airoha-rxdone-rxq31-v1-1-830a91503f2f@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
2f38e26a57
commit
7db28abbea
@@ -538,7 +538,7 @@ struct airoha_wdma_info {
|
||||
|
||||
/* RX queue to IRQ mapping: BIT(q) in IRQ(n) */
|
||||
#define RX_IRQ0_BANK_PIN_MASK 0x839f
|
||||
#define RX_IRQ1_BANK_PIN_MASK 0x7fe00000
|
||||
#define RX_IRQ1_BANK_PIN_MASK 0xffe00000
|
||||
#define RX_IRQ2_BANK_PIN_MASK 0x20
|
||||
#define RX_IRQ3_BANK_PIN_MASK 0x40
|
||||
#define RX_IRQ_BANK_PIN_MASK(_n) \
|
||||
|
||||
Reference in New Issue
Block a user