diff options
author | Borislav Petkov <borislav.petkov@amd.com> | 2010-10-01 12:19:06 -0400 |
---|---|---|
committer | Borislav Petkov <borislav.petkov@amd.com> | 2011-01-07 05:33:47 -0500 |
commit | 3ab0e7dc2e1d5598da609ec9a9bcd3b69b8fa654 (patch) | |
tree | 4b4e6d7ef06b1136d8ea31c672e972f38576a06d /drivers/edac/amd64_edac.c | |
parent | 42cbd8efb0746b55112de45173219f76c54390da (diff) |
amd64_edac: Remove F11h support
F11h doesn't support DRAM ECC so whack it away.
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Diffstat (limited to 'drivers/edac/amd64_edac.c')
-rw-r--r-- | drivers/edac/amd64_edac.c | 50 |
1 files changed, 3 insertions, 47 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index df211181fca4..7e539ac769d7 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c | |||
@@ -172,9 +172,6 @@ static int amd64_set_scrub_rate(struct mem_ctl_info *mci, u32 bandwidth) | |||
172 | case 0x10: | 172 | case 0x10: |
173 | min_scrubrate = F10_MIN_SCRUB_RATE_BITS; | 173 | min_scrubrate = F10_MIN_SCRUB_RATE_BITS; |
174 | break; | 174 | break; |
175 | case 0x11: | ||
176 | min_scrubrate = F11_MIN_SCRUB_RATE_BITS; | ||
177 | break; | ||
178 | 175 | ||
179 | default: | 176 | default: |
180 | amd64_printk(KERN_ERR, "Unsupported family!\n"); | 177 | amd64_printk(KERN_ERR, "Unsupported family!\n"); |
@@ -803,9 +800,7 @@ static u16 extract_syndrome(struct err_regs *err) | |||
803 | 800 | ||
804 | static void amd64_cpu_display_info(struct amd64_pvt *pvt) | 801 | static void amd64_cpu_display_info(struct amd64_pvt *pvt) |
805 | { | 802 | { |
806 | if (boot_cpu_data.x86 == 0x11) | 803 | if (boot_cpu_data.x86 == 0x10) |
807 | edac_printk(KERN_DEBUG, EDAC_MC, "F11h CPU detected\n"); | ||
808 | else if (boot_cpu_data.x86 == 0x10) | ||
809 | edac_printk(KERN_DEBUG, EDAC_MC, "F10h CPU detected\n"); | 804 | edac_printk(KERN_DEBUG, EDAC_MC, "F10h CPU detected\n"); |
810 | else if (boot_cpu_data.x86 == 0xf) | 805 | else if (boot_cpu_data.x86 == 0xf) |
811 | edac_printk(KERN_DEBUG, EDAC_MC, "%s detected\n", | 806 | edac_printk(KERN_DEBUG, EDAC_MC, "%s detected\n", |
@@ -965,14 +960,8 @@ static void amd64_set_dct_base_and_mask(struct amd64_pvt *pvt) | |||
965 | pvt->dcsm_mask = REV_F_F1Xh_DCSM_MASK_BITS; | 960 | pvt->dcsm_mask = REV_F_F1Xh_DCSM_MASK_BITS; |
966 | pvt->dcs_mask_notused = REV_F_F1Xh_DCS_NOTUSED_BITS; | 961 | pvt->dcs_mask_notused = REV_F_F1Xh_DCS_NOTUSED_BITS; |
967 | pvt->dcs_shift = REV_F_F1Xh_DCS_SHIFT; | 962 | pvt->dcs_shift = REV_F_F1Xh_DCS_SHIFT; |
968 | 963 | pvt->cs_count = 8; | |
969 | if (boot_cpu_data.x86 == 0x11) { | 964 | pvt->num_dcsm = 4; |
970 | pvt->cs_count = 4; | ||
971 | pvt->num_dcsm = 2; | ||
972 | } else { | ||
973 | pvt->cs_count = 8; | ||
974 | pvt->num_dcsm = 4; | ||
975 | } | ||
976 | } | 965 | } |
977 | } | 966 | } |
978 | 967 | ||
@@ -1744,17 +1733,6 @@ static void amd64_debug_display_dimm_sizes(int ctrl, struct amd64_pvt *pvt) | |||
1744 | } | 1733 | } |
1745 | } | 1734 | } |
1746 | 1735 | ||
1747 | /* | ||
1748 | * There currently are 3 types type of MC devices for AMD Athlon/Opterons | ||
1749 | * (as per PCI DEVICE_IDs): | ||
1750 | * | ||
1751 | * Family K8: That is the Athlon64 and Opteron CPUs. They all have the same PCI | ||
1752 | * DEVICE ID, even though there is differences between the different Revisions | ||
1753 | * (CG,D,E,F). | ||
1754 | * | ||
1755 | * Family F10h and F11h. | ||
1756 | * | ||
1757 | */ | ||
1758 | static struct amd64_family_type amd64_family_types[] = { | 1736 | static struct amd64_family_type amd64_family_types[] = { |
1759 | [K8_CPUS] = { | 1737 | [K8_CPUS] = { |
1760 | .ctl_name = "RevF", | 1738 | .ctl_name = "RevF", |
@@ -1781,19 +1759,6 @@ static struct amd64_family_type amd64_family_types[] = { | |||
1781 | .dbam_to_cs = f10_dbam_to_chip_select, | 1759 | .dbam_to_cs = f10_dbam_to_chip_select, |
1782 | } | 1760 | } |
1783 | }, | 1761 | }, |
1784 | [F11_CPUS] = { | ||
1785 | .ctl_name = "Family 11h", | ||
1786 | .addr_f1_ctl = PCI_DEVICE_ID_AMD_11H_NB_MAP, | ||
1787 | .misc_f3_ctl = PCI_DEVICE_ID_AMD_11H_NB_MISC, | ||
1788 | .ops = { | ||
1789 | .early_channel_count = f10_early_channel_count, | ||
1790 | .get_error_address = f10_get_error_address, | ||
1791 | .read_dram_base_limit = f10_read_dram_base_limit, | ||
1792 | .read_dram_ctl_register = f10_read_dram_ctl_register, | ||
1793 | .map_sysaddr_to_csrow = f10_map_sysaddr_to_csrow, | ||
1794 | .dbam_to_cs = f10_dbam_to_chip_select, | ||
1795 | } | ||
1796 | }, | ||
1797 | }; | 1762 | }; |
1798 | 1763 | ||
1799 | static struct pci_dev *pci_get_related_function(unsigned int vendor, | 1764 | static struct pci_dev *pci_get_related_function(unsigned int vendor, |
@@ -2862,15 +2827,6 @@ static const struct pci_device_id amd64_pci_table[] __devinitdata = { | |||
2862 | .class_mask = 0, | 2827 | .class_mask = 0, |
2863 | .driver_data = F10_CPUS | 2828 | .driver_data = F10_CPUS |
2864 | }, | 2829 | }, |
2865 | { | ||
2866 | .vendor = PCI_VENDOR_ID_AMD, | ||
2867 | .device = PCI_DEVICE_ID_AMD_11H_NB_DRAM, | ||
2868 | .subvendor = PCI_ANY_ID, | ||
2869 | .subdevice = PCI_ANY_ID, | ||
2870 | .class = 0, | ||
2871 | .class_mask = 0, | ||
2872 | .driver_data = F11_CPUS | ||
2873 | }, | ||
2874 | {0, } | 2830 | {0, } |
2875 | }; | 2831 | }; |
2876 | MODULE_DEVICE_TABLE(pci, amd64_pci_table); | 2832 | MODULE_DEVICE_TABLE(pci, amd64_pci_table); |