pmc_devRegular
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 ✅