bcm63xx_enet: use platform data for dma channel numbers
To reduce the reliance on device ids, pass the dma channel numbers to the enet devices as platform data. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7555001546
commit
1942e48225
@ -265,6 +265,14 @@ int __init bcm63xx_enet_register(int unit,
|
|||||||
dpd->dma_chan_width = ENETDMA_CHAN_WIDTH;
|
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);
|
ret = platform_device_register(pdev);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -55,6 +55,10 @@ struct bcm63xx_enet_platform_data {
|
|||||||
|
|
||||||
/* DMA descriptor shift */
|
/* DMA descriptor shift */
|
||||||
unsigned int dma_desc_shift;
|
unsigned int dma_desc_shift;
|
||||||
|
|
||||||
|
/* dma channel ids */
|
||||||
|
int rx_chan;
|
||||||
|
int tx_chan;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1752,15 +1752,6 @@ static int bcm_enet_probe(struct platform_device *pdev)
|
|||||||
priv->irq_tx = res_irq_tx->start;
|
priv->irq_tx = res_irq_tx->start;
|
||||||
priv->mac_id = pdev->id;
|
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");
|
priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
|
||||||
if (IS_ERR(priv->mac_clk)) {
|
if (IS_ERR(priv->mac_clk)) {
|
||||||
ret = PTR_ERR(priv->mac_clk);
|
ret = PTR_ERR(priv->mac_clk);
|
||||||
@ -1792,6 +1783,8 @@ static int bcm_enet_probe(struct platform_device *pdev)
|
|||||||
priv->dma_chan_width = pd->dma_chan_width;
|
priv->dma_chan_width = pd->dma_chan_width;
|
||||||
priv->dma_has_sram = pd->dma_has_sram;
|
priv->dma_has_sram = pd->dma_has_sram;
|
||||||
priv->dma_desc_shift = pd->dma_desc_shift;
|
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) {
|
if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user