mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
i7core_edac: maps all sockets as if ther are one MC controller
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
67166af4ab
commit
ba6c5c62ee
1 changed files with 7 additions and 6 deletions
|
@ -409,12 +409,12 @@ static int i7core_get_active_channels(u8 socket, unsigned *channels,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int get_dimm_config(struct mem_ctl_info *mci, u8 socket)
|
static int get_dimm_config(struct mem_ctl_info *mci, int *csrow, u8 socket)
|
||||||
{
|
{
|
||||||
struct i7core_pvt *pvt = mci->pvt_info;
|
struct i7core_pvt *pvt = mci->pvt_info;
|
||||||
struct csrow_info *csr;
|
struct csrow_info *csr;
|
||||||
struct pci_dev *pdev;
|
struct pci_dev *pdev;
|
||||||
int i, j, csrow = 0;
|
int i, j;
|
||||||
unsigned long last_page = 0;
|
unsigned long last_page = 0;
|
||||||
enum edac_type mode;
|
enum edac_type mode;
|
||||||
enum mem_type mtype;
|
enum mem_type mtype;
|
||||||
|
@ -534,7 +534,7 @@ static int get_dimm_config(struct mem_ctl_info *mci, u8 socket)
|
||||||
npages = size << (20 - PAGE_SHIFT);
|
npages = size << (20 - PAGE_SHIFT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
csr = &mci->csrows[csrow];
|
csr = &mci->csrows[*csrow];
|
||||||
csr->first_page = last_page + 1;
|
csr->first_page = last_page + 1;
|
||||||
last_page += npages;
|
last_page += npages;
|
||||||
csr->last_page = last_page;
|
csr->last_page = last_page;
|
||||||
|
@ -542,7 +542,7 @@ static int get_dimm_config(struct mem_ctl_info *mci, u8 socket)
|
||||||
|
|
||||||
csr->page_mask = 0;
|
csr->page_mask = 0;
|
||||||
csr->grain = 8;
|
csr->grain = 8;
|
||||||
csr->csrow_idx = csrow;
|
csr->csrow_idx = *csrow;
|
||||||
csr->nr_channels = 1;
|
csr->nr_channels = 1;
|
||||||
|
|
||||||
csr->channels[0].chan_idx = i;
|
csr->channels[0].chan_idx = i;
|
||||||
|
@ -565,7 +565,7 @@ static int get_dimm_config(struct mem_ctl_info *mci, u8 socket)
|
||||||
csr->edac_mode = mode;
|
csr->edac_mode = mode;
|
||||||
csr->mtype = mtype;
|
csr->mtype = mtype;
|
||||||
|
|
||||||
csrow++;
|
(*csrow)++;
|
||||||
}
|
}
|
||||||
|
|
||||||
pci_read_config_dword(pdev, MC_SAG_CH_0, &value[0]);
|
pci_read_config_dword(pdev, MC_SAG_CH_0, &value[0]);
|
||||||
|
@ -1424,6 +1424,7 @@ static int __devinit i7core_probe(struct pci_dev *pdev,
|
||||||
struct i7core_pvt *pvt;
|
struct i7core_pvt *pvt;
|
||||||
int num_channels = 0;
|
int num_channels = 0;
|
||||||
int num_csrows = 0;
|
int num_csrows = 0;
|
||||||
|
int csrow = 0;
|
||||||
int dev_idx = id->driver_data;
|
int dev_idx = id->driver_data;
|
||||||
int rc, i;
|
int rc, i;
|
||||||
u8 sockets;
|
u8 sockets;
|
||||||
|
@ -1495,7 +1496,7 @@ static int __devinit i7core_probe(struct pci_dev *pdev,
|
||||||
|
|
||||||
/* Get dimm basic config */
|
/* Get dimm basic config */
|
||||||
for (i = 0; i < sockets; i++)
|
for (i = 0; i < sockets; i++)
|
||||||
get_dimm_config(mci, i);
|
get_dimm_config(mci, &csrow, i);
|
||||||
|
|
||||||
/* add this new MC control structure to EDAC's list of MCs */
|
/* add this new MC control structure to EDAC's list of MCs */
|
||||||
if (unlikely(edac_mc_add_mc(mci))) {
|
if (unlikely(edac_mc_add_mc(mci))) {
|
||||||
|
|
Loading…
Reference in a new issue