Lines Matching refs:dimm

88 	struct dimm_info *dimm;  in find_dimm_by_handle()  local
90 mci_for_each_dimm(mci, dimm) { in find_dimm_by_handle()
91 if (dimm->smbios_handle == handle) in find_dimm_by_handle()
92 return dimm; in find_dimm_by_handle()
98 static void dimm_setup_label(struct dimm_info *dimm, u16 handle) in dimm_setup_label() argument
108 snprintf(dimm->label, sizeof(dimm->label), "%s%s%s", in dimm_setup_label()
114 static void assign_dmi_dimm_info(struct dimm_info *dimm, struct memdev_dmi_entry *entry) in assign_dmi_dimm_info() argument
119 pr_info("Can't get DIMM%i size\n", dimm->idx); in assign_dmi_dimm_info()
120 dimm->nr_pages = MiB_TO_PAGES(32);/* Unknown */ in assign_dmi_dimm_info()
122 dimm->nr_pages = MiB_TO_PAGES(entry->extended_size); in assign_dmi_dimm_info()
125 dimm->nr_pages = MiB_TO_PAGES((entry->size & 0x7fff) << 10); in assign_dmi_dimm_info()
127 dimm->nr_pages = MiB_TO_PAGES(entry->size); in assign_dmi_dimm_info()
133 dimm->mtype = MEM_RDDR; in assign_dmi_dimm_info()
135 dimm->mtype = MEM_DDR; in assign_dmi_dimm_info()
139 dimm->mtype = MEM_RDDR2; in assign_dmi_dimm_info()
141 dimm->mtype = MEM_DDR2; in assign_dmi_dimm_info()
144 dimm->mtype = MEM_FB_DDR2; in assign_dmi_dimm_info()
148 dimm->mtype = MEM_NVDIMM; in assign_dmi_dimm_info()
150 dimm->mtype = MEM_RDDR3; in assign_dmi_dimm_info()
152 dimm->mtype = MEM_DDR3; in assign_dmi_dimm_info()
156 dimm->mtype = MEM_NVDIMM; in assign_dmi_dimm_info()
158 dimm->mtype = MEM_RDDR4; in assign_dmi_dimm_info()
160 dimm->mtype = MEM_DDR4; in assign_dmi_dimm_info()
164 dimm->mtype = MEM_RMBS; in assign_dmi_dimm_info()
166 dimm->mtype = MEM_RDR; in assign_dmi_dimm_info()
168 dimm->mtype = MEM_SDR; in assign_dmi_dimm_info()
170 dimm->mtype = MEM_EDO; in assign_dmi_dimm_info()
172 dimm->mtype = MEM_UNKNOWN; in assign_dmi_dimm_info()
180 dimm->edac_mode = EDAC_NONE; in assign_dmi_dimm_info()
182 dimm->edac_mode = EDAC_SECDED; in assign_dmi_dimm_info()
184 dimm->dtype = DEV_UNKNOWN; in assign_dmi_dimm_info()
185 dimm->grain = 128; /* Likely, worse case */ in assign_dmi_dimm_info()
187 dimm_setup_label(dimm, entry->handle); in assign_dmi_dimm_info()
189 if (dimm->nr_pages) { in assign_dmi_dimm_info()
191 dimm->idx, edac_mem_types[dimm->mtype], in assign_dmi_dimm_info()
192 PAGES_TO_MiB(dimm->nr_pages), in assign_dmi_dimm_info()
193 (dimm->edac_mode != EDAC_NONE) ? "(ECC)" : ""); in assign_dmi_dimm_info()
199 dimm->smbios_handle = entry->handle; in assign_dmi_dimm_info()
398 struct dimm_info *dimm; in ghes_edac_report_mem_error() local
407 dimm = find_dimm_by_handle(mci, mem_err->mem_dev_handle); in ghes_edac_report_mem_error()
408 if (dimm) { in ghes_edac_report_mem_error()
409 e->top_layer = dimm->idx; in ghes_edac_report_mem_error()
410 strcpy(e->label, dimm->label); in ghes_edac_report_mem_error()
611 struct dimm_info *dimm = edac_get_dimm(mci, 0, 0, 0); in ghes_edac_register() local
613 dimm->nr_pages = 1; in ghes_edac_register()
614 dimm->grain = 128; in ghes_edac_register()
615 dimm->mtype = MEM_UNKNOWN; in ghes_edac_register()
616 dimm->dtype = DEV_UNKNOWN; in ghes_edac_register()
617 dimm->edac_mode = EDAC_SECDED; in ghes_edac_register()