[PATCH V2 3/3] lib: sbi_pmu: keep overflow interrupt of stopped hpm counter disabled
Inochi Amaoto
inochiama at outlook.com
Tue Aug 15 02:40:33 PDT 2023
After the hardware hpm counter is stopped, it should not raise any new
interrupt as it is already stopped. So add the hw_counter_disable_irq
callback to allow the custom pmu device to control this behavior.
Signed-off-by: Inochi Amaoto <inochiama at outlook.com>
---
lib/sbi/sbi_pmu.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/sbi/sbi_pmu.c b/lib/sbi/sbi_pmu.c
index 2904903..b5c11bc 100644
--- a/lib/sbi/sbi_pmu.c
+++ b/lib/sbi/sbi_pmu.c
@@ -482,6 +482,9 @@ static int pmu_ctr_stop_hw(uint32_t cidx)
if (!__test_bit(cidx, &mctr_inhbt)) {
__set_bit(cidx, &mctr_inhbt);
csr_write(CSR_MCOUNTINHIBIT, mctr_inhbt);
+ if (pmu_dev && pmu_dev->hw_counter_disable_irq) {
+ pmu_dev->hw_counter_disable_irq(cidx);
+ }
return 0;
} else
return SBI_EALREADY_STOPPED;
--
2.41.0
More information about the opensbi
mailing list