net: airoha: Start all qdma NAPIs in airoha_probe()
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 1 Aug 2024 14:35:09 +0000 (16:35 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 2 Aug 2024 23:31:11 +0000 (16:31 -0700)
This is a preliminary patch to support multi-QDMA controllers.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/b51cf69c94d8cbc81e0a0b35587f024d01e6d9c0.1722522582.git.lorenzo@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mediatek/airoha_eth.c

index 5286afb..13c72ab 100644 (file)
@@ -2121,9 +2121,8 @@ static void airoha_hw_cleanup(struct airoha_qdma *qdma)
        }
 }
 
-static void airoha_qdma_start_napi(struct airoha_eth *eth)
+static void airoha_qdma_start_napi(struct airoha_qdma *qdma)
 {
-       struct airoha_qdma *qdma = &eth->qdma[0];
        int i;
 
        for (i = 0; i < ARRAY_SIZE(qdma->q_tx_irq); i++)
@@ -2692,7 +2691,9 @@ static int airoha_probe(struct platform_device *pdev)
        if (err)
                goto error;
 
-       airoha_qdma_start_napi(eth);
+       for (i = 0; i < ARRAY_SIZE(eth->qdma); i++)
+               airoha_qdma_start_napi(&eth->qdma[i]);
+
        for_each_child_of_node(pdev->dev.of_node, np) {
                if (!of_device_is_compatible(np, "airoha,eth-mac"))
                        continue;