summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-07-28 10:33:27 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-07-28 12:07:39 +0200
commit0b9bb06a36914d78dea7d798233d74194bcd1947 (patch)
tree4b668389062e7f5389b4f2370d40e736c3103123 /drivers/net
parent7079d3359713aec00ee38a569a241eacbf2178ae (diff)
downloadbarebox-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.c22
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);