/drivers/edac/ |
D | edac_mc_sysfs.c | 190 nr_pages += csrow->channels[i]->dimm->nr_pages; in csrow_size_show() 199 return sprintf(data, "%s\n", mem_types[csrow->channels[0]->dimm->mtype]); in csrow_mem_type_show() 207 return sprintf(data, "%s\n", dev_types[csrow->channels[0]->dimm->dtype]); in csrow_dev_type_show() 216 return sprintf(data, "%s\n", edac_caps[csrow->channels[0]->dimm->edac_mode]); in csrow_edac_mode_show() 229 if (!rank->dimm->label[0]) in channel_dimm_label_show() 232 return snprintf(data, sizeof(rank->dimm->label) + 1, "%s\n", in channel_dimm_label_show() 233 rank->dimm->label); in channel_dimm_label_show() 251 if (copy_count == 0 || copy_count >= sizeof(rank->dimm->label)) in channel_dimm_label_store() 254 strncpy(rank->dimm->label, data, copy_count); in channel_dimm_label_store() 255 rank->dimm->label[copy_count] = '\0'; in channel_dimm_label_store() [all …]
|
D | ghes_edac.c | 84 struct dimm_info *dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, in ghes_edac_dmidecode() local 91 dimm->nr_pages = MiB_TO_PAGES(32);/* Unknown */ in ghes_edac_dmidecode() 93 dimm->nr_pages = MiB_TO_PAGES(entry->extended_size); in ghes_edac_dmidecode() 96 dimm->nr_pages = MiB_TO_PAGES((entry->size & in ghes_edac_dmidecode() 99 dimm->nr_pages = MiB_TO_PAGES(entry->size); in ghes_edac_dmidecode() 105 dimm->mtype = MEM_RDDR; in ghes_edac_dmidecode() 107 dimm->mtype = MEM_DDR; in ghes_edac_dmidecode() 111 dimm->mtype = MEM_RDDR2; in ghes_edac_dmidecode() 113 dimm->mtype = MEM_DDR2; in ghes_edac_dmidecode() 116 dimm->mtype = MEM_FB_DDR2; in ghes_edac_dmidecode() [all …]
|
D | edac_mc.c | 55 unsigned edac_dimm_info_location(struct dimm_info *dimm, char *buf, in edac_dimm_info_location() argument 58 struct mem_ctl_info *mci = dimm->mci; in edac_dimm_info_location() 65 dimm->location[i]); in edac_dimm_info_location() 83 edac_dbg(4, " channel->dimm = %p\n", chan->dimm); in edac_mc_dump_channel() 86 static void edac_mc_dump_dimm(struct dimm_info *dimm, int number) in edac_mc_dump_dimm() argument 90 edac_dimm_info_location(dimm, location, sizeof(location)); in edac_mc_dump_dimm() 93 dimm->mci->csbased ? "rank" : "dimm", in edac_mc_dump_dimm() 94 number, location, dimm->csrow, dimm->cschannel); in edac_mc_dump_dimm() 95 edac_dbg(4, " dimm = %p\n", dimm); in edac_mc_dump_dimm() 96 edac_dbg(4, " dimm->label = '%s'\n", dimm->label); in edac_mc_dump_dimm() [all …]
|
D | pasemi_edac.c | 139 struct dimm_info *dimm; in pasemi_edac_init_csrows() local 145 dimm = csrow->channels[0]->dimm; in pasemi_edac_init_csrows() 157 dimm->nr_pages = 128 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows() 160 dimm->nr_pages = 256 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows() 164 dimm->nr_pages = 512 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows() 167 dimm->nr_pages = 1024 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows() 170 dimm->nr_pages = 2048 << (20 - PAGE_SHIFT); in pasemi_edac_init_csrows() 180 csrow->last_page = csrow->first_page + dimm->nr_pages - 1; in pasemi_edac_init_csrows() 181 last_page_in_mmc += dimm->nr_pages; in pasemi_edac_init_csrows() 183 dimm->grain = PASEMI_EDAC_ERROR_GRAIN; in pasemi_edac_init_csrows() [all …]
|
D | i82860_edac.c | 102 struct dimm_info *dimm; in i82860_process_error_info() local 119 dimm = mci->csrows[row]->channels[0]->dimm; in i82860_process_error_info() 124 dimm->location[0], dimm->location[1], -1, in i82860_process_error_info() 129 dimm->location[0], dimm->location[1], -1, in i82860_process_error_info() 151 struct dimm_info *dimm; in i82860_init_csrows() local 165 dimm = csrow->channels[0]->dimm; in i82860_init_csrows() 177 dimm->nr_pages = cumul_size - last_cumul_size; in i82860_init_csrows() 179 dimm->grain = 1 << 12; /* I82860_EAP has 4KiB reolution */ in i82860_init_csrows() 180 dimm->mtype = MEM_RMBS; in i82860_init_csrows() 181 dimm->dtype = DEV_UNKNOWN; in i82860_init_csrows() [all …]
|
D | tile_edac.c | 90 struct dimm_info *dimm = csrow->channels[0]->dimm; in tile_edac_init_csrows() local 100 dimm->edac_mode = EDAC_SECDED; in tile_edac_init_csrows() 102 dimm->edac_mode = EDAC_NONE; in tile_edac_init_csrows() 105 dimm->mtype = MEM_DDR2; in tile_edac_init_csrows() 109 dimm->mtype = MEM_DDR3; in tile_edac_init_csrows() 116 dimm->nr_pages = mem_info.mem_size >> PAGE_SHIFT; in tile_edac_init_csrows() 117 dimm->grain = TILE_EDAC_ERROR_GRAIN; in tile_edac_init_csrows() 118 dimm->dtype = DEV_UNKNOWN; in tile_edac_init_csrows()
|
D | amd76x_edac.c | 192 struct dimm_info *dimm; in amd76x_init_csrows() local 198 dimm = csrow->channels[0]->dimm; in amd76x_init_csrows() 211 dimm->nr_pages = (mba_mask + 1) >> PAGE_SHIFT; in amd76x_init_csrows() 212 csrow->last_page = csrow->first_page + dimm->nr_pages - 1; in amd76x_init_csrows() 214 dimm->grain = dimm->nr_pages << PAGE_SHIFT; in amd76x_init_csrows() 215 dimm->mtype = MEM_RDDR; in amd76x_init_csrows() 216 dimm->dtype = ((dms >> index) & 0x1) ? DEV_X4 : DEV_UNKNOWN; in amd76x_init_csrows() 217 dimm->edac_mode = edac_mode; in amd76x_init_csrows()
|
D | ie31200_edac.c | 407 struct dimm_info *dimm; in ie31200_probe1() local 416 dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, in ie31200_probe1() 419 dimm->nr_pages = nr_pages; in ie31200_probe1() 421 dimm->grain = 8; /* just a guess */ in ie31200_probe1() 422 dimm->mtype = MEM_DDR3; in ie31200_probe1() 423 dimm->dtype = DEV_UNKNOWN; in ie31200_probe1() 424 dimm->edac_mode = EDAC_UNKNOWN; in ie31200_probe1() 426 dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, in ie31200_probe1() 428 dimm->nr_pages = nr_pages; in ie31200_probe1() 430 dimm->grain = 8; /* same guess */ in ie31200_probe1() [all …]
|
D | r82600_edac.c | 222 struct dimm_info *dimm; in r82600_init_csrows() local 234 dimm = csrow->channels[0]->dimm; in r82600_init_csrows() 256 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; in r82600_init_csrows() 259 dimm->grain = 1 << 14; in r82600_init_csrows() 260 dimm->mtype = reg_sdram ? MEM_RDDR : MEM_DDR; in r82600_init_csrows() 262 dimm->dtype = DEV_UNKNOWN; in r82600_init_csrows() 265 dimm->edac_mode = ecc_on ? EDAC_SECDED : EDAC_NONE; in r82600_init_csrows()
|
D | i5400_edac.c | 861 static int determine_mtr(struct i5400_pvt *pvt, int dimm, int channel) in determine_mtr() argument 869 n = dimm; in determine_mtr() 873 dimm); in determine_mtr() 918 static void handle_channel(struct i5400_pvt *pvt, int dimm, int channel, in handle_channel() argument 925 mtr = determine_mtr(pvt, dimm, channel); in handle_channel() 930 if (amb_present_reg & (1 << dimm)) { in handle_channel() 959 int dimm, max_dimms; in calculate_dimm_size() local 979 for (dimm = max_dimms - 1; dimm >= 0; dimm--) { in calculate_dimm_size() 983 if (dimm & 0x1) { in calculate_dimm_size() 992 n = snprintf(p, space, "dimm %2d ", dimm); in calculate_dimm_size() [all …]
|
D | highbank_mc_edac.c | 163 struct dimm_info *dimm; in highbank_mc_probe() local 234 dimm = *mci->dimms; in highbank_mc_probe() 235 dimm->nr_pages = (~0UL >> PAGE_SHIFT) + 1; in highbank_mc_probe() 236 dimm->grain = 8; in highbank_mc_probe() 237 dimm->dtype = DEV_X8; in highbank_mc_probe() 238 dimm->mtype = MEM_DDR3; in highbank_mc_probe() 239 dimm->edac_mode = EDAC_SECDED; in highbank_mc_probe()
|
D | i82975x_edac.c | 314 (1 << mci->csrows[row]->channels[chan]->dimm->grain)); in i82975x_process_error_info() 378 struct dimm_info *dimm; in i82975x_init_csrows() local 419 dimm = mci->csrows[index]->channels[chan]->dimm; in i82975x_init_csrows() 421 dimm->nr_pages = nr_pages / csrow->nr_channels; in i82975x_init_csrows() 423 snprintf(csrow->channels[chan]->dimm->label, EDAC_MC_LABEL_LEN, "DIMM %c%d", in i82975x_init_csrows() 426 dimm->grain = 1 << 7; /* 128Byte cache-line resolution */ in i82975x_init_csrows() 427 dimm->dtype = i82975x_dram_type(mch_window, index); in i82975x_init_csrows() 428 dimm->mtype = MEM_DDR2; /* I82975x supports only DDR2 */ in i82975x_init_csrows() 429 dimm->edac_mode = EDAC_SECDED; /* only supported */ in i82975x_init_csrows()
|
D | i82443bxgx_edac.c | 192 struct dimm_info *dimm; in i82443bxgx_init_csrows() local 201 dimm = csrow->channels[0]->dimm; in i82443bxgx_init_csrows() 222 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; in i82443bxgx_init_csrows() 224 dimm->grain = 1 << 12; in i82443bxgx_init_csrows() 225 dimm->mtype = mtype; in i82443bxgx_init_csrows() 227 dimm->dtype = DEV_UNKNOWN; in i82443bxgx_init_csrows() 229 dimm->edac_mode = edac_mode; in i82443bxgx_init_csrows()
|
D | synopsys_edac.c | 363 struct dimm_info *dimm; in synps_edac_init_csrows() local 373 dimm = csi->channels[j]->dimm; in synps_edac_init_csrows() 374 dimm->edac_mode = EDAC_SECDED; in synps_edac_init_csrows() 375 dimm->mtype = synps_edac_get_mtype(priv->baseaddr); in synps_edac_init_csrows() 376 dimm->nr_pages = (size >> PAGE_SHIFT) / csi->nr_channels; in synps_edac_init_csrows() 377 dimm->grain = SYNPS_EDAC_ERR_GRAIN; in synps_edac_init_csrows() 378 dimm->dtype = synps_edac_get_dtype(priv->baseaddr); in synps_edac_init_csrows()
|
D | i82875p_edac.c | 346 struct dimm_info *dimm; in i82875p_init_csrows() local 378 dimm = csrow->channels[j]->dimm; in i82875p_init_csrows() 380 dimm->nr_pages = nr_pages / nr_chans; in i82875p_init_csrows() 381 dimm->grain = 1 << 12; /* I82875P_EAP has 4KiB reolution */ in i82875p_init_csrows() 382 dimm->mtype = MEM_DDR; in i82875p_init_csrows() 383 dimm->dtype = DEV_UNKNOWN; in i82875p_init_csrows() 384 dimm->edac_mode = drc_ddim ? EDAC_SECDED : EDAC_NONE; in i82875p_init_csrows()
|
D | cell_edac.c | 131 struct dimm_info *dimm; in cell_edac_init_csrows() local 153 dimm = csrow->channels[j]->dimm; in cell_edac_init_csrows() 154 dimm->mtype = MEM_XDR; in cell_edac_init_csrows() 155 dimm->edac_mode = EDAC_SECDED; in cell_edac_init_csrows() 156 dimm->nr_pages = nr_pages / csrow->nr_channels; in cell_edac_init_csrows()
|
D | i3000_edac.c | 412 struct dimm_info *dimm = csrow->channels[j]->dimm; in i3000_probe1() local 414 dimm->nr_pages = nr_pages / nr_channels; in i3000_probe1() 415 dimm->grain = I3000_DEAP_GRAIN; in i3000_probe1() 416 dimm->mtype = MEM_DDR2; in i3000_probe1() 417 dimm->dtype = DEV_UNKNOWN; in i3000_probe1() 418 dimm->edac_mode = EDAC_UNKNOWN; in i3000_probe1()
|
D | x38_edac.c | 387 struct dimm_info *dimm = csrow->channels[j]->dimm; in x38_probe1() local 389 dimm->nr_pages = nr_pages / x38_channel_num; in x38_probe1() 390 dimm->grain = nr_pages << PAGE_SHIFT; in x38_probe1() 391 dimm->mtype = MEM_DDR2; in x38_probe1() 392 dimm->dtype = DEV_UNKNOWN; in x38_probe1() 393 dimm->edac_mode = EDAC_UNKNOWN; in x38_probe1()
|
D | e7xxx_edac.c | 364 struct dimm_info *dimm; in e7xxx_init_csrows() local 411 dimm = csrow->channels[j]->dimm; in e7xxx_init_csrows() 413 dimm->nr_pages = nr_pages / (drc_chan + 1); in e7xxx_init_csrows() 414 dimm->grain = 1 << 12; /* 4KiB - resolution of CELOG */ in e7xxx_init_csrows() 415 dimm->mtype = MEM_RDDR; /* only one type supported */ in e7xxx_init_csrows() 416 dimm->dtype = mem_dev ? DEV_X4 : DEV_X8; in e7xxx_init_csrows() 417 dimm->edac_mode = edac_mode; in e7xxx_init_csrows()
|
D | i7300_edac.c | 590 struct dimm_info *dimm) in decode_mtr() argument 651 dimm->nr_pages = MiB_TO_PAGES(dinfo->megabytes); in decode_mtr() 652 dimm->grain = 8; in decode_mtr() 653 dimm->mtype = MEM_FB_DDR2; in decode_mtr() 655 dimm->edac_mode = EDAC_SECDED; in decode_mtr() 660 dimm->edac_mode = EDAC_S8ECD8ED; in decode_mtr() 662 dimm->edac_mode = EDAC_S4ECD4ED; in decode_mtr() 671 dimm->dtype = DEV_X8; in decode_mtr() 673 dimm->dtype = DEV_X4; in decode_mtr() 754 struct dimm_info *dimm; in i7300_init_csrows() local [all …]
|
D | mv64x60_edac.c | 664 struct dimm_info *dimm; in mv64x60_init_csrows() local 674 dimm = csrow->channels[0]->dimm; in mv64x60_init_csrows() 676 dimm->nr_pages = pdata->total_mem >> PAGE_SHIFT; in mv64x60_init_csrows() 677 dimm->grain = 8; in mv64x60_init_csrows() 679 dimm->mtype = (ctl & MV64X60_SDRAM_REGISTERED) ? MEM_RDDR : MEM_DDR; in mv64x60_init_csrows() 684 dimm->dtype = DEV_X32; in mv64x60_init_csrows() 687 dimm->dtype = DEV_X16; in mv64x60_init_csrows() 690 dimm->dtype = DEV_X4; in mv64x60_init_csrows() 693 dimm->dtype = DEV_UNKNOWN; in mv64x60_init_csrows() 697 dimm->edac_mode = EDAC_SECDED; in mv64x60_init_csrows()
|
D | altera_edac.c | 290 struct dimm_info *dimm; in altr_sdram_probe() local 394 dimm = *mci->dimms; in altr_sdram_probe() 395 dimm->nr_pages = ((mem_size - 1) >> PAGE_SHIFT) + 1; in altr_sdram_probe() 396 dimm->grain = 8; in altr_sdram_probe() 397 dimm->dtype = DEV_X8; in altr_sdram_probe() 398 dimm->mtype = MEM_DDR3; in altr_sdram_probe() 399 dimm->edac_mode = EDAC_SECDED; in altr_sdram_probe()
|
D | i3200_edac.c | 398 struct dimm_info *dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, in i3200_probe1() local 408 dimm->nr_pages = nr_pages; in i3200_probe1() 409 dimm->grain = nr_pages << PAGE_SHIFT; in i3200_probe1() 410 dimm->mtype = MEM_DDR2; in i3200_probe1() 411 dimm->dtype = DEV_UNKNOWN; in i3200_probe1() 412 dimm->edac_mode = EDAC_UNKNOWN; in i3200_probe1()
|
D | i7core_edac.c | 220 int channel, dimm, rank, bank, page, col; member 506 struct dimm_info *dimm; in get_dimm_config() local 600 dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, in get_dimm_config() 617 dimm->nr_pages = npages; in get_dimm_config() 621 dimm->dtype = DEV_X4; in get_dimm_config() 624 dimm->dtype = DEV_X8; in get_dimm_config() 627 dimm->dtype = DEV_X16; in get_dimm_config() 630 dimm->dtype = DEV_UNKNOWN; in get_dimm_config() 633 snprintf(dimm->label, sizeof(dimm->label), in get_dimm_config() 636 dimm->grain = 8; in get_dimm_config() [all …]
|
D | octeon_edac-lmc.c | 32 unsigned long dimm; member 94 fadr.cn61xx.fdimm = pvt->dimm; in octeon_lmc_edac_poll_o2() 157 TEMPLATE_SHOW(dimm); 158 TEMPLATE_STORE(dimm); 202 static DEVICE_ATTR(dimm, S_IRUGO | S_IWUSR,
|