aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/amd_nb.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /arch/x86/include/asm/amd_nb.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'arch/x86/include/asm/amd_nb.h')
-rw-r--r--arch/x86/include/asm/amd_nb.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/arch/x86/include/asm/amd_nb.h b/arch/x86/include/asm/amd_nb.h
new file mode 100644
index 000000000000..67f87f257611
--- /dev/null
+++ b/arch/x86/include/asm/amd_nb.h
@@ -0,0 +1,64 @@
1#ifndef _ASM_X86_AMD_NB_H
2#define _ASM_X86_AMD_NB_H
3
4#include <linux/pci.h>
5
6struct amd_nb_bus_dev_range {
7 u8 bus;
8 u8 dev_base;
9 u8 dev_limit;
10};
11
12extern const struct pci_device_id amd_nb_misc_ids[];
13extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[];
14
15extern bool early_is_amd_nb(u32 value);
16extern int amd_cache_northbridges(void);
17extern void amd_flush_garts(void);
18extern int amd_numa_init(void);
19extern int amd_get_subcaches(int);
20extern int amd_set_subcaches(int, int);
21
22struct amd_northbridge {
23 struct pci_dev *misc;
24 struct pci_dev *link;
25};
26
27struct amd_northbridge_info {
28 u16 num;
29 u64 flags;
30 struct amd_northbridge *nb;
31};
32extern struct amd_northbridge_info amd_northbridges;
33
34#define AMD_NB_GART BIT(0)
35#define AMD_NB_L3_INDEX_DISABLE BIT(1)
36#define AMD_NB_L3_PARTITIONING BIT(2)
37
38#ifdef CONFIG_AMD_NB
39
40static inline u16 amd_nb_num(void)
41{
42 return amd_northbridges.num;
43}
44
45static inline bool amd_nb_has_feature(unsigned feature)
46{
47 return ((amd_northbridges.flags & feature) == feature);
48}
49
50static inline struct amd_northbridge *node_to_amd_nb(int node)
51{
52 return (node < amd_northbridges.num) ? &amd_northbridges.nb[node] : NULL;
53}
54
55#else
56
57#define amd_nb_num(x) 0
58#define amd_nb_has_feature(x) false
59#define node_to_amd_nb(x) NULL
60
61#endif
62
63
64#endif /* _ASM_X86_AMD_NB_H */