linux/drivers/edac
Mauro Carvalho Chehab 6e84d359b2 edac_mc: Cleanup per-dimm_info debug messages
The edac_mc_alloc() routine allocates one dimm_info device for all
possible memories, including the non-filled ones. The debug messages
there are somewhat confusing. So, cleans them, by moving the code
that prints the memory location to edac_mc, and using it on both
edac_mc_sysfs and edac_mc.

Also, only dumps information when DIMM/ranks are actually
filled.

After this patch, a dimm-based memory controller will print the debug
info as:

[ 1011.380027] EDAC DEBUG: edac_mc_dump_csrow: csrow->csrow_idx = 0
[ 1011.380029] EDAC DEBUG: edac_mc_dump_csrow:   csrow = ffff8801169be000
[ 1011.380031] EDAC DEBUG: edac_mc_dump_csrow:   csrow->first_page = 0x0
[ 1011.380032] EDAC DEBUG: edac_mc_dump_csrow:   csrow->last_page = 0x0
[ 1011.380034] EDAC DEBUG: edac_mc_dump_csrow:   csrow->page_mask = 0x0
[ 1011.380035] EDAC DEBUG: edac_mc_dump_csrow:   csrow->nr_channels = 3
[ 1011.380037] EDAC DEBUG: edac_mc_dump_csrow:   csrow->channels = ffff8801149c2840
[ 1011.380039] EDAC DEBUG: edac_mc_dump_csrow:   csrow->mci = ffff880117426000
[ 1011.380041] EDAC DEBUG: edac_mc_dump_channel:   channel->chan_idx = 0
[ 1011.380042] EDAC DEBUG: edac_mc_dump_channel:     channel = ffff8801149c2860
[ 1011.380044] EDAC DEBUG: edac_mc_dump_channel:     channel->csrow = ffff8801169be000
[ 1011.380046] EDAC DEBUG: edac_mc_dump_channel:     channel->dimm = ffff88010fe90400
...
[ 1011.380095] EDAC DEBUG: edac_mc_dump_dimm: dimm0: channel 0 slot 0 mapped as virtual row 0, chan 0
[ 1011.380097] EDAC DEBUG: edac_mc_dump_dimm:   dimm = ffff88010fe90400
[ 1011.380099] EDAC DEBUG: edac_mc_dump_dimm:   dimm->label = 'CPU#0Channel#0_DIMM#0'
[ 1011.380101] EDAC DEBUG: edac_mc_dump_dimm:   dimm->nr_pages = 0x40000
[ 1011.380103] EDAC DEBUG: edac_mc_dump_dimm:   dimm->grain = 8
[ 1011.380104] EDAC DEBUG: edac_mc_dump_dimm:   dimm->nr_pages = 0x40000
...

(a rank-based memory controller would print, instead of "dimm?", "rank?"
 on the above debug info)

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-06-11 13:23:49 -03:00
..
amd64_edac_dbg.c amd64_edac: convert sysfs logic to use struct device 2012-06-11 13:23:40 -03:00
amd64_edac_inj.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
amd64_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
amd64_edac.h amd64_edac: convert sysfs logic to use struct device 2012-06-11 13:23:40 -03:00
amd76x_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
amd8111_edac.c edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
amd8111_edac.h edac: AMD8111 driver header file 2009-04-02 19:05:03 -07:00
amd8131_edac.c edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
amd8131_edac.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
cell_edac.c edac: change the mem allocation scheme to make Documentation/kobject.txt happy 2012-06-11 13:23:45 -03:00
cpc925_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
e7xxx_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
e752x_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_core.h edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_device_sysfs.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_device.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_mc_sysfs.c edac_mc: Cleanup per-dimm_info debug messages 2012-06-11 13:23:49 -03:00
edac_mc.c edac_mc: Cleanup per-dimm_info debug messages 2012-06-11 13:23:49 -03:00
edac_module.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_module.h edac_mc: Cleanup per-dimm_info debug messages 2012-06-11 13:23:49 -03:00
edac_pci_sysfs.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_pci.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
edac_stub.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
i7core_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i3000_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i3200_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i5000_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i5100_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i5400_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i7300_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i82443bxgx_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i82860_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i82875p_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
i82975x_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
Kconfig edac: add a new per-dimm API and make the old per-virtual-rank API obsolete 2012-06-11 13:23:42 -03:00
Makefile edac: sb_edac: Add it to the building system 2011-11-01 10:01:54 -02:00
mce_amd_inj.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
mce_amd.c MCE, AMD: Drop too granulary family model checks 2012-04-04 15:50:11 +02:00
mce_amd.h MCE, AMD: Constify error tables 2012-03-19 12:06:26 +01:00
mpc85xx_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
mpc85xx_edac.h edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
mv64x60_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
mv64x60_edac.h edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
pasemi_edac.c edac: change the mem allocation scheme to make Documentation/kobject.txt happy 2012-06-11 13:23:45 -03:00
ppc4xx_edac.c edac: Rename the parent dev to pdev 2012-06-11 11:56:06 -03:00
ppc4xx_edac.h edac: new ppc4xx driver module 2009-04-02 19:05:03 -07:00
r82600_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
sb_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00
tile_edac.c edac: change the mem allocation scheme to make Documentation/kobject.txt happy 2012-06-11 13:23:45 -03:00
x38_edac.c edac: Convert debugfX to edac_dbg(X, 2012-06-11 13:23:49 -03:00