]>
Commit | Line | Data |
---|---|---|
23ac4ae8 AH |
1 | #ifndef _ASM_X86_AMD_NB_H |
2 | #define _ASM_X86_AMD_NB_H | |
a32073bf AK |
3 | |
4 | #include <linux/pci.h> | |
5 | ||
24d9b70b JB |
6 | struct amd_nb_bus_dev_range { |
7 | u8 bus; | |
8 | u8 dev_base; | |
9 | u8 dev_limit; | |
10 | }; | |
11 | ||
691269f0 | 12 | extern const struct pci_device_id amd_nb_misc_ids[]; |
24d9b70b | 13 | extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[]; |
a32073bf | 14 | |
84fd1d35 | 15 | extern bool early_is_amd_nb(u32 value); |
9653a5c7 | 16 | extern int amd_cache_northbridges(void); |
eec1d4fa | 17 | extern void amd_flush_garts(void); |
940fed2e | 18 | extern int amd_numa_init(void); |
cabb5bd7 HR |
19 | extern int amd_get_subcaches(int); |
20 | extern int amd_set_subcaches(int, int); | |
a32073bf | 21 | |
9653a5c7 HR |
22 | struct amd_northbridge { |
23 | struct pci_dev *misc; | |
41b2610c | 24 | struct pci_dev *link; |
9653a5c7 HR |
25 | }; |
26 | ||
eec1d4fa | 27 | struct amd_northbridge_info { |
900f9ac9 | 28 | u16 num; |
9653a5c7 HR |
29 | u64 flags; |
30 | struct amd_northbridge *nb; | |
900f9ac9 | 31 | }; |
eec1d4fa | 32 | extern struct amd_northbridge_info amd_northbridges; |
900f9ac9 | 33 | |
84fd1d35 BP |
34 | #define AMD_NB_GART BIT(0) |
35 | #define AMD_NB_L3_INDEX_DISABLE BIT(1) | |
36 | #define AMD_NB_L3_PARTITIONING BIT(2) | |
9653a5c7 | 37 | |
23ac4ae8 | 38 | #ifdef CONFIG_AMD_NB |
ade029e2 | 39 | |
84fd1d35 | 40 | static inline u16 amd_nb_num(void) |
b206525a | 41 | { |
9653a5c7 | 42 | return amd_northbridges.num; |
b206525a | 43 | } |
ade029e2 | 44 | |
84fd1d35 | 45 | static inline bool amd_nb_has_feature(unsigned feature) |
9653a5c7 HR |
46 | { |
47 | return ((amd_northbridges.flags & feature) == feature); | |
48 | } | |
ade029e2 | 49 | |
9653a5c7 | 50 | static inline struct amd_northbridge *node_to_amd_nb(int node) |
b206525a | 51 | { |
9653a5c7 | 52 | return (node < amd_northbridges.num) ? &amd_northbridges.nb[node] : NULL; |
b206525a | 53 | } |
9653a5c7 HR |
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 | ||
afd9fcee AH |
61 | #endif |
62 | ||
63 | ||
23ac4ae8 | 64 | #endif /* _ASM_X86_AMD_NB_H */ |