From 0b9bb06a36914d78dea7d798233d74194bcd1947 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 28 Jul 2011 10:33:27 +0200 Subject: 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 --- drivers/net/fec_imx.c | 22 +++++++++------------- 1 file 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); -- cgit v1.2.3