Thread (10 messages) 10 messages, 5 authors, 2013-10-17

RE: [4/4] powerpc/mpc8548: Add workaround for erratum NMG_SRIO135

From: Zhao Chenhui-B35336 <hidden>
Date: 2013-10-17 13:36:51

=0A=
OK. I will do.=0A=
=0A=
-Chenhui=0A=
=0A=
________________________________________=0A=
From: Wood Scott-B07421=0A=
Sent: Thursday, October 17, 2013 7:20=0A=
To: Zhao Chenhui-B35336=0A=
Cc: linuxppc-dev@lists.ozlabs.org=0A=
Subject: Re: [4/4] powerpc/mpc8548: Add workaround for erratum NMG_SRIO135=
=0A=
=0A=
On Tue, Mar 06, 2012 at 05:10:56PM +0800, chenhui zhao wrote:=0A=
From: chenhui zhao <redacted>=0A=
=0A=
Issue:=0A=
Applications using lwarx/stwcx instructions in the core to=0A=
compete for a software lock or semaphore with a device on=0A=
RapidIO using read atomic set, clr, inc, or dec in a similar=0A=
manner may falsely result in both masters seeing the lock=0A=
as "available". This could result in data corruption as=0A=
both masters try to modify the same piece of data protected=0A=
by the lock.=0A=
=0A=
Workaround:=0A=
Set bits 13 and 29 of CCSR offset 0x01010 (EEBPCR register=0A=
of the ECM) during initialization and leave them set=0A=
indefinitely. This may slightly degrade overall system=0A=
performance.=0A=
=0A=
Refer to SRIO39 in MPC8548 errata document.=0A=
=0A=
Signed-off-by: Gong Chen <redacted>=0A=
Signed-off-by: Zhao Chenhui <redacted>=0A=
Signed-off-by: Li Yang <redacted>=0A=
=0A=
---=0A=
arch/powerpc/sysdev/fsl_rio.c |   44 ++++++++++++++++++++++++++++++++++++=
+++++=0A=
 1 files changed, 44 insertions(+), 0 deletions(-)=0A=
[snip]=0A=
quoted hunk ↗ jump to hunk
@@ -358,6 +391,17 @@ int fsl_rio_setup(struct platform_device *dev)=0A=
                              dev->dev.of_node->full_name);=0A=
              return -EFAULT;=0A=
      }=0A=
+=0A=
+     /* Fix erratum NMG_SRIO135 */=0A=
+     if (fsl_svr_is(SVR_8548) || fsl_svr_is(SVR_8548_E)) {=0A=
+             rc =3D fixup_erratum_srio135(&dev->dev);=0A=
+             if (rc) {=0A=
+                     dev_err(&dev->dev,=0A=
+                             "Failed to fix the erratum NMG_SRIO135.");=
=0A=
+                     return rc;=0A=
+             }=0A=
+     }=0A=
=0A=
This needs to be respun based on the current tree.=0A=
=0A=
-Scott=0A=
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help