Home
last modified time | relevance | path

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

123

/linux/drivers/edac/
H A Dghes_edac.c89 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 Dedac_mc_sysfs.c168 nr_pages += csrow->channels[i]->dimm->nr_pages; in csrow_size_show()
177 return sysfs_emit(data, "%s\n", edac_mem_types[csrow->channels[0]->dimm->mtype]); in csrow_mem_type_show()
185 return sysfs_emit(data, "%s\n", dev_types[csrow->channels[0]->dimm->dtype]); in csrow_dev_type_show()
194 return sysfs_emit(data, "%s\n", edac_caps[csrow->channels[0]->dimm->edac_mode]); in csrow_edac_mode_show()
207 if (!rank->dimm->label[0]) in channel_dimm_label_show()
210 return sysfs_emit(data, "%s\n", rank->dimm->label); in channel_dimm_label_show()
228 if (copy_count == 0 || copy_count >= sizeof(rank->dimm->label)) in channel_dimm_label_store()
231 memcpy(rank->dimm->label, data, copy_count); in channel_dimm_label_store()
232 rank->dimm->label[copy_count] = '\0'; in channel_dimm_label_store()
384 if (!csrow->channels[idx]->dimm->nr_pages) in csrow_dev_is_visible()
[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 Dbluefield_edac.c184 struct dimm_info *dimm; in bluefield_edac_init_dimms() local
189 dimm = mci->dimms[i]; in bluefield_edac_init_dimms()
195 dimm->mtype = MEM_EMPTY; in bluefield_edac_init_dimms()
201 dimm->edac_mode = EDAC_SECDED; in bluefield_edac_init_dimms()
204 dimm->mtype = MEM_NVDIMM; in bluefield_edac_init_dimms()
206 dimm->mtype = MEM_LRDDR4; in bluefield_edac_init_dimms()
208 dimm->mtype = MEM_RDDR4; in bluefield_edac_init_dimms()
210 dimm->mtype = MEM_DDR4; in bluefield_edac_init_dimms()
212 dimm->nr_pages = in bluefield_edac_init_dimms()
215 dimm->grain = MLXBF_EDAC_ERROR_GRAIN; in bluefield_edac_init_dimms()
[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 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.c144 res->dimm = (adxl_nm_bitmap & BIT_NM_DIMM) ? in skx_adxl_decode()
151 res->dimm = (int)adxl_values[component_indices[INDEX_DIMM]]; in skx_adxl_decode()
351 int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm, in skx_get_dimm_info() argument
390 dimm->nr_pages = npages; in skx_get_dimm_info()
391 dimm->grain = 32; in skx_get_dimm_info()
392 dimm->dtype = get_width(mtr); in skx_get_dimm_info()
393 dimm->mtype = mtype; in skx_get_dimm_info()
394 dimm->edac_mode = EDAC_SECDED; /* likely better than this */ in skx_get_dimm_info()
397 snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_HBMC#%u_Chan#%u", in skx_get_dimm_info()
400 snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", in skx_get_dimm_info()
[all …]
H A Dskx_base.c182 struct dimm_info *dimm; in skx_get_dimm_config() local
194 dimm = edac_get_dimm(mci, i, j, 0); in skx_get_dimm_config()
198 ndimms += skx_get_dimm_info(mtr, mcmtr, amap, dimm, imc, i, j, cfg); in skx_get_dimm_config()
200 ndimms += skx_get_nvdimm_info(dimm, imc, i, j, in skx_get_dimm_config()
503 res->dimm = chan_rank / 4; in skx_rir_decode()
507 res->addr, res->dimm, res->rank, in skx_rir_decode()
553 struct skx_dimm *dimm = &r->dev->imc[r->imc].chan[r->channel].dimms[r->dimm]; in skx_mad_decode() local
554 int bg0 = dimm->fine_grain_bank ? 6 : 13; in skx_mad_decode()
556 if (dimm->close_pg) { in skx_mad_decode()
557 r->row = skx_bits(r->rank_address, dimm->rowbits, skx_close_row); in skx_mad_decode()
[all …]
H A Die31200_edac.c493 struct dimm_info *dimm; in ie31200_probe1() local
502 dimm = edac_get_dimm(mci, (i * 2) + 1, j, 0); in ie31200_probe1()
503 dimm->nr_pages = nr_pages; in ie31200_probe1()
505 dimm->grain = 8; /* just a guess */ in ie31200_probe1()
507 dimm->mtype = MEM_DDR4; in ie31200_probe1()
509 dimm->mtype = MEM_DDR3; in ie31200_probe1()
510 dimm->dtype = DEV_UNKNOWN; in ie31200_probe1()
511 dimm->edac_mode = EDAC_UNKNOWN; in ie31200_probe1()
513 dimm = edac_get_dimm(mci, i * 2, j, 0); in ie31200_probe1()
514 dimm->nr_pages = nr_pages; in ie31200_probe1()
[all …]
H A Di5400_edac.c862 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 Dr82600_edac.c220 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 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 Di82443bxgx_edac.c189 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 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.c1107 int dimm, size0, size1; in dct_debug_display_dimm_sizes() local
1133 for (dimm = 0; dimm < 4; dimm++) { in dct_debug_display_dimm_sizes()
1135 if (dcsb[dimm * 2] & DCSB_CS_ENABLE) in dct_debug_display_dimm_sizes()
1143 DBAM_DIMM(dimm, dbam), in dct_debug_display_dimm_sizes()
1144 dimm); in dct_debug_display_dimm_sizes()
1147 if (dcsb[dimm * 2 + 1] & DCSB_CS_ENABLE) in dct_debug_display_dimm_sizes()
1149 DBAM_DIMM(dimm, dbam), in dct_debug_display_dimm_sizes()
1150 dimm); in dct_debug_display_dimm_sizes()
1153 dimm * 2, size0, in dct_debug_display_dimm_sizes()
1154 dimm * 2 + 1, size1); in dct_debug_display_dimm_sizes()
[all …]
/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
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/gpu/drm/i915/soc/
H A Dintel_dram.c238 static int intel_dimm_num_devices(const struct dram_dimm_info *dimm) in intel_dimm_num_devices() argument
240 return dimm->ranks * 64 / (dimm->width ?: 1); in intel_dimm_num_devices()
310 skl_is_16gb_dimm(const struct dram_dimm_info *dimm) in skl_is_16gb_dimm() argument
313 return dimm->size / (intel_dimm_num_devices(dimm) ?: 1) == 16; in skl_is_16gb_dimm()
318 struct dram_dimm_info *dimm, in skl_dram_get_dimm_info() argument
322 dimm->size = icl_get_dimm_size(val); in skl_dram_get_dimm_info()
323 dimm->width = icl_get_dimm_width(val); in skl_dram_get_dimm_info()
324 dimm->ranks = icl_get_dimm_ranks(val); in skl_dram_get_dimm_info()
326 dimm->size = skl_get_dimm_size(val); in skl_dram_get_dimm_info()
327 dimm->width = skl_get_dimm_width(val); in skl_dram_get_dimm_info()
[all …]
/linux/drivers/hwmon/peci/
H A Ddimmtemp.c82 } 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()
135 priv->dimm[dimm_no].thresholds.temp_max = GET_TEMP_MAX(data) * MILLIDEGREE_PER_DEGREE; in update_thresholds()
136 priv->dimm[dimm_no].thresholds.temp_crit = GET_TEMP_CRIT(data) * MILLIDEGREE_PER_DEGREE; in update_thresholds()
[all …]
/linux/include/linux/
H A Dedac.h425 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 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 …]

123