Skip to content

Commit

Permalink
amd64_edac: Remove PCI ECS enabling functions
Browse files Browse the repository at this point in the history
PCI ECS is being enabled by default since 2.6.26 on AMD so this code is
just superfluous now, remove it.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
  • Loading branch information
Borislav Petkov committed Jan 7, 2011
1 parent 027dbd6 commit f1db274
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 59 deletions.
55 changes: 0 additions & 55 deletions 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 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 f1db274

Please sign in to comment.