diff options
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/mp.c | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/arch/powerpc/cpu/mpc85xx/mp.c b/arch/powerpc/cpu/mpc85xx/mp.c index 6c0da8317..758e6d704 100644 --- a/arch/powerpc/cpu/mpc85xx/mp.c +++ b/arch/powerpc/cpu/mpc85xx/mp.c @@ -276,8 +276,13 @@ static void plat_mp_up(unsigned long bootpg)  	/* enable time base at the platform */  	out_be32(&rcpm->ctbenrl, 0); + +	/* readback to sync write */ +	in_be32(&rcpm->ctbenrl); +  	mtspr(SPRN_TBWU, 0);  	mtspr(SPRN_TBWL, 0); +  	out_be32(&rcpm->ctbenrl, (1 << nr_cpus) - 1);  #ifdef CONFIG_MPC8xxx_DISABLE_BPTR @@ -347,6 +352,10 @@ static void plat_mp_up(unsigned long bootpg)  	else  		devdisr |= MPC85xx_DEVDISR_TB0;  	out_be32(&gur->devdisr, devdisr); + +	/* readback to sync write */ +	in_be32(&gur->devdisr); +  	mtspr(SPRN_TBWU, 0);  	mtspr(SPRN_TBWL, 0); |