lkml.org 
[lkml]   [2012]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH RFCv2 10/16] i7300_edac: Convert it to report memory with the new location
Date
On this driver, the memory controller supports only FBDIMMs.

There are two branches, each with two channels. Each channel
can address up to 8 DIMM slots, via the AMB FBDIMM chip.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
drivers/edac/i7300_edac.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/edac/i7300_edac.c b/drivers/edac/i7300_edac.c
index 6104dba..ddd5842 100644
--- a/drivers/edac/i7300_edac.c
+++ b/drivers/edac/i7300_edac.c
@@ -779,6 +779,7 @@ static int i7300_init_csrows(struct mem_ctl_info *mci)
int mtr;
int ch, branch, slot, channel;
u32 last_page = 0, nr_pages;
+ struct dimm_info *dimm;

pvt = mci->pvt_info;

@@ -803,6 +804,10 @@ static int i7300_init_csrows(struct mem_ctl_info *mci)
}

/* Get the set of MTR[0-7] regs by each branch */
+ dimm = mci->dimms;
+ mci->dimm_loc_type = DIMM_LOC_MC_CHANNEL;
+ mci->nr_dimms = 0;
+ nr_pages = 0;
for (slot = 0; slot < MAX_SLOTS; slot++) {
int where = mtr_regs[slot];
for (branch = 0; branch < MAX_BRANCHES; branch++) {
@@ -815,6 +820,9 @@ static int i7300_init_csrows(struct mem_ctl_info *mci)
dinfo = &pvt->dimm_info[slot][channel];
p_csrow = &mci->csrows[slot];

+ dimm->location.mc_channel = channel;
+ dimm->location.mc_dimm_number = slot;
+
mtr = decode_mtr(pvt, slot, ch, branch,
dinfo, p_csrow, &nr_pages);
/* if no DIMMS on this row, continue */
@@ -828,6 +836,9 @@ static int i7300_init_csrows(struct mem_ctl_info *mci)
p_csrow->last_page = last_page;

rc = 0;
+
+ mci->nr_dimms++;
+ dimm++;
}
}
}
--
1.7.8


\
 
 \ /
  Last update: 2012-01-28 16:37    [W:0.090 / U:0.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site