Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 227302
b: refs/heads/master
c: f1db274
h: refs/heads/master
v: v3
  • Loading branch information
Borislav Petkov committed Jan 7, 2011
1 parent 03f5e2d commit 8a64fcc
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 60 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 027dbd6f5d419c25750d6a26c5c46f46f2093a11
refs/heads/master: f1db274e1ba7004909de4a9cee62f631c030ba3e
55 changes: 0 additions & 55 deletions trunk/drivers/edac/amd64_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1204,31 +1204,6 @@ static int f10_dbam_to_chip_select(struct amd64_pvt *pvt, int cs_mode)
return dbam_map[cs_mode];
}

/* Enable extended configuration access via 0xCF8 feature */
static void amd64_setup(struct amd64_pvt *pvt)
{
u32 reg;

amd64_read_pci_cfg(pvt->F3, F10_NB_CFG_HIGH, &reg);

pvt->flags.cf8_extcfg = !!(reg & F10_NB_CFG_LOW_ENABLE_EXT_CFG);
reg |= F10_NB_CFG_LOW_ENABLE_EXT_CFG;
pci_write_config_dword(pvt->F3, F10_NB_CFG_HIGH, reg);
}

/* Restore the extended configuration access via 0xCF8 feature */
static void amd64_teardown(struct amd64_pvt *pvt)
{
u32 reg;

amd64_read_pci_cfg(pvt->F3, F10_NB_CFG_HIGH, &reg);

reg &= ~F10_NB_CFG_LOW_ENABLE_EXT_CFG;
if (pvt->flags.cf8_extcfg)
reg |= F10_NB_CFG_LOW_ENABLE_EXT_CFG;
pci_write_config_dword(pvt->F3, F10_NB_CFG_HIGH, reg);
}

static u64 f10_get_error_address(struct mem_ctl_info *mci,
struct err_regs *info)
{
Expand All @@ -1251,8 +1226,6 @@ static void f10_read_dram_base_limit(struct amd64_pvt *pvt, int dram)

/* read the 'raw' DRAM BASE Address register */
amd64_read_pci_cfg(pvt->F1, low_offset, &low_base);

/* Read from the ECS data register */
amd64_read_pci_cfg(pvt->F1, high_offset, &high_base);

/* Extract parts into separate data entries */
Expand All @@ -1271,8 +1244,6 @@ static void f10_read_dram_base_limit(struct amd64_pvt *pvt, int dram)

/* read the 'raw' LIMIT registers */
amd64_read_pci_cfg(pvt->F1, low_offset, &low_limit);

/* Read from the ECS data register for the HIGH portion */
amd64_read_pci_cfg(pvt->F1, high_offset, &high_limit);

pvt->dram_DstNode[dram] = (low_limit & 0x7);
Expand Down Expand Up @@ -2560,18 +2531,6 @@ static struct amd64_family_type *amd64_per_family_init(struct amd64_pvt *pvt)
return fam_type;
}

/*
* Init stuff for this DRAM Controller device.
*
* Due to a hardware feature on Fam10h CPUs, the Enable Extended Configuration
* Space feature MUST be enabled on ALL Processors prior to actually reading
* from the ECS registers. Since the loading of the module can occur on any
* 'core', and cores don't 'see' all the other processors ECS data when the
* others are NOT enabled. Our solution is to first enable ECS access in this
* routine on all processors, gather some data in a amd64_pvt structure and
* later come back in a finish-setup function to perform that final
* initialization. See also amd64_init_2nd_stage() for that.
*/
static int amd64_probe_one_instance(struct pci_dev *F2)
{
struct amd64_pvt *pvt = NULL;
Expand Down Expand Up @@ -2602,14 +2561,6 @@ static int amd64_probe_one_instance(struct pci_dev *F2)
if (err)
goto err_put;

/*
* Key operation here: setup of HW prior to performing ops on it. Some
* setup is required to access ECS data. After this is performed, the
* 'teardown' function must be called upon error and normal exit paths.
*/
if (boot_cpu_data.x86 >= 0x10)
amd64_setup(pvt);

/*
* Save the pointer to the private data for use in 2nd initialization
* stage
Expand Down Expand Up @@ -2690,9 +2641,6 @@ static int amd64_init_2nd_stage(struct amd64_pvt *pvt)

amd64_restore_ecc_error_reporting(pvt);

if (boot_cpu_data.x86 > 0xf)
amd64_teardown(pvt);

amd64_free_mc_sibling_devices(pvt);

kfree(pvts[pvt->mc_node_id]);
Expand Down Expand Up @@ -2734,9 +2682,6 @@ static void __devexit amd64_remove_one_instance(struct pci_dev *pdev)

amd64_restore_ecc_error_reporting(pvt);

if (boot_cpu_data.x86 > 0xf)
amd64_teardown(pvt);

amd64_free_mc_sibling_devices(pvt);

/* unregister from EDAC MCE */
Expand Down
4 changes: 0 additions & 4 deletions trunk/drivers/edac/amd64_edac.h
Original file line number Diff line number Diff line change
Expand Up @@ -335,9 +335,6 @@
#define K8_SCRCTRL 0x58

#define F10_NB_CFG_LOW 0x88
#define F10_NB_CFG_LOW_ENABLE_EXT_CFG BIT(14)

#define F10_NB_CFG_HIGH 0x8C

#define F10_ONLINE_SPARE 0xB0
#define F10_ONLINE_SPARE_SWAPDONE0(x) ((x) & BIT(1))
Expand Down Expand Up @@ -476,7 +473,6 @@ struct amd64_pvt {

/* misc settings */
struct flags {
unsigned long cf8_extcfg:1;
unsigned long nb_mce_enable:1;
unsigned long nb_ecc_prev:1;
} flags;
Expand Down

0 comments on commit 8a64fcc

Please sign in to comment.