diff options
author | Mayuresh Chitale <mchitale@ventanamicro.com> | 2023-03-09 16:13:57 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2023-03-10 11:30:30 +0300 |
commit | 57d3aa3b0dbd534ab702dce61767df0e9dc7577f (patch) | |
tree | 711004fa0e124452d9117f8eab8df76a45659228 /include/sbi | |
parent | 641d2e9f38e085ccee77cfd866cae5c7222830fc (diff) | |
download | opensbi-57d3aa3b0dbd534ab702dce61767df0e9dc7577f.tar.xz |
lib: sbi_pmu: Introduce fw_counter_write_value API
Add fw_counter_write_value API for platform specific firmware events
which separates setting the counter's initial value from starting the
counter. This is required so that the fw_event_data array can be reused
to save the event data received.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include/sbi')
-rw-r--r-- | include/sbi/sbi_pmu.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/sbi/sbi_pmu.h b/include/sbi/sbi_pmu.h index 3232e14..53f2700 100644 --- a/include/sbi/sbi_pmu.h +++ b/include/sbi/sbi_pmu.h @@ -52,13 +52,18 @@ struct sbi_pmu_device { uint64_t (*fw_counter_read_value)(uint32_t counter_index); /** + * Write value to custom firmware counter + * Note: 0 <= counter_index < SBI_PMU_FW_CTR_MAX + */ + void (*fw_counter_write_value)(uint32_t counter_index, + uint64_t value); + + /** * Start custom firmware counter - * Note: SBI_PMU_FW_MAX <= event_idx_code * Note: 0 <= counter_index < SBI_PMU_FW_CTR_MAX */ int (*fw_counter_start)(uint32_t counter_index, - uint64_t event_data, - uint64_t init_val, bool init_val_update); + uint64_t event_data); /** * Stop custom firmware counter |