]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
drivers: net: ethernet: axienet: correcting the parsing of device tree for axienet
authorSaurabh Sengar <saurabh.singh@xilinx.com>
Mon, 1 May 2017 10:00:26 +0000 (15:30 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 15 Mar 2018 14:18:07 +0000 (15:18 +0100)
When TSN flags are enable it shouldn't effect AXIENET device tree parsing.
Hence added an extra is_tsn check at runtime, making parsing of both the
drivers exclusive irrespective of which flag is enabled.

Signed-off-by: Saurabh Sengar <saurabhs@xilinx.com>
Acked-by: Kedareswara rao Appana <appanad@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/net/ethernet/xilinx/xilinx_axienet_main.c

index 6397251bc6582521155a2f8d9ded9c80fbfdfa71..bfb0f58d13b3f37725682366f62970fcf781bb18 100644 (file)
@@ -2492,18 +2492,26 @@ static int axienet_dma_probe(struct platform_device *pdev,
        }
 
 #ifdef CONFIG_XILINX_TSN
-       for_each_dma_queue(lp, i) {
-               sprintf(dma_name, "dma%d_tx", i);
-               lp->dq[i]->tx_irq = platform_get_irq_byname(pdev, dma_name);
-               sprintf(dma_name, "dma%d_rx", i);
-               lp->dq[i]->rx_irq = platform_get_irq_byname(pdev, dma_name);
-               pr_info("lp->dq[%d]->tx_irq  %d\n", i, lp->dq[i]->tx_irq);
-               pr_info("lp->dq[%d]->rx_irq  %d\n", i, lp->dq[i]->rx_irq);
-       }
-#else /* This should remove when axienet idevice tree irq comply to dma name */
-       for_each_dma_queue(lp, i) {
-               lp->dq[i]->tx_irq = irq_of_parse_and_map(np, 0);
-               lp->dq[i]->rx_irq = irq_of_parse_and_map(np, 1);
+       if (lp->is_tsn) {
+               for_each_dma_queue(lp, i) {
+                       sprintf(dma_name, "dma%d_tx", i);
+                       lp->dq[i]->tx_irq = platform_get_irq_byname(pdev,
+                                                                   dma_name);
+                       sprintf(dma_name, "dma%d_rx", i);
+                       lp->dq[i]->rx_irq = platform_get_irq_byname(pdev,
+                                                                   dma_name);
+                       pr_info("lp->dq[%d]->tx_irq  %d\n", i,
+                               lp->dq[i]->tx_irq);
+                       pr_info("lp->dq[%d]->rx_irq  %d\n", i,
+                               lp->dq[i]->rx_irq);
+               }
+       } else {
+#endif /* This should remove when axienet device tree irq comply to dma name */
+               for_each_dma_queue(lp, i) {
+                       lp->dq[i]->tx_irq = irq_of_parse_and_map(np, 0);
+                       lp->dq[i]->rx_irq = irq_of_parse_and_map(np, 1);
+               }
+#ifdef CONFIG_XILINX_TSN
        }
 #endif