diff options
Diffstat (limited to 'arch/x86/kernel/amd_nb.c')
-rw-r--r-- | arch/x86/kernel/amd_nb.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c index 29fa475ec518..a147e676fc7b 100644 --- a/arch/x86/kernel/amd_nb.c +++ b/arch/x86/kernel/amd_nb.c | |||
@@ -170,15 +170,13 @@ int amd_get_subcaches(int cpu) | |||
170 | { | 170 | { |
171 | struct pci_dev *link = node_to_amd_nb(amd_get_nb_id(cpu))->link; | 171 | struct pci_dev *link = node_to_amd_nb(amd_get_nb_id(cpu))->link; |
172 | unsigned int mask; | 172 | unsigned int mask; |
173 | int cuid; | ||
174 | 173 | ||
175 | if (!amd_nb_has_feature(AMD_NB_L3_PARTITIONING)) | 174 | if (!amd_nb_has_feature(AMD_NB_L3_PARTITIONING)) |
176 | return 0; | 175 | return 0; |
177 | 176 | ||
178 | pci_read_config_dword(link, 0x1d4, &mask); | 177 | pci_read_config_dword(link, 0x1d4, &mask); |
179 | 178 | ||
180 | cuid = cpu_data(cpu).compute_unit_id; | 179 | return (mask >> (4 * cpu_data(cpu).cpu_core_id)) & 0xf; |
181 | return (mask >> (4 * cuid)) & 0xf; | ||
182 | } | 180 | } |
183 | 181 | ||
184 | int amd_set_subcaches(int cpu, unsigned long mask) | 182 | int amd_set_subcaches(int cpu, unsigned long mask) |
@@ -204,7 +202,7 @@ int amd_set_subcaches(int cpu, unsigned long mask) | |||
204 | pci_write_config_dword(nb->misc, 0x1b8, reg & ~0x180000); | 202 | pci_write_config_dword(nb->misc, 0x1b8, reg & ~0x180000); |
205 | } | 203 | } |
206 | 204 | ||
207 | cuid = cpu_data(cpu).compute_unit_id; | 205 | cuid = cpu_data(cpu).cpu_core_id; |
208 | mask <<= 4 * cuid; | 206 | mask <<= 4 * cuid; |
209 | mask |= (0xf ^ (1 << cuid)) << 26; | 207 | mask |= (0xf ^ (1 << cuid)) << 26; |
210 | 208 | ||