diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-07-28 10:33:27 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-07-28 12:07:39 +0200 |
commit | 0b9bb06a36914d78dea7d798233d74194bcd1947 (patch) | |
tree | 4b668389062e7f5389b4f2370d40e736c3103123 /drivers/net | |
parent | 7079d3359713aec00ee38a569a241eacbf2178ae (diff) | |
download | barebox-0b9bb06a36914d78dea7d798233d74194bcd1947.tar.gz barebox-0b9bb06a36914d78dea7d798233d74194bcd1947.tar.xz |
net i.MX fec: remove unnecessary alignment
dma_alloc_coherent returns sufficiently aligned memory. While
at it, remove some unnecessary casts.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fec_imx.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c index 552d2814d9..6886ccc6c9 100644 --- a/drivers/net/fec_imx.c +++ b/drivers/net/fec_imx.c @@ -601,7 +601,7 @@ static int fec_probe(struct device_d *dev) struct fec_platform_data *pdata = (struct fec_platform_data *)dev->platform_data; struct eth_device *edev; struct fec_priv *fec; - uint32_t base; + void *base; #ifdef CONFIG_ARCH_IMX27 PCCR0 |= PCCR0_FEC_EN; #endif @@ -629,18 +629,14 @@ static int fec_probe(struct device_d *dev) * reserve memory for both buffer descriptor chains at once * Datasheet forces the startaddress of each chain is 16 byte aligned */ - base = (uint32_t)dma_alloc_coherent((2 + FEC_RBD_NUM) * - sizeof(struct buffer_descriptor) + 2 * DB_ALIGNMENT); - base += (DB_ALIGNMENT - 1); - base &= ~(DB_ALIGNMENT - 1); - fec->rbd_base = (struct buffer_descriptor __force __iomem *)base; - base += FEC_RBD_NUM * sizeof (struct buffer_descriptor) + - (DB_ALIGNMENT - 1); - base &= ~(DB_ALIGNMENT - 1); - fec->tbd_base = (struct buffer_descriptor __force __iomem *)base; - - writel((uint32_t)virt_to_phys(fec->tbd_base), fec->regs + FEC_ETDSR); - writel((uint32_t)virt_to_phys(fec->rbd_base), fec->regs + FEC_ERDSR); + base = dma_alloc_coherent((2 + FEC_RBD_NUM) * + sizeof(struct buffer_descriptor)); + fec->rbd_base = base; + base += FEC_RBD_NUM * sizeof(struct buffer_descriptor); + fec->tbd_base = base; + + writel(virt_to_phys(fec->tbd_base), fec->regs + FEC_ETDSR); + writel(virt_to_phys(fec->rbd_base), fec->regs + FEC_ERDSR); fec_alloc_receive_packets(fec, FEC_RBD_NUM, FEC_MAX_PKT_SIZE); |