[PATCH V2 3/3] lib: sbi_pmu: keep overflow interrupt of stopped hpm counter disabled

Guo Ren guoren at kernel.org
Wed Aug 16 07:48:35 PDT 2023


On Tue, Aug 15, 2023 at 5:40 AM Inochi Amaoto <inochiama at outlook.com> wrote:
>
> 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);
> +               }
Thx.

Reviewed-by: Guo Ren <guoren at kernel.org>

>                 return 0;
>         } else
>                 return SBI_EALREADY_STOPPED;
> --
> 2.41.0
>


-- 
Best Regards
 Guo Ren



More information about the opensbi mailing list