pmc_dev
Regular
4.4
: ✅struct pmc_dev {
u32 base_addr;
void *regmap;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
bool init;
};
4.8
: ✅struct pmc_dev {
u32 base_addr;
void *regmap;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
bool init;
};
4.10
: ✅struct pmc_dev {
u32 base_addr;
void *regmap;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
bool init;
};
4.13
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
bool has_slp_s0_res;
int pmc_xram_read_bit;
struct mutex lock;
};
4.15
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
};
4.18
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
};
5.0
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
};
5.3
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
5.4
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
5.8
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
5.11
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
5.13
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
int num_lpm_modes;
int lpm_en_modes[8];
u32 *lpm_req_regs;
};
5.15
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
int num_lpm_modes;
int lpm_en_modes[8];
u32 *lpm_req_regs;
};
5.19
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
int num_lpm_modes;
int lpm_en_modes[8];
u32 *lpm_req_regs;
};
6.2
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
struct platform_device *pdev;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
int num_lpm_modes;
int lpm_en_modes[8];
u32 *lpm_req_regs;
void (*core_configure)(struct pmc_dev *);
};
6.5
: ✅struct pmc_dev {
struct pmc * pmcs[3];
struct dentry *dbgfs_dir;
struct platform_device *pdev;
struct pci_dev *ssram_pcidev;
int pmc_xram_read_bit;
struct mutex lock;
u64 pc10_counter;
u64 s0ix_counter;
int num_lpm_modes;
int lpm_en_modes[8];
int (*resume)(struct pmc_dev *);
bool has_die_c6;
u32 die_c6_offset;
struct telem_endpoint *punit_ep;
struct pmc_info *regmap_list;
};
6.8
: ✅struct pmc_dev {
u32 base_addr;
void *regmap;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
bool init;
};
arm64
: Absent ⚠️
armhf
: Absent ⚠️
ppc64el
: Absent ⚠️
riscv64
: Absent ⚠️
aws
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
azure
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
gcp
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
lowlatency
: ✅struct pmc_dev {
u32 base_addr;
void *regbase;
const struct pmc_reg_map *map;
struct dentry *dbgfs_dir;
int pmc_xram_read_bit;
struct mutex lock;
bool check_counters;
u64 pc10_counter;
u64 s0ix_counter;
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
✅
4.10
and 4.13
⚠️void *regbase
bool has_slp_s0_res
int pmc_xram_read_bit
struct mutex lock
void *regmap
bool init
4.13
and 4.15
⚠️bool has_slp_s0_res
4.15
and 4.18
✅
4.18
and 5.0
✅
5.0
and 5.3
⚠️bool check_counters
u64 pc10_counter
u64 s0ix_counter
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
✅
5.11
and 5.13
⚠️int num_lpm_modes
int lpm_en_modes[8]
u32 *lpm_req_regs
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
⚠️struct platform_device *pdev
void (*core_configure)(struct pmc_dev *)
6.2
and 6.5
⚠️struct pmc * pmcs[3]
struct pci_dev *ssram_pcidev
int (*resume)(struct pmc_dev *)
bool has_die_c6
u32 die_c6_offset
struct telem_endpoint *punit_ep
struct pmc_info *regmap_list
u32 base_addr
void *regbase
const struct pmc_reg_map *map
bool check_counters
u32 *lpm_req_regs
void (*core_configure)(struct pmc_dev *)
6.5
and 6.8
⚠️u32 base_addr
void *regmap
const struct pmc_reg_map *map
bool init
struct pmc * pmcs[3]
struct platform_device *pdev
struct pci_dev *ssram_pcidev
int pmc_xram_read_bit
struct mutex lock
u64 pc10_counter
u64 s0ix_counter
int num_lpm_modes
int lpm_en_modes[8]
int (*resume)(struct pmc_dev *)
bool has_die_c6
u32 die_c6_offset
struct telem_endpoint *punit_ep
struct pmc_info *regmap_list
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅