From: Wolfram Sang Date: Wed, 15 Oct 2008 17:09:59 +0000 (-0600) Subject: powerpc/mpc5200: Don't touch pipelining for MPC5200B X-Git-Tag: MMI-PSA29.97-13-9~31159^2~28^2~1 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9629095761b64636356c132f0228ed780ebb97e8;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git powerpc/mpc5200: Don't touch pipelining for MPC5200B MPC5200 needs to have pipelining disabled for ATA to work. MPC5200B does not. So, for the latter, don't touch the original setting from the bootloader. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely --- diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c index 044b4e6e8743..ae7c34f37e1c 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_common.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c @@ -99,11 +99,14 @@ mpc5200_setup_xlb_arbiter(void) out_be32(&xlb->master_pri_enable, 0xff); out_be32(&xlb->master_priority, 0x11111111); - /* Disable XLB pipelining + /* + * Disable XLB pipelining * (cfr errate 292. We could do this only just before ATA PIO * transaction and re-enable it afterwards ...) + * Not needed on MPC5200B. */ - out_be32(&xlb->config, in_be32(&xlb->config) | MPC52xx_XLB_CFG_PLDIS); + if ((mfspr(SPRN_SVR) & MPC5200_SVR_MASK) == MPC5200_SVR) + out_be32(&xlb->config, in_be32(&xlb->config) | MPC52xx_XLB_CFG_PLDIS); iounmap(xlb); }