Commit ad0d73b3 authored by Toshi Kani's avatar Toshi Kani Committed by Borislav Petkov

EDAC, ghes: Add DDR4 and NVDIMM memory types

The ghes_edac driver obtains memory type from SMBIOS type 17, but it
does not recognize DDR4 and NVDIMM types.

Add support of DDR4 and NVDIMM types. NVDIMM type is denoted by memory
type DDR3/4 and non-volatile.
Reported-by: default avatarRobert Elliott <elliott@hpe.com>
Signed-off-by: default avatarToshi Kani <toshi.kani@hpe.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/20180509222030.9299-1-toshi.kani@hpe.comSigned-off-by: default avatarBorislav Petkov <bp@suse.de>
parent e9918d7f
...@@ -123,11 +123,21 @@ static void ghes_edac_dmidecode(const struct dmi_header *dh, void *arg) ...@@ -123,11 +123,21 @@ static void ghes_edac_dmidecode(const struct dmi_header *dh, void *arg)
dimm->mtype = MEM_FB_DDR2; dimm->mtype = MEM_FB_DDR2;
break; break;
case 0x18: case 0x18:
if (entry->type_detail & 1 << 13) if (entry->type_detail & 1 << 12)
dimm->mtype = MEM_NVDIMM;
else if (entry->type_detail & 1 << 13)
dimm->mtype = MEM_RDDR3; dimm->mtype = MEM_RDDR3;
else else
dimm->mtype = MEM_DDR3; dimm->mtype = MEM_DDR3;
break; break;
case 0x1a:
if (entry->type_detail & 1 << 12)
dimm->mtype = MEM_NVDIMM;
else if (entry->type_detail & 1 << 13)
dimm->mtype = MEM_RDDR4;
else
dimm->mtype = MEM_DDR4;
break;
default: default:
if (entry->type_detail & 1 << 6) if (entry->type_detail & 1 << 6)
dimm->mtype = MEM_RMBS; dimm->mtype = MEM_RMBS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment