summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2025-01-03 15:17:02 +0300
committerPaolo Abeni <pabeni@redhat.com>2025-01-07 14:32:50 +0300
commit5f795590380476f1c9b7ed0ac945c9b0269dc23a (patch)
treebc4a6e7287362fda06cc8918fb06fced9e05fa3c
parent912d6f6697251b0024e56ed24b7873b4800822e7 (diff)
downloadlinux-5f795590380476f1c9b7ed0ac945c9b0269dc23a.tar.xz
net: airoha: Enable Tx drop capability for each Tx DMA ring
This is a preliminary patch in order to enable hw Qdisc offloading. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r--drivers/net/ethernet/mediatek/airoha_eth.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mediatek/airoha_eth.c b/drivers/net/ethernet/mediatek/airoha_eth.c
index d8bfc21a5b19..59e889cf08e4 100644
--- a/drivers/net/ethernet/mediatek/airoha_eth.c
+++ b/drivers/net/ethernet/mediatek/airoha_eth.c
@@ -1789,6 +1789,10 @@ static int airoha_qdma_init_tx_queue(struct airoha_queue *q,
WRITE_ONCE(q->desc[i].ctrl, cpu_to_le32(val));
}
+ /* xmit ring drop default setting */
+ airoha_qdma_set(qdma, REG_TX_RING_BLOCKING(qid),
+ TX_RING_IRQ_BLOCKING_TX_DROP_EN_MASK);
+
airoha_qdma_wr(qdma, REG_TX_RING_BASE(qid), dma_addr);
airoha_qdma_rmw(qdma, REG_TX_CPU_IDX(qid), TX_RING_CPU_IDX_MASK,
FIELD_PREP(TX_RING_CPU_IDX_MASK, q->head));