diff options
author | Hans Rosenfeld <hans.rosenfeld@amd.com> | 2010-10-29 11:14:31 -0400 |
---|---|---|
committer | Borislav Petkov <borislav.petkov@amd.com> | 2010-11-18 09:53:05 -0500 |
commit | 9653a5c76c8677b05b45b3b999d3b39988d2a064 (patch) | |
tree | 9224748c69296fc6ac50beae72f20e6e2ae16aca /arch/x86/kernel/cpu/intel_cacheinfo.c | |
parent | eec1d4fa00c6552ae2fdf71d59f1eded7c88dd89 (diff) |
x86, amd-nb: Cleanup AMD northbridge caching code
Support more than just the "Misc Control" part of the northbridges.
Support more flags by turning "gart_supported" into a single bit flag
that is stored in a flags member. Clean up related code by using a set
of functions (amd_nb_num(), amd_nb_has_feature() and node_to_amd_nb())
instead of accessing the NB data structures directly. Reorder the
initialization code and put the GART flush words caching in a separate
function.
Signed-off-by: Hans Rosenfeld <hans.rosenfeld@amd.com>
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Diffstat (limited to 'arch/x86/kernel/cpu/intel_cacheinfo.c')
-rw-r--r-- | arch/x86/kernel/cpu/intel_cacheinfo.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index 92512ed380e..6b8ea743497 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c | |||
@@ -333,7 +333,7 @@ static void __cpuinit amd_calc_l3_indices(struct amd_l3_cache *l3) | |||
333 | static struct amd_l3_cache * __cpuinit amd_init_l3_cache(int node) | 333 | static struct amd_l3_cache * __cpuinit amd_init_l3_cache(int node) |
334 | { | 334 | { |
335 | struct amd_l3_cache *l3; | 335 | struct amd_l3_cache *l3; |
336 | struct pci_dev *dev = node_to_amd_nb_misc(node); | 336 | struct pci_dev *dev = node_to_amd_nb(node)->misc; |
337 | 337 | ||
338 | l3 = kzalloc(sizeof(struct amd_l3_cache), GFP_ATOMIC); | 338 | l3 = kzalloc(sizeof(struct amd_l3_cache), GFP_ATOMIC); |
339 | if (!l3) { | 339 | if (!l3) { |
@@ -370,7 +370,7 @@ static void __cpuinit amd_check_l3_disable(struct _cpuid4_info_regs *this_leaf, | |||
370 | return; | 370 | return; |
371 | 371 | ||
372 | /* not in virtualized environments */ | 372 | /* not in virtualized environments */ |
373 | if (amd_northbridges.num == 0) | 373 | if (amd_nb_num() == 0) |
374 | return; | 374 | return; |
375 | 375 | ||
376 | /* | 376 | /* |
@@ -378,7 +378,7 @@ static void __cpuinit amd_check_l3_disable(struct _cpuid4_info_regs *this_leaf, | |||
378 | * never freed but this is done only on shutdown so it doesn't matter. | 378 | * never freed but this is done only on shutdown so it doesn't matter. |
379 | */ | 379 | */ |
380 | if (!l3_caches) { | 380 | if (!l3_caches) { |
381 | int size = amd_northbridges.num * sizeof(struct amd_l3_cache *); | 381 | int size = amd_nb_num() * sizeof(struct amd_l3_cache *); |
382 | 382 | ||
383 | l3_caches = kzalloc(size, GFP_ATOMIC); | 383 | l3_caches = kzalloc(size, GFP_ATOMIC); |
384 | if (!l3_caches) | 384 | if (!l3_caches) |