Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[pandora-kernel.git] / arch / s390 / include / asm / topology.h
1 #ifndef _ASM_S390_TOPOLOGY_H
2 #define _ASM_S390_TOPOLOGY_H
3
4 #include <linux/cpumask.h>
5 #include <asm/sysinfo.h>
6
7 extern unsigned char cpu_core_id[NR_CPUS];
8 extern cpumask_t cpu_core_map[NR_CPUS];
9
10 static inline const struct cpumask *cpu_coregroup_mask(unsigned int cpu)
11 {
12         return &cpu_core_map[cpu];
13 }
14
15 #define topology_core_id(cpu)           (cpu_core_id[cpu])
16 #define topology_core_cpumask(cpu)      (&cpu_core_map[cpu])
17 #define mc_capable()                    (1)
18
19 #ifdef CONFIG_SCHED_BOOK
20
21 extern unsigned char cpu_book_id[NR_CPUS];
22 extern cpumask_t cpu_book_map[NR_CPUS];
23
24 static inline const struct cpumask *cpu_book_mask(unsigned int cpu)
25 {
26         return &cpu_book_map[cpu];
27 }
28
29 #define topology_book_id(cpu)           (cpu_book_id[cpu])
30 #define topology_book_cpumask(cpu)      (&cpu_book_map[cpu])
31
32 #endif /* CONFIG_SCHED_BOOK */
33
34 int topology_set_cpu_management(int fc);
35 void topology_schedule_update(void);
36 void store_topology(struct sysinfo_15_1_x *info);
37
38 #define POLARIZATION_UNKNWN     (-1)
39 #define POLARIZATION_HRZ        (0)
40 #define POLARIZATION_VL         (1)
41 #define POLARIZATION_VM         (2)
42 #define POLARIZATION_VH         (3)
43
44 #ifdef CONFIG_SMP
45 void s390_init_cpu_topology(void);
46 #else
47 static inline void s390_init_cpu_topology(void)
48 {
49 };
50 #endif
51
52 #define SD_BOOK_INIT    SD_CPU_INIT
53
54 #include <asm-generic/topology.h>
55
56 #endif /* _ASM_S390_TOPOLOGY_H */