i5400_edac.c (dd23cd6eb1f59ba722a6e6aa228adff7c01404de) i5400_edac.c (7e881856eee8b889b76cd1d8e04ce2fc79b72099)
1/*
2 * Intel 5400 class Memory Controllers kernel module (Seaburg)
3 *
4 * This file may be distributed under the terms of the
5 * GNU General Public License.
6 *
7 * Copyright (c) 2008 by:
8 * Ben Woodard <woodard@redhat.com>

--- 286 unchanged lines hidden (view full) ---

295#define MTR_DIMM_COLS_ADDR_BITS(mtr) (MTR_DIMM_COLS(mtr) + 10)
296
297/* This applies to FERR_NF_FB-DIMM as well as FERR_FAT_FB-DIMM */
298static inline int extract_fbdchan_indx(u32 x)
299{
300 return (x>>28) & 0x3;
301}
302
1/*
2 * Intel 5400 class Memory Controllers kernel module (Seaburg)
3 *
4 * This file may be distributed under the terms of the
5 * GNU General Public License.
6 *
7 * Copyright (c) 2008 by:
8 * Ben Woodard <woodard@redhat.com>

--- 286 unchanged lines hidden (view full) ---

295#define MTR_DIMM_COLS_ADDR_BITS(mtr) (MTR_DIMM_COLS(mtr) + 10)
296
297/* This applies to FERR_NF_FB-DIMM as well as FERR_FAT_FB-DIMM */
298static inline int extract_fbdchan_indx(u32 x)
299{
300 return (x>>28) & 0x3;
301}
302
303#ifdef CONFIG_EDAC_DEBUG
304/* MTR NUMROW */
305static const char *numrow_toString[] = {
306 "8,192 - 13 rows",
307 "16,384 - 14 rows",
308 "32,768 - 15 rows",
309 "65,536 - 16 rows"
310};
311
312/* MTR NUMCOL */
313static const char *numcol_toString[] = {
314 "1,024 - 10 columns",
315 "2,048 - 11 columns",
316 "4,096 - 12 columns",
317 "reserved"
318};
319#endif
320
321/* Device name and register DID (Device ID) */
322struct i5400_dev_info {
323 const char *ctl_name; /* name for this device */
324 u16 fsb_mapping_errors; /* DID for the branchmap,control */
325};
326
327/* Table of devices attributes supported by this driver */
328static const struct i5400_dev_info i5400_devs[] = {

--- 581 unchanged lines hidden (view full) ---

910
911 debugf2("\t\tWIDTH: x%d\n", MTR_DRAM_WIDTH(mtr));
912
913 debugf2("\t\tELECTRICAL THROTTLING is %s\n",
914 MTR_DIMMS_ETHROTTLE(mtr) ? "enabled" : "disabled");
915
916 debugf2("\t\tNUMBANK: %d bank(s)\n", MTR_DRAM_BANKS(mtr));
917 debugf2("\t\tNUMRANK: %s\n", MTR_DIMM_RANK(mtr) ? "double" : "single");
303/* Device name and register DID (Device ID) */
304struct i5400_dev_info {
305 const char *ctl_name; /* name for this device */
306 u16 fsb_mapping_errors; /* DID for the branchmap,control */
307};
308
309/* Table of devices attributes supported by this driver */
310static const struct i5400_dev_info i5400_devs[] = {

--- 581 unchanged lines hidden (view full) ---

892
893 debugf2("\t\tWIDTH: x%d\n", MTR_DRAM_WIDTH(mtr));
894
895 debugf2("\t\tELECTRICAL THROTTLING is %s\n",
896 MTR_DIMMS_ETHROTTLE(mtr) ? "enabled" : "disabled");
897
898 debugf2("\t\tNUMBANK: %d bank(s)\n", MTR_DRAM_BANKS(mtr));
899 debugf2("\t\tNUMRANK: %s\n", MTR_DIMM_RANK(mtr) ? "double" : "single");
918 debugf2("\t\tNUMROW: %s\n", numrow_toString[MTR_DIMM_ROWS(mtr)]);
919 debugf2("\t\tNUMCOL: %s\n", numcol_toString[MTR_DIMM_COLS(mtr)]);
900 debugf2("\t\tNUMROW: %s\n",
901 MTR_DIMM_ROWS(mtr) == 0 ? "8,192 - 13 rows" :
902 MTR_DIMM_ROWS(mtr) == 1 ? "16,384 - 14 rows" :
903 MTR_DIMM_ROWS(mtr) == 2 ? "32,768 - 15 rows" :
904 "65,536 - 16 rows");
905 debugf2("\t\tNUMCOL: %s\n",
906 MTR_DIMM_COLS(mtr) == 0 ? "1,024 - 10 columns" :
907 MTR_DIMM_COLS(mtr) == 1 ? "2,048 - 11 columns" :
908 MTR_DIMM_COLS(mtr) == 2 ? "4,096 - 12 columns" :
909 "reserved");
920}
921
922static void handle_channel(struct i5400_pvt *pvt, int dimm, int channel,
923 struct i5400_dimm_info *dinfo)
924{
925 int mtr;
926 int amb_present_reg;
927 int addrBits;

--- 555 unchanged lines hidden ---
910}
911
912static void handle_channel(struct i5400_pvt *pvt, int dimm, int channel,
913 struct i5400_dimm_info *dinfo)
914{
915 int mtr;
916 int amb_present_reg;
917 int addrBits;

--- 555 unchanged lines hidden ---