Home
last modified time | relevance | path

Searched refs:dimm (Results 1 – 25 of 52) sorted by relevance

123

/linux/drivers/edac/
H A Dedac_mc_sysfs.c128 struct dimm_info *dimm = to_dimm(dev); in dimmdev_location_show() local
131 count = edac_dimm_info_location(dimm, data, PAGE_SIZE); in dimmdev_location_show()
140 struct dimm_info *dimm = to_dimm(dev); in dimmdev_label_show() local
143 if (!dimm->label[0]) in dimmdev_label_show()
146 return sysfs_emit(data, "%s\n", dimm->label); in dimmdev_label_show()
154 struct dimm_info *dimm = to_dimm(dev); in dimmdev_label_store() local
163 if (copy_count == 0 || copy_count >= sizeof(dimm->label)) in dimmdev_label_store()
166 memcpy(dimm->label, data, copy_count); in dimmdev_label_store()
167 dimm->label[copy_count] = '\0'; in dimmdev_label_store()
175 struct dimm_info *dimm = to_dimm(dev); in dimmdev_size_show() local
[all …]
H A Dedac_mc.c61 unsigned int edac_dimm_info_location(struct dimm_info *dimm, char *buf, in edac_dimm_info_location() argument
64 struct mem_ctl_info *mci = dimm->mci; in edac_dimm_info_location()
71 dimm->location[i]); in edac_dimm_info_location()
87 edac_dbg(4, " channel->dimm = %p\n", chan->dimm); in edac_mc_dump_channel()
90 static void edac_mc_dump_dimm(struct dimm_info *dimm) in edac_mc_dump_dimm() argument
94 if (!dimm->nr_pages) in edac_mc_dump_dimm()
97 edac_dimm_info_location(dimm, location, sizeof(location)); in edac_mc_dump_dimm()
100 dimm->mci->csbased ? "rank" : "dimm", in edac_mc_dump_dimm()
101 dimm->idx, location, dimm->csrow, dimm->cschannel); in edac_mc_dump_dimm()
102 edac_dbg(4, " dimm = %p\n", dimm); in edac_mc_dump_dimm()
[all …]
H A Dpasemi_edac.c127 struct dimm_info *dimm; in pasemi_edac_init_csrows() local
133 dimm = csrow->channels[0]->dimm; in pasemi_edac_init_csrows()
145 dimm->nr_pages = 128 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows()
148 dimm->nr_pages = 256 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows()
152 dimm->nr_pages = 512 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows()
155 dimm->nr_pages = 1024 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows()
158 dimm->nr_pages = 2048 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows()
168 csrow->last_page = csrow->first_page + dimm->nr_pages - 1; in pasemi_edac_init_csrows()
169 last_page_in_mmc += dimm->nr_pages; in pasemi_edac_init_csrows()
171 dimm->grain = PASEMI_EDAC_ERROR_GRAIN; in pasemi_edac_init_csrows()
[all …]
H A Di82860_edac.c101 struct dimm_info *dimm; in i82860_process_error_info() local
118 dimm = mci->csrows[row]->channels[0]->dimm; in i82860_process_error_info()
123 dimm->location[0], dimm->location[1], -1, in i82860_process_error_info()
128 dimm->location[0], dimm->location[1], -1, in i82860_process_error_info()
149 struct dimm_info *dimm; in i82860_init_csrows() local
163 dimm = csrow->channels[0]->dimm; in i82860_init_csrows()
175 dimm->nr_pages = cumul_size - last_cumul_size; in i82860_init_csrows()
177 dimm->grain = 1 << 12; /* I82860_EAP has 4KiB reolution */ in i82860_init_csrows()
178 dimm->mtype = MEM_RMBS; in i82860_init_csrows()
179 dimm->dtype = DEV_UNKNOWN; in i82860_init_csrows()
[all …]
H A Dti_edac.c132 struct dimm_info *dimm; in ti_edac_setup_dimm() local
138 dimm = edac_get_dimm(mci, 0, 0, 0); in ti_edac_setup_dimm()
149 dimm->dtype = DEV_X16; in ti_edac_setup_dimm()
152 dimm->dtype = DEV_X32; in ti_edac_setup_dimm()
166 dimm->dtype = DEV_X64; in ti_edac_setup_dimm()
170 dimm->dtype = DEV_X32; in ti_edac_setup_dimm()
174 dimm->dtype = DEV_X16; in ti_edac_setup_dimm()
181 dimm->nr_pages = memsize >> PAGE_SHIFT; in ti_edac_setup_dimm()
182 dimm->grain = 4; in ti_edac_setup_dimm()
184 dimm->mtype = MEM_DDR2; in ti_edac_setup_dimm()
[all …]
H A Dbluefield_edac.c294 struct dimm_info *dimm; in bluefield_edac_init_dimms() local
299 dimm = mci->dimms[i]; in bluefield_edac_init_dimms()
305 dimm->mtype = MEM_EMPTY; in bluefield_edac_init_dimms()
311 dimm->edac_mode = EDAC_SECDED; in bluefield_edac_init_dimms()
314 dimm->mtype = MEM_NVDIMM; in bluefield_edac_init_dimms()
316 dimm->mtype = MEM_LRDDR4; in bluefield_edac_init_dimms()
318 dimm->mtype = MEM_RDDR4; in bluefield_edac_init_dimms()
320 dimm->mtype = MEM_DDR4; in bluefield_edac_init_dimms()
322 dimm->nr_pages = in bluefield_edac_init_dimms()
325 dimm->grain = MLXBF_EDAC_ERROR_GRAIN; in bluefield_edac_init_dimms()
[all …]
H A Damd76x_edac.c190 struct dimm_info *dimm; in amd76x_init_csrows() local
196 dimm = csrow->channels[0]->dimm; in amd76x_init_csrows()
209 dimm->nr_pages = (mba_mask + 1) >> PAGE_SHIFT; in amd76x_init_csrows()
210 csrow->last_page = csrow->first_page + dimm->nr_pages - 1; in amd76x_init_csrows()
212 dimm->grain = dimm->nr_pages << PAGE_SHIFT; in amd76x_init_csrows()
213 dimm->mtype = MEM_RDDR; in amd76x_init_csrows()
214 dimm->dtype = ((dms >> index) & 0x1) ? DEV_X4 : DEV_UNKNOWN; in amd76x_init_csrows()
215 dimm->edac_mode = edac_mode; in amd76x_init_csrows()
H A Dskx_common.c201 res->dimm = (adxl_nm_bitmap & BIT_NM_DIMM) ? in skx_adxl_decode()
208 res->dimm = (int)adxl_values[component_indices[INDEX_DIMM]]; in skx_adxl_decode()
457 int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm, in skx_get_dimm_info() argument
496 dimm->nr_pages = npages; in skx_get_dimm_info()
497 dimm->grain = 32; in skx_get_dimm_info()
498 dimm->dtype = get_width(mtr); in skx_get_dimm_info()
499 dimm->mtype = mtype; in skx_get_dimm_info()
500 dimm->edac_mode = EDAC_SECDED; /* likely better than this */ in skx_get_dimm_info()
503 snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_HBMC#%u_Chan#%u", in skx_get_dimm_info()
506 snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", in skx_get_dimm_info()
[all …]
H A Di82975x_edac.c313 (1 << mci->csrows[row]->channels[chan]->dimm->grain)); in i82975x_process_error_info()
368 struct dimm_info *dimm; in i82975x_init_csrows() local
407 dimm = mci->csrows[index]->channels[chan]->dimm; in i82975x_init_csrows()
409 dimm->nr_pages = nr_pages / csrow->nr_channels; in i82975x_init_csrows()
411 snprintf(csrow->channels[chan]->dimm->label, EDAC_MC_LABEL_LEN, "DIMM %c%d", in i82975x_init_csrows()
414 dimm->grain = 1 << 7; /* 128Byte cache-line resolution */ in i82975x_init_csrows()
417 dimm->dtype = DEV_X8; in i82975x_init_csrows()
419 dimm->mtype = MEM_DDR2; /* I82975x supports only DDR2 */ in i82975x_init_csrows()
420 dimm->edac_mode = EDAC_SECDED; /* only supported */ in i82975x_init_csrows()
H A Dhighbank_mc_edac.c152 struct dimm_info *dimm; in highbank_mc_probe() local
224 dimm = *mci->dimms; in highbank_mc_probe()
225 dimm->nr_pages = (~0UL >> PAGE_SHIFT) + 1; in highbank_mc_probe()
226 dimm->grain = 8; in highbank_mc_probe()
227 dimm->dtype = DEV_X8; in highbank_mc_probe()
228 dimm->mtype = MEM_DDR3; in highbank_mc_probe()
229 dimm->edac_mode = EDAC_SECDED; in highbank_mc_probe()
H A Darmada_xp_edac.c226 struct dimm_info *dimm; in axp_mc_read_config() local
239 dimm = mci->dimms[i]; in axp_mc_read_config()
253 dimm->nr_pages = 524288; in axp_mc_read_config()
256 dimm->nr_pages = 65536; in axp_mc_read_config()
259 dimm->nr_pages = 131072; in axp_mc_read_config()
262 dimm->nr_pages = 262144; in axp_mc_read_config()
265 dimm->nr_pages = 1048576; in axp_mc_read_config()
268 dimm->nr_pages = 2097152; in axp_mc_read_config()
271 dimm->grain = 8; in axp_mc_read_config()
272 dimm->dtype = cs_struct ? DEV_X16 : DEV_X8; in axp_mc_read_config()
[all …]
H A Di82875p_edac.c344 struct dimm_info *dimm; in i82875p_init_csrows() local
376 dimm = csrow->channels[j]->dimm; in i82875p_init_csrows()
378 dimm->nr_pages = nr_pages / nr_chans; in i82875p_init_csrows()
379 dimm->grain = 1 << 12; /* I82875P_EAP has 4KiB reolution */ in i82875p_init_csrows()
380 dimm->mtype = MEM_DDR; in i82875p_init_csrows()
381 dimm->dtype = DEV_UNKNOWN; in i82875p_init_csrows()
382 dimm->edac_mode = drc_ddim ? EDAC_SECDED : EDAC_NONE; in i82875p_init_csrows()
H A Damd64_edac.c1109 int dimm, size0, size1; in dct_debug_display_dimm_sizes() local
1135 for (dimm = 0; dimm < 4; dimm++) { in dct_debug_display_dimm_sizes()
1137 if (dcsb[dimm * 2] & DCSB_CS_ENABLE) in dct_debug_display_dimm_sizes()
1145 DBAM_DIMM(dimm, dbam), in dct_debug_display_dimm_sizes()
1146 dimm); in dct_debug_display_dimm_sizes()
1149 if (dcsb[dimm * 2 + 1] & DCSB_CS_ENABLE) in dct_debug_display_dimm_sizes()
1151 DBAM_DIMM(dimm, dbam), in dct_debug_display_dimm_sizes()
1152 dimm); in dct_debug_display_dimm_sizes()
1155 dimm * 2, size0, in dct_debug_display_dimm_sizes()
1156 dimm * 2 + 1, size1); in dct_debug_display_dimm_sizes()
[all …]
H A Di3000_edac.c408 struct dimm_info *dimm = csrow->channels[j]->dimm; in i3000_probe1() local
410 dimm->nr_pages = nr_pages / nr_channels; in i3000_probe1()
411 dimm->grain = I3000_DEAP_GRAIN; in i3000_probe1()
412 dimm->mtype = MEM_DDR2; in i3000_probe1()
413 dimm->dtype = DEV_UNKNOWN; in i3000_probe1()
414 dimm->edac_mode = EDAC_UNKNOWN; in i3000_probe1()
H A Dx38_edac.c386 struct dimm_info *dimm = csrow->channels[j]->dimm; in x38_probe1() local
388 dimm->nr_pages = nr_pages / x38_channel_num; in x38_probe1()
389 dimm->grain = nr_pages << PAGE_SHIFT; in x38_probe1()
390 dimm->mtype = MEM_DDR2; in x38_probe1()
391 dimm->dtype = DEV_UNKNOWN; in x38_probe1()
392 dimm->edac_mode = EDAC_UNKNOWN; in x38_probe1()
H A De7xxx_edac.c362 struct dimm_info *dimm; in e7xxx_init_csrows() local
409 dimm = csrow->channels[j]->dimm; in e7xxx_init_csrows()
411 dimm->nr_pages = nr_pages / (drc_chan + 1); in e7xxx_init_csrows()
412 dimm->grain = 1 << 12; /* 4KiB - resolution of CELOG */ in e7xxx_init_csrows()
413 dimm->mtype = MEM_RDDR; /* only one type supported */ in e7xxx_init_csrows()
414 dimm->dtype = mem_dev ? DEV_X4 : DEV_X8; in e7xxx_init_csrows()
415 dimm->edac_mode = edac_mode; in e7xxx_init_csrows()
H A Daspeed_edac.c235 struct dimm_info *dimm; in init_csrows() local
267 dimm = csrow->channels[0]->dimm; in init_csrows()
268 dimm->mtype = dram_type; in init_csrows()
269 dimm->edac_mode = EDAC_SECDED; in init_csrows()
270 dimm->nr_pages = nr_pages / csrow->nr_channels; in init_csrows()
H A Die31200_edac.c414 static void populate_dimm_info(struct dimm_data *dd, u32 addr_decode, int dimm, in populate_dimm_info() argument
417 …dd->size = field_get(cfg->reg_mad_dimm_size_mask[dimm], addr_decode) * cfg->reg_mad_dimm_size_gran… in populate_dimm_info()
418 dd->ranks = field_get(cfg->reg_mad_dimm_rank_mask[dimm], addr_decode) + 1; in populate_dimm_info()
419 dd->dtype = field_get(cfg->reg_mad_dimm_width_mask[dimm], addr_decode) + DEV_X8; in populate_dimm_info()
426 struct dimm_info *dimm; in ie31200_get_dimm_config() local
448 dimm = edac_get_dimm(mci, (j * dimm_info.ranks) + k, i, 0); in ie31200_get_dimm_config()
449 dimm->nr_pages = nr_pages; in ie31200_get_dimm_config()
451 dimm->grain = 8; /* just a guess */ in ie31200_get_dimm_config()
452 dimm->mtype = cfg->mtype; in ie31200_get_dimm_config()
453 dimm->dtype = dimm_info.dtype; in ie31200_get_dimm_config()
[all …]
H A Di3200_edac.c395 struct dimm_info *dimm = edac_get_dimm(mci, i, j, 0); in i3200_probe1() local
404 dimm->nr_pages = nr_pages; in i3200_probe1()
405 dimm->grain = nr_pages << PAGE_SHIFT; in i3200_probe1()
406 dimm->mtype = MEM_DDR2; in i3200_probe1()
407 dimm->dtype = DEV_UNKNOWN; in i3200_probe1()
408 dimm->edac_mode = EDAC_UNKNOWN; in i3200_probe1()
H A Ddmc520_edac.c447 struct dimm_info *dimm; in dmc520_init_csrow() local
463 dimm = csi->channels[ch]->dimm; in dmc520_init_csrow()
464 dimm->grain = pvt->mem_width_in_bytes; in dmc520_init_csrow()
465 dimm->dtype = dt; in dmc520_init_csrow()
466 dimm->mtype = mt; in dmc520_init_csrow()
467 dimm->edac_mode = EDAC_SECDED; in dmc520_init_csrow()
468 dimm->nr_pages = pages_per_rank / csi->nr_channels; in dmc520_init_csrow()
/linux/tools/testing/nvdimm/test/
H A Dndtest.c37 #define NFIT_DIMM_HANDLE(node, socket, imc, chan, dimm) \ argument
39 | ((imc & 0xf) << 8) | ((chan & 0xf) << 4) | (dimm & 0xf))
103 .dimm = 0,
109 .dimm = 1,
118 .dimm = 0,
124 .dimm = 1,
130 .dimm = 2,
136 .dimm = 3,
162 .dimm = 0,
234 static int ndtest_get_config_size(struct ndtest_dimm *dimm, unsigned int buf_len, in ndtest_get_config_size() argument
[all …]
H A Dnfit.c120 #define NFIT_DIMM_HANDLE(node, socket, imc, chan, dimm) \ argument
122 | ((imc & 0xf) << 8) | ((chan & 0xf) << 4) | (dimm & 0xf))
190 void **dimm; member
937 static int override_return_code(int dimm, unsigned int func, int rc) in override_return_code() argument
939 if ((1 << func) & dimm_fail_cmd_flags[dimm]) { in override_return_code()
940 if (dimm_fail_cmd_code[dimm]) in override_return_code()
941 return dimm_fail_cmd_code[dimm]; in override_return_code()
949 unsigned int buf_len, int dimm) in nd_intel_test_cmd_security_status() argument
952 struct nfit_test_sec *sec = &dimm_sec_info[dimm]; in nd_intel_test_cmd_security_status()
964 unsigned int buf_len, int dimm) in nd_intel_test_cmd_unlock_unit() argument
[all …]
/linux/drivers/nvdimm/
H A Dramdax.c80 struct ramdax_dimm *dimm; in ramdax_register_dimm() local
83 dimm = kzalloc_obj(*dimm); in ramdax_register_dimm()
84 if (!dimm) in ramdax_register_dimm()
87 dimm->label_area = memremap(start + size - LABEL_AREA_SIZE, in ramdax_register_dimm()
89 if (!dimm->label_area) { in ramdax_register_dimm()
99 dimm->nvdimm = nvdimm_create(nvdimm_bus, dimm, in ramdax_register_dimm()
102 if (!dimm->nvdimm) { in ramdax_register_dimm()
107 err = ramdax_register_region(res, dimm->nvdimm, nvdimm_bus); in ramdax_register_dimm()
114 nvdimm_delete(dimm->nvdimm); in ramdax_register_dimm()
116 memunmap(dimm->label_area); in ramdax_register_dimm()
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-devices-edac86 What: /sys/devices/system/edac/mc/mc*/(dimm|rank)*/size
90 Description: This attribute file will display the size of dimm or rank.
91 For dimm*/size, this is the size, in MB of the DIMM memory
94 is also the total size of the dimm. On dual rank (2R) memories,
97 What: /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_dev_type
104 What: /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_edac_mode
112 What: /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_label
127 What: /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_location
132 branch/channel/slot or channel/slot) of the dimm or rank.
134 What: /sys/devices/system/edac/mc/mc*/(dimm|rank)*/dimm_mem_type
[all …]
/linux/arch/sparc/kernel/
H A Dchmc.c326 int dimm; in jbusmc_print_dimm() local
331 for (dimm = 0; dimm < JB_NUM_DIMMS_PER_GROUP; dimm++) { in jbusmc_print_dimm()
333 prop->dimm_labels[first_dimm + dimm]); in jbusmc_print_dimm()
572 int dimm; in chmc_print_dimm() local
577 for (dimm = 0; dimm < CHMCTRL_NDIMMS; dimm++) { in chmc_print_dimm()
579 prop->dimm_labels[first_dimm + dimm]); in chmc_print_dimm()

123