Skip to content

Commit

Permalink
bcm63xx_enet: use platform data for dma channel numbers
Browse files Browse the repository at this point in the history
To reduce the reliance on device ids, pass the dma channel numbers to
the enet devices as platform data.

Signed-off-by: Jonas Gorski <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
KanjiMonster authored and davem330 committed Dec 19, 2017
1 parent 7555001 commit 1942e48
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 9 deletions.
8 changes: 8 additions & 0 deletions arch/mips/bcm63xx/dev-enet.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,14 @@ int __init bcm63xx_enet_register(int unit,
dpd->dma_chan_width = ENETDMA_CHAN_WIDTH;
}

if (unit == 0) {
dpd->rx_chan = 0;
dpd->tx_chan = 1;
} else {
dpd->rx_chan = 2;
dpd->tx_chan = 3;
}

ret = platform_device_register(pdev);
if (ret)
return ret;
Expand Down
4 changes: 4 additions & 0 deletions arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ struct bcm63xx_enet_platform_data {

/* DMA descriptor shift */
unsigned int dma_desc_shift;

/* dma channel ids */
int rx_chan;
int tx_chan;
};

/*
Expand Down
11 changes: 2 additions & 9 deletions drivers/net/ethernet/broadcom/bcm63xx_enet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1752,15 +1752,6 @@ static int bcm_enet_probe(struct platform_device *pdev)
priv->irq_tx = res_irq_tx->start;
priv->mac_id = pdev->id;

/* get rx & tx dma channel id for this mac */
if (priv->mac_id == 0) {
priv->rx_chan = 0;
priv->tx_chan = 1;
} else {
priv->rx_chan = 2;
priv->tx_chan = 3;
}

priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
if (IS_ERR(priv->mac_clk)) {
ret = PTR_ERR(priv->mac_clk);
Expand Down Expand Up @@ -1792,6 +1783,8 @@ static int bcm_enet_probe(struct platform_device *pdev)
priv->dma_chan_width = pd->dma_chan_width;
priv->dma_has_sram = pd->dma_has_sram;
priv->dma_desc_shift = pd->dma_desc_shift;
priv->rx_chan = pd->rx_chan;
priv->tx_chan = pd->tx_chan;
}

if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {
Expand Down

0 comments on commit 1942e48

Please sign in to comment.