/linux/drivers/edac/ |
H A D | ghes_edac.c | 89 struct dimm_info *dimm; in find_dimm_by_handle() local 91 mci_for_each_dimm(mci, dimm) { in find_dimm_by_handle() 92 if (dimm->smbios_handle == handle) in find_dimm_by_handle() 93 return dimm; in find_dimm_by_handle() 99 static void dimm_setup_label(struct dimm_info *dimm, u16 handle) in dimm_setup_label() argument 109 snprintf(dimm->label, sizeof(dimm->label), "%s%s%s", in dimm_setup_label() 115 static void assign_dmi_dimm_info(struct dimm_info *dimm, struct memdev_dmi_entry *entry) in assign_dmi_dimm_info() argument 120 pr_info("Can't get DIMM%i size\n", dimm->idx); in assign_dmi_dimm_info() 121 dimm->nr_pages = MiB_TO_PAGES(32);/* Unknown */ in assign_dmi_dimm_info() 123 dimm->nr_pages = MiB_TO_PAGES(entry->extended_size); in assign_dmi_dimm_info() [all …]
|
H A D | pasemi_edac.c | 127 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 D | i82860_edac.c | 101 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 D | ti_edac.c | 132 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 D | bluefield_edac.c | 284 struct dimm_info *dimm; in bluefield_edac_init_dimms() local 289 dimm = mci->dimms[i]; in bluefield_edac_init_dimms() 295 dimm->mtype = MEM_EMPTY; in bluefield_edac_init_dimms() 301 dimm->edac_mode = EDAC_SECDED; in bluefield_edac_init_dimms() 304 dimm->mtype = MEM_NVDIMM; in bluefield_edac_init_dimms() 306 dimm->mtype = MEM_LRDDR4; in bluefield_edac_init_dimms() 308 dimm->mtype = MEM_RDDR4; in bluefield_edac_init_dimms() 310 dimm->mtype = MEM_DDR4; in bluefield_edac_init_dimms() 312 dimm->nr_pages = in bluefield_edac_init_dimms() 315 dimm->grain = MLXBF_EDAC_ERROR_GRAIN; in bluefield_edac_init_dimms() [all …]
|
H A D | amd76x_edac.c | 190 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 D | i5400_edac.c | 862 static int determine_mtr(struct i5400_pvt *pvt, int dimm, int channel) in determine_mtr() argument 870 n = dimm; in determine_mtr() 874 dimm); in determine_mtr() 919 static void handle_channel(struct i5400_pvt *pvt, int dimm, int channel, in handle_channel() argument 926 mtr = determine_mtr(pvt, dimm, channel); in handle_channel() 931 if (amb_present_reg & (1 << dimm)) { in handle_channel() 960 int dimm, max_dimms; in calculate_dimm_size() local 980 for (dimm = max_dimms - 1; dimm >= 0; dimm--) { in calculate_dimm_size() 984 if (dimm & 0x1) { in calculate_dimm_size() 993 n = snprintf(p, space, "dimm %2d ", dimm); in calculate_dimm_size() [all …]
|
H A D | r82600_edac.c | 220 struct dimm_info *dimm; in r82600_init_csrows() local 232 dimm = csrow->channels[0]->dimm; in r82600_init_csrows() 254 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; in r82600_init_csrows() 257 dimm->grain = 1 << 14; in r82600_init_csrows() 258 dimm->mtype = reg_sdram ? MEM_RDDR : MEM_DDR; in r82600_init_csrows() 260 dimm->dtype = DEV_UNKNOWN; in r82600_init_csrows() 263 dimm->edac_mode = ecc_on ? EDAC_SECDED : EDAC_NONE; in r82600_init_csrows()
|
H A D | i82975x_edac.c | 313 (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 D | i82443bxgx_edac.c | 189 struct dimm_info *dimm; in i82443bxgx_init_csrows() local 198 dimm = csrow->channels[0]->dimm; in i82443bxgx_init_csrows() 219 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; in i82443bxgx_init_csrows() 221 dimm->grain = 1 << 12; in i82443bxgx_init_csrows() 222 dimm->mtype = mtype; in i82443bxgx_init_csrows() 224 dimm->dtype = DEV_UNKNOWN; in i82443bxgx_init_csrows() 226 dimm->edac_mode = edac_mode; in i82443bxgx_init_csrows()
|
H A D | highbank_mc_edac.c | 152 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 D | armada_xp_edac.c | 226 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 D | i82875p_edac.c | 344 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 D | amd64_edac.c | 1108 int dimm, size0, size1; in dct_debug_display_dimm_sizes() local 1134 for (dimm = 0; dimm < 4; dimm++) { in dct_debug_display_dimm_sizes() 1136 if (dcsb[dimm * 2] & DCSB_CS_ENABLE) in dct_debug_display_dimm_sizes() 1144 DBAM_DIMM(dimm, dbam), in dct_debug_display_dimm_sizes() 1145 dimm); in dct_debug_display_dimm_sizes() 1148 if (dcsb[dimm * 2 + 1] & DCSB_CS_ENABLE) in dct_debug_display_dimm_sizes() 1150 DBAM_DIMM(dimm, dbam), in dct_debug_display_dimm_sizes() 1151 dimm); in dct_debug_display_dimm_sizes() 1154 dimm * 2, size0, in dct_debug_display_dimm_sizes() 1155 dimm * 2 + 1, size1); in dct_debug_display_dimm_sizes() [all …]
|
H A D | pnd2_edac.c | 57 int dimm; member 967 daddr->dimm = 0; in apl_pmi2mem() 987 daddr->dimm = (daddr->rank >= 2) ^ drp[pmiidx].dimmflip; in dnv_pmi2mem() 1117 addr, pmiaddr, daddr->chan, daddr->dimm, daddr->rank, daddr->bank, daddr->row, daddr->col); in get_memory_error_data() 1187 errcode, daddr->chan, daddr->dimm, daddr->rank, daddr->row, daddr->bank, daddr->col); in pnd2_mce_output_error() 1193 m->addr & ~PAGE_MASK, 0, daddr->chan, daddr->dimm, -1, optype, msg); in pnd2_mce_output_error() 1204 struct dimm_info *dimm; in apl_get_dimm_config() local 1210 dimm = edac_get_dimm(mci, i, 0, 0); in apl_get_dimm_config() 1211 if (!dimm) { in apl_get_dimm_config() 1231 dimm->nr_pages = MiB_TO_PAGES(capacity >> (20 - 3)); in apl_get_dimm_config() [all …]
|
H A D | i3000_edac.c | 408 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 D | x38_edac.c | 383 struct dimm_info *dimm = csrow->channels[j]->dimm; in x38_probe1() local 385 dimm->nr_pages = nr_pages / x38_channel_num; in x38_probe1() 386 dimm->grain = nr_pages << PAGE_SHIFT; in x38_probe1() 387 dimm->mtype = MEM_DDR2; in x38_probe1() 388 dimm->dtype = DEV_UNKNOWN; in x38_probe1() 389 dimm->edac_mode = EDAC_UNKNOWN; in x38_probe1()
|
H A D | e7xxx_edac.c | 362 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 D | i7300_edac.c | 588 struct dimm_info *dimm) in decode_mtr() argument 649 dimm->nr_pages = MiB_TO_PAGES(dinfo->megabytes); in decode_mtr() 650 dimm->grain = 8; in decode_mtr() 651 dimm->mtype = MEM_FB_DDR2; in decode_mtr() 653 dimm->edac_mode = EDAC_SECDED; in decode_mtr() 658 dimm->edac_mode = EDAC_S8ECD8ED; in decode_mtr() 660 dimm->edac_mode = EDAC_S4ECD4ED; in decode_mtr() 669 dimm->dtype = DEV_X8; in decode_mtr() 671 dimm->dtype = DEV_X4; in decode_mtr() 752 struct dimm_info *dimm; in i7300_init_csrows() local [all …]
|
/linux/tools/testing/nvdimm/test/ |
H A D | ndtest.c | 37 #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 D | nfit.c | 120 #define NFIT_DIMM_HANDLE(node, socket, imc, chan, dimm) \ argument 122 | ((imc & 0xf) << 8) | ((chan & 0xf) << 4) | (dimm & 0xf)) 190 void **dimm; member 932 static int override_return_code(int dimm, unsigned int func, int rc) in override_return_code() argument 934 if ((1 << func) & dimm_fail_cmd_flags[dimm]) { in override_return_code() 935 if (dimm_fail_cmd_code[dimm]) in override_return_code() 936 return dimm_fail_cmd_code[dimm]; in override_return_code() 944 unsigned int buf_len, int dimm) in nd_intel_test_cmd_security_status() argument 947 struct nfit_test_sec *sec = &dimm_sec_info[dimm]; in nd_intel_test_cmd_security_status() 959 unsigned int buf_len, int dimm) in nd_intel_test_cmd_unlock_unit() argument [all …]
|
/linux/drivers/hwmon/peci/ |
H A D | dimmtemp.c | 82 } dimm[DIMM_NUMS_MAX]; member 100 mutex_lock(&priv->dimm[dimm_no].temp.state.lock); in get_dimm_temp() 101 if (!peci_sensor_need_update(&priv->dimm[dimm_no].temp.state)) in get_dimm_temp() 108 priv->dimm[dimm_no].temp.value = __dimm_temp(data, dimm_order) * MILLIDEGREE_PER_DEGREE; in get_dimm_temp() 110 peci_sensor_mark_updated(&priv->dimm[dimm_no].temp.state); in get_dimm_temp() 113 *val = priv->dimm[dimm_no].temp.value; in get_dimm_temp() 115 mutex_unlock(&priv->dimm[dimm_no].temp.state.lock); in get_dimm_temp() 126 if (!peci_sensor_need_update(&priv->dimm[dimm_no].thresholds.state)) in update_thresholds() 133 priv->dimm[dimm_no].thresholds.temp_max = GET_TEMP_MAX(data) * MILLIDEGREE_PER_DEGREE; in update_thresholds() 134 priv->dimm[dimm_no].thresholds.temp_crit = GET_TEMP_CRIT(data) * MILLIDEGREE_PER_DEGREE; in update_thresholds() [all …]
|
/linux/include/linux/ |
H A D | edac.h | 425 struct dimm_info *dimm; member 614 #define mci_for_each_dimm(mci, dimm) \ argument 615 for ((dimm) = (mci)->dimms[0]; \ 616 (dimm); \ 617 (dimm) = (dimm)->idx + 1 < (mci)->tot_dimms \ 618 ? (mci)->dimms[(dimm)->idx + 1] \
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-edac | 86 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 D | chmc.c | 326 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()
|