[U-Boot] [Patch V7 04/18] net/fm/eth: Use mb() to be compatible for both ARM and PowerPC

Scott Wood scottwood at freescale.com
Fri Oct 23 01:10:52 CEST 2015


On Thu, 2015-10-22 at 18:46 +0800, Gong Qianyu wrote:
> From: Shaohui Xie <Shaohui.Xie at freescale.com>
> 
> Use mb() instead of sync() to be compatible for both ARM and PowerPC.
> 
> Signed-off-by: Shaohui Xie <Shaohui.Xie at freescale.com>
> Signed-off-by: Mingkai Hu <Mingkai.Hu at freescale.com>
> Signed-off-by: Gong Qianyu <Qianyu.Gong at 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.

-Scott



More information about the U-Boot mailing list