From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from web50106.mail.re2.yahoo.com (web50106.mail.re2.yahoo.com [206.190.38.34]) by ozlabs.org (Postfix) with SMTP id 65F98DF281 for ; Fri, 18 Jul 2008 04:42:34 +1000 (EST) Date: Thu, 17 Jul 2008 11:35:52 -0700 (PDT) From: Doug Thompson Subject: Re: [patch 1/9] powerpc/cell/edac: log a syndrome code in case of correctable error To: benh@kernel.crashing.org, arnd@arndb.de In-Reply-To: <1216274347.7740.296.camel@pasglop> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Message-ID: <890360.60776.qm@web50106.mail.re2.yahoo.com> Cc: Maxim Shchetynin , linuxppc-dev@ozlabs.org, cbe-oss-dev@ozlabs.org, bluesmoke-devel List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , --- Benjamin Herrenschmidt wrote: > Arnd, Maxim, please, next time, send that patch or at least CC the > bluesmoke-devel list for EDAC related bits. > > Doug, if you are ok with this patch, I'll merge it via the powerpc fine with me, acked below doug t > tree. > > Cheers, > Ben. > > On Tue, 2008-07-15 at 21:51 +0200, arnd@arndb.de > > > From: Maxim Shchetynin > > > > If correctable error occurs the syndrome code was logged as 0. This patch > > lets EDAC to log a correct syndrome code to make problem investigation > > easier. > > > > Signed-off-by: Maxim Shchetynin > > Signed-off-by: Arnd Bergmann Acked-by: Doug Thompson > > --- > > drivers/edac/cell_edac.c | 5 +++-- > > 1 files changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/edac/cell_edac.c b/drivers/edac/cell_edac.c > > index b54112f..0e024fe 100644 > > --- a/drivers/edac/cell_edac.c > > +++ b/drivers/edac/cell_edac.c > > @@ -33,7 +33,7 @@ static void cell_edac_count_ce(struct mem_ctl_info *mci, int chan, u64 ar) > > { > > struct cell_edac_priv *priv = mci->pvt_info; > > struct csrow_info *csrow = &mci->csrows[0]; > > - unsigned long address, pfn, offset; > > + unsigned long address, pfn, offset, syndrome; > > > > dev_dbg(mci->dev, "ECC CE err on node %d, channel %d, ar = 0x%016lx\n", > > priv->node, chan, ar); > > @@ -44,10 +44,11 @@ static void cell_edac_count_ce(struct mem_ctl_info *mci, int chan, u64 ar) > > address = (address << 1) | chan; > > pfn = address >> PAGE_SHIFT; > > offset = address & ~PAGE_MASK; > > + syndrome = (ar & 0x000000001fe00000ul) >> 21; > > > > /* TODO: Decoding of the error addresss */ > > edac_mc_handle_ce(mci, csrow->first_page + pfn, offset, > > - 0, 0, chan, ""); > > + syndrome, 0, chan, ""); > > } > > > > static void cell_edac_count_ue(struct mem_ctl_info *mci, int chan, u64 ar) > > -- > > 1.5.4.3 > > > > W1DUG