aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/amd/xgbe/xgbe-main.c
diff options
context:
space:
mode:
authorLendacky, Thomas <Thomas.Lendacky@amd.com>2014-11-04 17:06:56 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-05 21:50:12 -0500
commit9227dc5e579b6b2ef58ad0d3d0d23ddac77846ef (patch)
treecef535601eda5a1c79f6d6d96bf2b752993d72bb /drivers/net/ethernet/amd/xgbe/xgbe-main.c
parent174fd2597b0bd8c19fce6a97e8b0f753ef4ce7cb (diff)
amd-xgbe: Add support for per DMA channel interrupts
This patch provides support for interrupts that are generated by the Tx/Rx DMA channel pairs of the device. This allows for Tx and Rx processing to run across multiple processsors. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amd/xgbe/xgbe-main.c')
-rw-r--r--drivers/net/ethernet/amd/xgbe/xgbe-main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-main.c b/drivers/net/ethernet/amd/xgbe/xgbe-main.c
index e5077fd5b012..cff9902d1456 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-main.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-main.c
@@ -264,12 +264,18 @@ static int xgbe_probe(struct platform_device *pdev)
264 pdata->awcache = XGBE_DMA_SYS_AWCACHE; 264 pdata->awcache = XGBE_DMA_SYS_AWCACHE;
265 } 265 }
266 266
267 /* Check for per channel interrupt support */
268 if (of_property_read_bool(dev->of_node, XGBE_DMA_IRQS))
269 pdata->per_channel_irq = 1;
270
267 ret = platform_get_irq(pdev, 0); 271 ret = platform_get_irq(pdev, 0);
268 if (ret < 0) { 272 if (ret < 0) {
269 dev_err(dev, "platform_get_irq failed\n"); 273 dev_err(dev, "platform_get_irq 0 failed\n");
270 goto err_io; 274 goto err_io;
271 } 275 }
272 netdev->irq = ret; 276 pdata->dev_irq = ret;
277
278 netdev->irq = pdata->dev_irq;
273 netdev->base_addr = (unsigned long)pdata->xgmac_regs; 279 netdev->base_addr = (unsigned long)pdata->xgmac_regs;
274 280
275 /* Set all the function pointers */ 281 /* Set all the function pointers */