From: Shaohui Xie <shaohui....@freescale.com> Use mb() instead of sync() to be compatible for both ARM and PowerPC.
Signed-off-by: Shaohui Xie <shaohui....@freescale.com> Signed-off-by: Mingkai Hu <mingkai...@freescale.com> Signed-off-by: Gong Qianyu <qianyu.g...@freescale.com> --- V7: - No change. V6: - No change. V5: - No change. V4: - No change. V3: - New patch. Separated from patch 'net: Move some header files to include/' drivers/net/fm/eth.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/fm/eth.c b/drivers/net/fm/eth.c index 368d554..ad02c66 100644 --- a/drivers/net/fm/eth.c +++ b/drivers/net/fm/eth.c @@ -371,7 +371,7 @@ static void fmc_tx_port_graceful_stop_enable(struct fm_eth *fm_eth) pram = fm_eth->tx_pram; /* graceful stop transmission of frames */ setbits_be32(&pram->mode, PRAM_MODE_GRACEFUL_STOP); - sync(); + mb(); } static void fmc_tx_port_graceful_stop_disable(struct fm_eth *fm_eth) @@ -381,7 +381,7 @@ static void fmc_tx_port_graceful_stop_disable(struct fm_eth *fm_eth) pram = fm_eth->tx_pram; /* re-enable transmission of frames */ clrbits_be32(&pram->mode, PRAM_MODE_GRACEFUL_STOP); - sync(); + mb(); } static int fm_eth_open(struct eth_device *dev, bd_t *bd) @@ -483,9 +483,9 @@ static int fm_eth_send(struct eth_device *dev, void *buf, int len) muram_writew(&txbd->buf_ptr_hi, 0); out_be32(&txbd->buf_ptr_lo, (u32)buf); muram_writew(&txbd->len, len); - sync(); + mb(); muram_writew(&txbd->status, TxBD_READY | TxBD_LAST); - sync(); + mb(); /* update TxQD, let RISC to send the packet */ offset_in = muram_readw(&pram->txqd.offset_in); @@ -493,7 +493,7 @@ static int fm_eth_send(struct eth_device *dev, void *buf, int len) if (offset_in >= muram_readw(&pram->txqd.bd_ring_size)) offset_in = 0; muram_writew(&pram->txqd.offset_in, offset_in); - sync(); + mb(); /* wait for buffer to be transmitted */ for (i = 0; muram_readw(&txbd->status) & TxBD_READY; i++) { @@ -544,7 +544,7 @@ static int fm_eth_recv(struct eth_device *dev) /* clear the RxBDs */ muram_writew(&rxbd->status, RxBD_EMPTY); muram_writew(&rxbd->len, 0); - sync(); + mb(); /* advance RxBD */ rxbd++; @@ -560,7 +560,7 @@ static int fm_eth_recv(struct eth_device *dev) if (offset_out >= muram_readw(&pram->rxqd.bd_ring_size)) offset_out = 0; muram_writew(&pram->rxqd.offset_out, offset_out); - sync(); + mb(); } fm_eth->cur_rxbd = (void *)rxbd; -- 2.1.0.27.g96db324 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot