
-----Original Message----- From: Wood Scott-B07421 Sent: 2015年10月23日 7:11 To: Gong Qianyu-B52263 Cc: u-boot@lists.denx.de; Hu Mingkai-B21284; Sun York-R58495; Hou Zhiqiang-B48286; Xie Shaohui-B21989; Song Wenbin-B53747; Wood Scott- B07421; Kushwaha Prabhakar-B32579; Wang Huan-B18965 Subject: Re: [Patch V7 04/18] net/fm/eth: Use mb() to be compatible for both ARM and PowerPC
On Thu, 2015-10-22 at 18:46 +0800, Gong Qianyu wrote:
From: Shaohui Xie Shaohui.Xie@freescale.com
Use mb() instead of sync() to be compatible for both ARM and PowerPC.
Signed-off-by: Shaohui Xie Shaohui.Xie@freescale.com Signed-off-by: Mingkai Hu Mingkai.Hu@freescale.com Signed-off-by: Gong Qianyu Qianyu.Gong@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();
}
Why is it needed at all? The I/O accessors should include the necessary barriers.
The I/O accessors of powerpc does include the barrier, but it absents from ARMs'.
Thanks, Zhiqiang