/openbmc/qemu/hw/mem/ |
H A D | pc-dimm.c | 37 static MemoryRegion *pc_dimm_get_memory_region(PCDIMMDevice *dimm, Error **errp) in pc_dimm_get_memory_region() argument 39 if (!dimm->hostmem) { in pc_dimm_get_memory_region() 44 return host_memory_backend_get_memory(dimm->hostmem); in pc_dimm_get_memory_region() 47 void pc_dimm_pre_plug(PCDIMMDevice *dimm, MachineState *machine, Error **errp) in pc_dimm_pre_plug() argument 52 slot = object_property_get_int(OBJECT(dimm), PC_DIMM_SLOT_PROP, in pc_dimm_pre_plug() 68 object_property_set_int(OBJECT(dimm), PC_DIMM_SLOT_PROP, slot, in pc_dimm_pre_plug() 72 memory_device_pre_plug(MEMORY_DEVICE(dimm), machine, errp); in pc_dimm_pre_plug() 75 void pc_dimm_plug(PCDIMMDevice *dimm, MachineState *machine) in pc_dimm_plug() argument 77 MemoryRegion *vmstate_mr = pc_dimm_get_memory_region(dimm, in pc_dimm_plug() 80 memory_device_plug(MEMORY_DEVICE(dimm), machine); in pc_dimm_plug() [all …]
|
H A D | nvdimm.c | 119 PCDIMMDevice *dimm = PC_DIMM(nvdimm); in nvdimm_prepare_memory_region() local 125 if (!dimm->hostmem) { in nvdimm_prepare_memory_region() 130 mr = host_memory_backend_get_memory(dimm->hostmem); in nvdimm_prepare_memory_region() 139 HostMemoryBackend *hostmem = dimm->hostmem; in nvdimm_prepare_memory_region() 150 HostMemoryBackend *hostmem = dimm->hostmem; in nvdimm_prepare_memory_region() 162 memory_region_init_alias(nvdimm->nvdimm_mr, OBJECT(dimm), in nvdimm_prepare_memory_region() 184 static void nvdimm_realize(PCDIMMDevice *dimm, Error **errp) in nvdimm_realize() argument 186 NVDIMMDevice *nvdimm = NVDIMM(dimm); in nvdimm_realize() 198 static void nvdimm_unrealize(PCDIMMDevice *dimm) in nvdimm_unrealize() argument 200 NVDIMMDevice *nvdimm = NVDIMM(dimm); in nvdimm_unrealize() [all …]
|
/openbmc/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 | edac_mc_sysfs.c | 168 nr_pages += csrow->channels[i]->dimm->nr_pages; in csrow_size_show() 177 return sprintf(data, "%s\n", edac_mem_types[csrow->channels[0]->dimm->mtype]); in csrow_mem_type_show() 185 return sprintf(data, "%s\n", dev_types[csrow->channels[0]->dimm->dtype]); in csrow_dev_type_show() 194 return sprintf(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 snprintf(data, sizeof(rank->dimm->label) + 1, "%s\n", in channel_dimm_label_show() 211 rank->dimm->label); in channel_dimm_label_show() 229 if (copy_count == 0 || copy_count >= sizeof(rank->dimm->label)) in channel_dimm_label_store() 232 strncpy(rank->dimm->label, data, copy_count); in channel_dimm_label_store() 233 rank->dimm->label[copy_count] = '\0'; in channel_dimm_label_store() [all …]
|
H A D | edac_mc.c | 61 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 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 | bluefield_edac.c | 184 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 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 | 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 | skx_common.c | 161 res->dimm = (adxl_nm_bitmap & BIT_NM_DIMM) ? in skx_adxl_decode() 168 res->dimm = (int)adxl_values[component_indices[INDEX_DIMM]]; in skx_adxl_decode() 374 int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm, in skx_get_dimm_info() argument 413 dimm->nr_pages = npages; in skx_get_dimm_info() 414 dimm->grain = 32; in skx_get_dimm_info() 415 dimm->dtype = get_width(mtr); in skx_get_dimm_info() 416 dimm->mtype = mtype; in skx_get_dimm_info() 417 dimm->edac_mode = EDAC_SECDED; /* likely better than this */ in skx_get_dimm_info() 420 snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_HBMC#%u_Chan#%u", in skx_get_dimm_info() 423 snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", in skx_get_dimm_info() [all …]
|
H A D | skx_base.c | 182 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 D | ie31200_edac.c | 493 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 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 | 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 …]
|
/openbmc/u-boot/doc/device-tree-bindings/misc/ |
H A D | intel,baytrail-fsp.txt | 70 - fsp,dimm-0-enable 71 - fsp,dimm-1-enable 77 - fsp,dimm-width 78 - fsp,dimm-density 79 - fsp,dimm-bus-width 80 - fsp,dimm-sides 81 - fsp,dimm-tcl 82 - fsp,dimm-trpt-rcd 83 - fsp,dimm-twr 84 - fsp,dimm-twtr [all …]
|
/openbmc/linux/tools/testing/nvdimm/test/ |
H A D | ndtest.c | 35 #define NFIT_DIMM_HANDLE(node, socket, imc, chan, dimm) \ argument 37 | ((imc & 0xf) << 8) | ((chan & 0xf) << 4) | (dimm & 0xf)) 97 .dimm = 0, 103 .dimm = 1, 112 .dimm = 0, 118 .dimm = 1, 124 .dimm = 2, 130 .dimm = 3, 156 .dimm = 0, 228 static int ndtest_get_config_size(struct ndtest_dimm *dimm, unsigned int buf_len, in ndtest_get_config_size() argument [all …]
|
/openbmc/linux/drivers/gpu/drm/i915/soc/ |
H A D | intel_dram.c | 195 static int intel_dimm_num_devices(const struct dram_dimm_info *dimm) in intel_dimm_num_devices() argument 197 return dimm->ranks * 64 / (dimm->width ?: 1); in intel_dimm_num_devices() 267 skl_is_16gb_dimm(const struct dram_dimm_info *dimm) in skl_is_16gb_dimm() argument 270 return dimm->size / (intel_dimm_num_devices(dimm) ?: 1) == 16; in skl_is_16gb_dimm() 275 struct dram_dimm_info *dimm, in skl_dram_get_dimm_info() argument 279 dimm->size = icl_get_dimm_size(val); in skl_dram_get_dimm_info() 280 dimm->width = icl_get_dimm_width(val); in skl_dram_get_dimm_info() 281 dimm->ranks = icl_get_dimm_ranks(val); in skl_dram_get_dimm_info() 283 dimm->size = skl_get_dimm_size(val); in skl_dram_get_dimm_info() 284 dimm->width = skl_get_dimm_width(val); in skl_dram_get_dimm_info() [all …]
|
/openbmc/qemu/include/hw/mem/ |
H A D | pc-dimm.h | 65 void (*realize)(PCDIMMDevice *dimm, Error **errp); 66 void (*unrealize)(PCDIMMDevice *dimm); 69 void pc_dimm_pre_plug(PCDIMMDevice *dimm, MachineState *machine, Error **errp); 70 void pc_dimm_plug(PCDIMMDevice *dimm, MachineState *machine); 71 void pc_dimm_unplug(PCDIMMDevice *dimm, MachineState *machine);
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_nvdimm.c | 63 void (*realize)(NVDIMMDevice *dimm, Error **errp); 64 void (*unrealize)(NVDIMMDevice *dimm, Error **errp); 72 PCDIMMDevice *dimm = PC_DIMM(nvdimm); in spapr_nvdimm_validate() local 73 MemoryRegion *mr = host_memory_backend_get_memory(dimm->hostmem); in spapr_nvdimm_validate() 115 object_get_canonical_path_component(OBJECT(dimm->hostmem))); in spapr_nvdimm_validate() 192 PCDIMMDevice *dimm = PC_DIMM(nvdimm); in spapr_dt_nvdimm() local 193 HostMemoryBackend *hostmem = dimm->hostmem; in spapr_dt_nvdimm() 451 PCDIMMDevice *dimm; in flush_worker_cb() local 457 dimm = PC_DIMM(drc->dev); in flush_worker_cb() 458 backend = MEMORY_BACKEND(dimm->hostmem); in flush_worker_cb() [all …]
|
/openbmc/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() 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 …]
|
/openbmc/phosphor-settingsd/ |
H A D | README.txt | 7 keyregex: "dimm" 9 matchregex: "/(dimm\d*)$" 12 objects at /org/openbmc/inventory that relate to the 'dimm' main 14 The 'matchregex' will identify all objects with names that start with 'dimm', 17 which is a group (dimm\d*).
|
/openbmc/fb-ipmi-oem/src/ |
H A D | biccommands.cpp | 48 namespace dimm namespace 110 if (dimm::dimmLoops[hostId].startDetect) in dimmLoopPatternDetection() 112 dimm::dimmLoops[hostId].totalErrorCount = 0; in dimmLoopPatternDetection() 113 dimm::dimmLoops[hostId].postCode.clear(); in dimmLoopPatternDetection() 115 dimm::dimmLoops[hostId].startDetect = false; in dimmLoopPatternDetection() 121 if (dimm::dimmLoops[hostId].gotPattern) in dimmLoopPatternDetection() 129 dimm::dimmLoops[hostId].startDetect = true; in dimmLoopPatternDetection() 131 if (dimm::dimmLoops[hostId].startDetect) in dimmLoopPatternDetection() 134 if (dimm::dimmLoops[hostId].postCode.size() % 6 == 1) in dimmLoopPatternDetection() 136 dimm::dimmLoops[hostId].totalErrorCount = (data[1] << 8) | data[0]; in dimmLoopPatternDetection() [all …]
|
/openbmc/u-boot/arch/x86/dts/ |
H A D | conga-qeval20-qa3-e3845.dts | 283 fsp,dimm-0-enable; 284 fsp,dimm-1-enable; 285 fsp,dimm-width = <DIMM_WIDTH_X16>; 286 fsp,dimm-density = <DIMM_DENSITY_4GBIT>; 287 fsp,dimm-bus-width = <DIMM_BUS_WIDTH_64BITS>; 288 fsp,dimm-sides = <DIMM_SIDES_1RANKS>; 291 fsp,dimm-tcl = <8>; 292 fsp,dimm-trpt-rcd = <8>; 293 fsp,dimm-twr = <8>; 294 fsp,dimm-twtr = <4>; [all …]
|
/openbmc/u-boot/drivers/ddr/marvell/axp/ |
H A D | ddr3_spd.c | 183 u32 dimm); 506 int ddr3_spd_sum_init(MV_DIMM_INFO *info, MV_DIMM_INFO *sum_info, u32 dimm) in ddr3_spd_sum_init() argument 508 if (dimm == 0) { in ddr3_spd_sum_init() 585 __maybe_unused u32 dimm_cnt, cs_count, dimm; local 625 for (dimm = 0; dimm < dimm_num; dimm++) { 626 status = ddr3_spd_init(&dimm_info[dimm], dimm_addr[dimm], 630 status = ddr3_spd_sum_init(&dimm_info[dimm], &sum_info, dimm); 643 for (dimm = 0; dimm < dimm_num; dimm++) 644 cs_num += dimm_info[dimm].num_of_module_ranks; 658 dimm = 0; [all …]
|