/linux-master/drivers/edac/ |
H A D | ghes_edac.c | 89 struct dimm_info *dimm; local 91 mci_for_each_dimm(mci, dimm) { 92 if (dimm->smbios_handle == handle) 93 return dimm; 99 static void dimm_setup_label(struct dimm_info *dimm, u16 handle) argument 109 snprintf(dimm->label, sizeof(dimm->label), "%s%s%s", 115 static void assign_dmi_dimm_info(struct dimm_info *dimm, struct memdev_dmi_entry *entry) argument 120 pr_info("Can't get DIMM%i size\n", dimm->idx); 121 dimm 354 struct dimm_info *dimm; local 470 struct dimm_info *dimm = edac_get_dimm(mci, 0, 0, 0); local [all...] |
H A D | edac_mc_sysfs.c | 127 * and the per-dimm/per-rank one 168 nr_pages += csrow->channels[i]->dimm->nr_pages; 177 return sprintf(data, "%s\n", edac_mem_types[csrow->channels[0]->dimm->mtype]); 185 return sprintf(data, "%s\n", dev_types[csrow->channels[0]->dimm->dtype]); 194 return sprintf(data, "%s\n", edac_caps[csrow->channels[0]->dimm->edac_mode]); 207 if (!rank->dimm->label[0]) 210 return snprintf(data, sizeof(rank->dimm->label) + 1, "%s\n", 211 rank->dimm->label); 229 if (copy_count == 0 || copy_count >= sizeof(rank->dimm->label)) 232 memcpy(rank->dimm 500 struct dimm_info *dimm = to_dimm(dev); local 512 struct dimm_info *dimm = to_dimm(dev); local 526 struct dimm_info *dimm = to_dimm(dev); local 547 struct dimm_info *dimm = to_dimm(dev); local 555 struct dimm_info *dimm = to_dimm(dev); local 563 struct dimm_info *dimm = to_dimm(dev); local 572 struct dimm_info *dimm = to_dimm(dev); local 581 struct dimm_info *dimm = to_dimm(dev); local 590 struct dimm_info *dimm = to_dimm(dev); local 641 edac_create_dimm_object(struct mem_ctl_info *mci, struct dimm_info *dimm) argument 688 struct dimm_info *dimm; local 830 struct dimm_info *dimm = csrow->channels[j]->dimm; local 936 struct dimm_info *dimm; local 989 struct dimm_info *dimm; local [all...] |
H A D | i82860_edac.c | 101 struct dimm_info *dimm; local 118 dimm = mci->csrows[row]->channels[0]->dimm; 123 dimm->location[0], dimm->location[1], -1, 128 dimm->location[0], dimm->location[1], -1, 149 struct dimm_info *dimm; local 163 dimm = csrow->channels[0]->dimm; [all...] |
H A D | edac_mc.c | 61 unsigned int edac_dimm_info_location(struct dimm_info *dimm, char *buf, argument 64 struct mem_ctl_info *mci = dimm->mci; 71 dimm->location[i]); 87 edac_dbg(4, " channel->dimm = %p\n", chan->dimm); 90 static void edac_mc_dump_dimm(struct dimm_info *dimm) argument 94 if (!dimm->nr_pages) 97 edac_dimm_info_location(dimm, location, sizeof(location)); 100 dimm->mci->csbased ? "rank" : "dimm", 273 struct dimm_info *dimm; local 612 struct dimm_info *dimm; local 766 struct dimm_info *dimm = csrow->channels[j]->dimm; local 808 struct dimm_info *dimm = edac_get_dimm(mci, pos[0], pos[1], pos[2]); local 822 struct dimm_info *dimm = edac_get_dimm(mci, pos[0], pos[1], pos[2]); local 956 struct dimm_info *dimm; local [all...] |
H A D | pasemi_edac.c | 127 struct dimm_info *dimm; local 133 dimm = csrow->channels[0]->dimm; 145 dimm->nr_pages = 128 << (20 - PAGE_SHIFT); 148 dimm->nr_pages = 256 << (20 - PAGE_SHIFT); 152 dimm->nr_pages = 512 << (20 - PAGE_SHIFT); 155 dimm->nr_pages = 1024 << (20 - PAGE_SHIFT); 158 dimm->nr_pages = 2048 << (20 - PAGE_SHIFT); 168 csrow->last_page = csrow->first_page + dimm->nr_pages - 1; 169 last_page_in_mmc += dimm [all...] |
H A D | bluefield_edac.c | 184 struct dimm_info *dimm; local 189 dimm = mci->dimms[i]; 195 dimm->mtype = MEM_EMPTY; 201 dimm->edac_mode = EDAC_SECDED; 204 dimm->mtype = MEM_NVDIMM; 206 dimm->mtype = MEM_LRDDR4; 208 dimm->mtype = MEM_RDDR4; 210 dimm->mtype = MEM_DDR4; 212 dimm->nr_pages = 215 dimm [all...] |
H A D | ti_edac.c | 132 struct dimm_info *dimm; local 138 dimm = edac_get_dimm(mci, 0, 0, 0); 149 dimm->dtype = DEV_X16; 152 dimm->dtype = DEV_X32; 166 dimm->dtype = DEV_X64; 170 dimm->dtype = DEV_X32; 174 dimm->dtype = DEV_X16; 181 dimm->nr_pages = memsize >> PAGE_SHIFT; 182 dimm->grain = 4; 184 dimm [all...] |
H A D | amd76x_edac.c | 190 struct dimm_info *dimm; local 196 dimm = csrow->channels[0]->dimm; 209 dimm->nr_pages = (mba_mask + 1) >> PAGE_SHIFT; 210 csrow->last_page = csrow->first_page + dimm->nr_pages - 1; 212 dimm->grain = dimm->nr_pages << PAGE_SHIFT; 213 dimm->mtype = MEM_RDDR; 214 dimm->dtype = ((dms >> index) & 0x1) ? DEV_X4 : DEV_UNKNOWN; 215 dimm [all...] |
H A D | skx_common.c | 142 res->dimm = (adxl_nm_bitmap & BIT_NM_DIMM) ? 149 res->dimm = (int)adxl_values[component_indices[INDEX_DIMM]]; 343 int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm, argument 372 edac_dbg(0, "mc#%d: channel %d, dimm %d, %lld MiB (%d pages) bank: %d, rank: %d, row: 0x%x, col: 0x%x\n", 382 dimm->nr_pages = npages; 383 dimm->grain = 32; 384 dimm->dtype = get_width(mtr); 385 dimm->mtype = mtype; 386 dimm->edac_mode = EDAC_SECDED; /* likely better than this */ 389 snprintf(dimm 398 skx_get_nvdimm_info(struct dimm_info *dimm, struct skx_imc *imc, int chan, int dimmno, const char *mod_str) argument [all...] |
H A D | r82600_edac.c | 220 struct dimm_info *dimm; local 232 dimm = csrow->channels[0]->dimm; 254 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; 257 dimm->grain = 1 << 14; 258 dimm->mtype = reg_sdram ? MEM_RDDR : MEM_DDR; 260 dimm->dtype = DEV_UNKNOWN; 263 dimm->edac_mode = ecc_on ? EDAC_SECDED : EDAC_NONE;
|
H A D | highbank_mc_edac.c | 152 struct dimm_info *dimm; local 224 dimm = *mci->dimms; 225 dimm->nr_pages = (~0UL >> PAGE_SHIFT) + 1; 226 dimm->grain = 8; 227 dimm->dtype = DEV_X8; 228 dimm->mtype = MEM_DDR3; 229 dimm->edac_mode = EDAC_SECDED;
|
H A D | i82443bxgx_edac.c | 189 struct dimm_info *dimm; local 198 dimm = csrow->channels[0]->dimm; 219 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; 221 dimm->grain = 1 << 12; 222 dimm->mtype = mtype; 224 dimm->dtype = DEV_UNKNOWN; 226 dimm->edac_mode = edac_mode;
|
H A D | ie31200_edac.c | 493 struct dimm_info *dimm; local 502 dimm = edac_get_dimm(mci, (i * 2) + 1, j, 0); 503 dimm->nr_pages = nr_pages; 505 dimm->grain = 8; /* just a guess */ 507 dimm->mtype = MEM_DDR4; 509 dimm->mtype = MEM_DDR3; 510 dimm->dtype = DEV_UNKNOWN; 511 dimm->edac_mode = EDAC_UNKNOWN; 513 dimm = edac_get_dimm(mci, i * 2, j, 0); 514 dimm [all...] |
H A D | i82975x_edac.c | 313 (1 << mci->csrows[row]->channels[chan]->dimm->grain)); 368 struct dimm_info *dimm; local 407 dimm = mci->csrows[index]->channels[chan]->dimm; 409 dimm->nr_pages = nr_pages / csrow->nr_channels; 411 snprintf(csrow->channels[chan]->dimm->label, EDAC_MC_LABEL_LEN, "DIMM %c%d", 414 dimm->grain = 1 << 7; /* 128Byte cache-line resolution */ 417 dimm->dtype = DEV_X8; 419 dimm->mtype = MEM_DDR2; /* I82975x supports only DDR2 */ 420 dimm [all...] |
H A D | i3000_edac.c | 408 struct dimm_info *dimm = csrow->channels[j]->dimm; local 410 dimm->nr_pages = nr_pages / nr_channels; 411 dimm->grain = I3000_DEAP_GRAIN; 412 dimm->mtype = MEM_DDR2; 413 dimm->dtype = DEV_UNKNOWN; 414 dimm->edac_mode = EDAC_UNKNOWN;
|
H A D | x38_edac.c | 383 struct dimm_info *dimm = csrow->channels[j]->dimm; local 385 dimm->nr_pages = nr_pages / x38_channel_num; 386 dimm->grain = nr_pages << PAGE_SHIFT; 387 dimm->mtype = MEM_DDR2; 388 dimm->dtype = DEV_UNKNOWN; 389 dimm->edac_mode = EDAC_UNKNOWN;
|
H A D | i5400_edac.c | 23 * 4 dimm's, each with up to 8GB. 858 * determine_mtr(pvt, dimm, channel) 860 * return the proper MTR register as determine by the dimm and desired channel 862 static int determine_mtr(struct i5400_pvt *pvt, int dimm, int channel) argument 870 n = dimm; 873 edac_dbg(0, "ERROR: trying to access an invalid dimm: %d\n", 874 dimm); 919 static void handle_channel(struct i5400_pvt *pvt, int dimm, int channel, argument 926 mtr = determine_mtr(pvt, dimm, channel); 931 if (amb_present_reg & (1 << dimm)) { 960 int dimm, max_dimms; local 1168 struct dimm_info *dimm; local [all...] |
H A D | skx_base.c | 182 struct dimm_info *dimm; local 194 dimm = edac_get_dimm(mci, i, j, 0); 198 ndimms += skx_get_dimm_info(mtr, mcmtr, amap, dimm, imc, i, j, cfg); 200 ndimms += skx_get_nvdimm_info(dimm, imc, i, j, 503 res->dimm = chan_rank / 4; 506 edac_dbg(2, "0x%llx: dimm=%d rank=%d chan_rank=%d rank_addr=0x%llx\n", 507 res->addr, res->dimm, res->rank, 553 struct skx_dimm *dimm = &r->dev->imc[r->imc].chan[r->channel].dimms[r->dimm]; local 554 int bg0 = dimm [all...] |
H A D | armada_xp_edac.c | 226 struct dimm_info *dimm; local 239 dimm = mci->dimms[i]; 253 dimm->nr_pages = 524288; 256 dimm->nr_pages = 65536; 259 dimm->nr_pages = 131072; 262 dimm->nr_pages = 262144; 265 dimm->nr_pages = 1048576; 268 dimm->nr_pages = 2097152; 271 dimm->grain = 8; 272 dimm [all...] |
H A D | aspeed_edac.c | 235 struct dimm_info *dimm; local 267 dimm = csrow->channels[0]->dimm; 268 dimm->mtype = dram_type; 269 dimm->edac_mode = EDAC_SECDED; 270 dimm->nr_pages = nr_pages / csrow->nr_channels; 272 dev_dbg(mci->pdev, "initialized dimm with first_page=0x%lx and nr_pages=0x%x\n",
|
H A D | cell_edac.c | 131 struct dimm_info *dimm; local 153 dimm = csrow->channels[j]->dimm; 154 dimm->mtype = MEM_XDR; 155 dimm->edac_mode = EDAC_SECDED; 156 dimm->nr_pages = nr_pages / csrow->nr_channels;
|
/linux-master/tools/testing/nvdimm/test/ |
H A D | ndtest.c | 35 #define NFIT_DIMM_HANDLE(node, socket, imc, chan, dimm) \ 37 | ((imc & 0xf) << 8) | ((chan & 0xf) << 4) | (dimm & 0xf)) 101 .dimm = 0, 107 .dimm = 1, 116 .dimm = 0, 122 .dimm = 1, 128 .dimm = 2, 134 .dimm = 3, 160 .dimm = 0, 232 static int ndtest_get_config_size(struct ndtest_dimm *dimm, unsigne argument 246 struct ndtest_dimm *dimm; local 495 struct ndtest_dimm *dimm = dev_get_drvdata(dev); local 504 struct ndtest_dimm *dimm = dev_get_drvdata(dev); local 512 struct ndtest_dimm *dimm = dev_get_drvdata(dev); local 529 struct ndtest_dimm *dimm = dev_get_drvdata(dev); local 537 struct ndtest_dimm *dimm = dev_get_drvdata(dev); local 570 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 587 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 598 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 626 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 636 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 657 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 669 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); local 724 ndtest_dimm_register(struct ndtest_priv *priv, struct ndtest_dimm *dimm, int id) argument [all...] |
/linux-master/drivers/gpu/drm/i915/soc/ |
H A D | intel_dram.c | 195 static int intel_dimm_num_devices(const struct dram_dimm_info *dimm) argument 197 return dimm->ranks * 64 / (dimm->width ?: 1); 267 skl_is_16gb_dimm(const struct dram_dimm_info *dimm) argument 270 return dimm->size / (intel_dimm_num_devices(dimm) ?: 1) == 16; 275 struct dram_dimm_info *dimm, 279 dimm->size = icl_get_dimm_size(val); 280 dimm->width = icl_get_dimm_width(val); 281 dimm 274 skl_dram_get_dimm_info(struct drm_i915_private *i915, struct dram_dimm_info *dimm, int channel, char dimm_name, u16 val) argument 480 bxt_get_dimm_info(struct dram_dimm_info *dimm, u32 val) argument 503 struct dram_dimm_info dimm; local [all...] |
/linux-master/drivers/hwmon/peci/ |
H A D | dimmtemp.c | 82 } dimm[DIMM_NUMS_MAX]; member in struct:peci_dimmtemp 100 mutex_lock(&priv->dimm[dimm_no].temp.state.lock); 101 if (!peci_sensor_need_update(&priv->dimm[dimm_no].temp.state)) 108 priv->dimm[dimm_no].temp.value = __dimm_temp(data, dimm_order) * MILLIDEGREE_PER_DEGREE; 110 peci_sensor_mark_updated(&priv->dimm[dimm_no].temp.state); 113 *val = priv->dimm[dimm_no].temp.value; 115 mutex_unlock(&priv->dimm[dimm_no].temp.state.lock); 126 if (!peci_sensor_need_update(&priv->dimm[dimm_no].thresholds.state)) 135 priv->dimm[dimm_no].thresholds.temp_max = GET_TEMP_MAX(data) * MILLIDEGREE_PER_DEGREE; 136 priv->dimm[dimm_n [all...] |
/linux-master/include/linux/ |
H A D | edac.h | 390 unsigned int idx; /* index within the parent dimm array */ 394 enum mem_type mtype; /* memory dimm type */ 395 enum edac_type edac_mode; /* EDAC mode for this dimm */ 397 u32 nr_pages; /* number of pages on this dimm */ 415 * @dimm: A pointer to the DIMM structure, where the DIMM label 425 struct dimm_info *dimm; member in struct:rank_info 614 #define mci_for_each_dimm(mci, dimm) \ 615 for ((dimm) = (mci)->dimms[0]; \ 616 (dimm); \ 617 (dimm) [all...] |