]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/armada100_fec.c
Merge branch 'master' of git://git.denx.de/u-boot
[u-boot] / drivers / net / armada100_fec.c
index 52be3a7195d00bbe8d2f356c7abf8405524abaf4..ed7cf2032485839922d43efabfc781ffed8807df 100644 (file)
@@ -558,15 +558,14 @@ static void armdfec_halt(struct eth_device *dev)
        clrbits_le32(&regs->pconf, PCR_EN);
 }
 
-static int armdfec_send(struct eth_device *dev, volatile void *dataptr,
-                   int datasize)
+static int armdfec_send(struct eth_device *dev, void *dataptr, int datasize)
 {
        struct armdfec_device *darmdfec = to_darmdfec(dev);
        struct armdfec_reg *regs = darmdfec->regs;
        struct tx_desc *p_txdesc = darmdfec->p_txdesc;
        void *p = (void *)dataptr;
        int retry = PHY_WAIT_ITERATIONS * PHY_WAIT_MICRO_SECONDS;
-       u32 cmd_sts;
+       u32 cmd_sts, temp;
 
        /* Copy buffer if it's misaligned */
        if ((u32)dataptr & 0x07) {
@@ -587,7 +586,8 @@ static int armdfec_send(struct eth_device *dev, volatile void *dataptr,
        p_txdesc->byte_cnt = datasize;
 
        /* Apply send command using high priority TX queue */
-       writel((u32)p_txdesc, &regs->txcdp[TXQ]);
+       temp = (u32)&regs->txcdp[TXQ];
+       writel((u32)p_txdesc, temp);
        writel(SDMA_CMD_TXDL | SDMA_CMD_TXDH | SDMA_CMD_ERD, &regs->sdma_cmd);
 
        /*