From: Borislav Petkov <bp@alien8.de>
To: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Cc: linux-edac@vger.kernel.org, michal.simek@xilinx.com,
mchehab@kernel.org, tony.luck@intel.com, stable@vger.kernel.org
Subject: Re: [PATCH v3] edac: synopsys: Fix the issue in reporting of the error count
Date: Thu, 14 Apr 2022 15:52:23 +0200 [thread overview]
Message-ID: <YlgnFxbripsQcCm5@zn.tnic> (raw)
In-Reply-To: <20220414102813.4468-1-shubhrajyoti.datta@xilinx.com>
On Thu, Apr 14, 2022 at 03:58:13PM +0530, Shubhrajyoti Datta wrote:
> Currently the error count from status register is being read which
> is not correct. Fix the issue by reading the count from the
> error count register(ERRCNT).
>
> Fixes: b500b4a029d5 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
> ---
> v2:
> Remove the cumulative count change
> v3:
> Add the fixes and stable tag
>
> drivers/edac/synopsys_edac.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/edac/synopsys_edac.c b/drivers/edac/synopsys_edac.c
> index f05ff02c0656..1a9a5b886903 100644
> --- a/drivers/edac/synopsys_edac.c
> +++ b/drivers/edac/synopsys_edac.c
> @@ -164,6 +164,11 @@
> #define ECC_STAT_CECNT_SHIFT 8
> #define ECC_STAT_BITNUM_MASK 0x7F
>
> +/* ECC error count register definitions */
> +#define ECC_ERRCNT_UECNT_MASK 0xFFFF0000
> +#define ECC_ERRCNT_UECNT_SHIFT 16
> +#define ECC_ERRCNT_CECNT_MASK 0xFFFF
> +
> /* DDR QOS Interrupt register definitions */
> #define DDR_QOS_IRQ_STAT_OFST 0x20200
> #define DDR_QOSUE_MASK 0x4
> @@ -423,14 +428,16 @@ static int zynqmp_get_error_info(struct synps_edac_priv *priv)
> base = priv->baseaddr;
> p = &priv->stat;
>
> + regval = readl(base + ECC_ERRCNT_OFST);
> + p->ce_cnt = regval & ECC_ERRCNT_CECNT_MASK;
> + p->ue_cnt = (regval & ECC_ERRCNT_UECNT_MASK) >> ECC_ERRCNT_UECNT_SHIFT;
> + if (!p->ce_cnt)
> + goto ue_err;
> +
> regval = readl(base + ECC_STAT_OFST);
> if (!regval)
> return 1;
>
> - p->ce_cnt = (regval & ECC_STAT_CECNT_MASK) >> ECC_STAT_CECNT_SHIFT;
> - p->ue_cnt = (regval & ECC_STAT_UECNT_MASK) >> ECC_STAT_UECNT_SHIFT;
> - if (!p->ce_cnt)
> - goto ue_err;
>
> p->ceinfo.bitpos = (regval & ECC_STAT_BITNUM_MASK);
>
> --
Applied, thanks.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
prev parent reply other threads:[~2022-04-14 14:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-14 10:28 [PATCH v3] edac: synopsys: Fix the issue in reporting of the error count Shubhrajyoti Datta
2022-04-14 12:36 ` Michal Simek
2022-04-14 13:52 ` Borislav Petkov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YlgnFxbripsQcCm5@zn.tnic \
--to=bp@alien8.de \
--cc=linux-edac@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=michal.simek@xilinx.com \
--cc=shubhrajyoti.datta@xilinx.com \
--cc=stable@vger.kernel.org \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.