- Read the reported error count from the proper register on synopsys_edac
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmJlGhAACgkQEsHwGGHe VUqDeA//Ud2Y6x/OlrYSb1uetOTYXpt8orCh8rFTkkB+6XXs8kyfxgrn1JOzzYtU 5whZxo1SvsqIDLToUtstcFhmK0uO5BtuK/pfy6qElTuVLI17yuyx359yKwAWcKIu 5xAM3S9vtoqUw9YKeXiq61sjLVEJo2qFEIq8BvGwjuZ9DBkemlM34sCPu+tu7o2F DI5LqdkCGQGAMbXzljyHxcLgZS2bCSgYs7LzbYPe7KqtDzlwo+4ofT9r/E9r/6iD PaWjR34cvy+KyyxcDhdPzuWYjvkvuAOZHhtvQmPVBsw/diCZD4NLodj02/TyNN5u 3P2ehe4KXLxAWFDdV2XrxjnQsWni5aJrti7HfFmKT1zadh1SBb1vun4sSe1+FXia ej+68xG4tvk05zRCjZgy9teCLLT2bejSkYcdRGv+M/DDZZI840Uq+ub/jGmBGG8P wpYqGixgWvCmD9lW/4jztHpWhpkn2sdyVk1iDrgjre+M3NE9pPO7yIh0MK2B7TBq ORVr6z1bAXVNHm9fXwpptpQz1tcK87hKzVMX63kuEpQLf7+XBiffoJgNHscl26/h gVGq24lFRotsGQlsZIXc6Bfu0u13mVxsNF7yYhlU30Tlgqk45cYA/x+btlSehfWB 6j9/nx+A21Ocjx3s2LOIDQTSZCdzTt3KVBkwPBafDBAtO55XhEE= =gcLL -----END PGP SIGNATURE----- Merge tag 'edac_urgent_for_v5.18_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras Pull EDAC fix from Borislav Petkov: - Read the reported error count from the proper register on synopsys_edac * tag 'edac_urgent_for_v5.18_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/synopsys: Read the error count from the correct register
This commit is contained in:
commit
b877ca4dc8
@ -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,15 +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);
|
||||
|
||||
regval = readl(base + ECC_CEADDR0_OFST);
|
||||
|
Loading…
Reference in New Issue
Block a user