So far we only provide num_k8_northbridges. This is required in different areas (e.g. L3 cache index disable, GART). But not all AMD CPUs provide a GART. Thus it is useful to split off the GART handling from the generic caching of AMD northbridge misc devices. Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com> LKML-Reference: <20100917160254.GC4958@loge.amd.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
40 lines
818 B
C
40 lines
818 B
C
#ifndef _ASM_X86_K8_H
|
|
#define _ASM_X86_K8_H
|
|
|
|
#include <linux/pci.h>
|
|
|
|
extern struct pci_device_id k8_nb_ids[];
|
|
struct bootnode;
|
|
|
|
extern int early_is_k8_nb(u32 value);
|
|
extern int cache_k8_northbridges(void);
|
|
extern void k8_flush_garts(void);
|
|
extern int k8_get_nodes(struct bootnode *nodes);
|
|
extern int k8_numa_init(unsigned long start_pfn, unsigned long end_pfn);
|
|
extern int k8_scan_nodes(void);
|
|
|
|
struct k8_northbridge_info {
|
|
u16 num;
|
|
u8 gart_supported;
|
|
struct pci_dev **nb_misc;
|
|
};
|
|
extern struct k8_northbridge_info k8_northbridges;
|
|
|
|
#ifdef CONFIG_K8_NB
|
|
|
|
static inline struct pci_dev *node_to_k8_nb_misc(int node)
|
|
{
|
|
return (node < k8_northbridges.num) ? k8_northbridges.nb_misc[node] : NULL;
|
|
}
|
|
|
|
#else
|
|
|
|
static inline struct pci_dev *node_to_k8_nb_misc(int node)
|
|
{
|
|
return NULL;
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif /* _ASM_X86_K8_H */
|