Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/acpi/cpufreq/processor_perf.h
Line
Count
Source (jump to first uncovered line)
1
#ifndef __XEN_PROCESSOR_PM_H__
2
#define __XEN_PROCESSOR_PM_H__
3
4
#include <public/platform.h>
5
#include <public/sysctl.h>
6
#include <xen/acpi.h>
7
8
0
#define XEN_PX_INIT 0x80000000
9
10
int powernow_cpufreq_init(void);
11
unsigned int powernow_register_driver(void);
12
unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
13
void cpufreq_residency_update(unsigned int, uint8_t);
14
void cpufreq_statistic_update(unsigned int, uint8_t, uint8_t);
15
int  cpufreq_statistic_init(unsigned int);
16
void cpufreq_statistic_exit(unsigned int);
17
void cpufreq_statistic_reset(unsigned int);
18
19
int  cpufreq_limit_change(unsigned int);
20
21
int  cpufreq_add_cpu(unsigned int);
22
int  cpufreq_del_cpu(unsigned int);
23
24
struct processor_performance {
25
    uint32_t state;
26
    uint32_t platform_limit;
27
    struct xen_pct_register control_register;
28
    struct xen_pct_register status_register;
29
    uint32_t state_count;
30
    struct xen_processor_px *states;
31
    struct xen_psd_package domain_info;
32
    uint32_t shared_type;
33
34
    uint32_t init;
35
};
36
37
struct processor_pminfo {
38
    uint32_t acpi_id;
39
    uint32_t id;
40
    struct processor_performance    perf;
41
};
42
43
extern struct processor_pminfo *processor_pminfo[NR_CPUS];
44
45
struct px_stat {
46
    uint8_t total;        /* total Px states */
47
    uint8_t usable;       /* usable Px states */
48
    uint8_t last;         /* last Px state */
49
    uint8_t cur;          /* current Px state */
50
    uint64_t *trans_pt;   /* Px transition table */
51
    pm_px_val_t *pt;
52
};
53
54
struct pm_px {
55
    struct px_stat u;
56
    uint64_t prev_state_wall;
57
    uint64_t prev_idle_wall;
58
};
59
60
DECLARE_PER_CPU(struct pm_px *, cpufreq_statistic_data);
61
62
int cpufreq_cpu_init(unsigned int cpuid);
63
#endif /* __XEN_PROCESSOR_PM_H__ */