[PATCH] lib: sbi_pmu: Track SBI_PMU_FW_PLATFORM started counter
Charlie Jenkins
thecharlesjenkins at gmail.com
Wed Feb 25 16:35:42 PST 2026
On Mon, Feb 23, 2026 at 10:29:44AM +0530, Anup Patel wrote:
> On Wed, Jan 28, 2026 at 5:28 AM Charlie Jenkins via B4 Relay
> <devnull+thecharlesjenkins.gmail.com at kernel.org> wrote:
> >
> > From: Charlie Jenkins <thecharlesjenkins at gmail.com>
> >
> > When a SBI_PMU_FW_PLATFORM starts, add the counter to the counter array
> > instead of returning early. This will cause fw_counter_stop() to be
> > called when a SBI_PMU_FW_PLATFORM counter should be stopped.
> >
> > Signed-off-by: Charlie Jenkins <thecharlesjenkins at gmail.com>
>
> This is already covered by the following patch:
> "lib: sbi_pmu: Fix multiple FW counter start operations with custom PMU device"
>
> Regards,
> Anup
Great, thanks for applying that one!
- Charlie
>
> > ---
> > lib/sbi/sbi_pmu.c | 10 ++++++----
> > 1 file changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/sbi/sbi_pmu.c b/lib/sbi/sbi_pmu.c
> > index e084005d..3c61079b 100644
> > --- a/lib/sbi/sbi_pmu.c
> > +++ b/lib/sbi/sbi_pmu.c
> > @@ -448,6 +448,8 @@ static int pmu_ctr_start_fw(struct sbi_pmu_hart_state *phs,
> > uint64_t event_data, uint64_t ival,
> > bool ival_update)
> > {
> > + int rc = 0;
> > +
> > if ((event_code >= SBI_PMU_FW_MAX &&
> > event_code <= SBI_PMU_FW_RESERVED_MAX) ||
> > event_code > SBI_PMU_FW_PLATFORM)
> > @@ -468,9 +470,9 @@ static int pmu_ctr_start_fw(struct sbi_pmu_hart_state *phs,
> > cidx - num_hw_ctrs,
> > ival);
> >
> > - return pmu_dev->fw_counter_start(phs->hartid,
> > - cidx - num_hw_ctrs,
> > - event_data);
> > + rc = pmu_dev->fw_counter_start(phs->hartid,
> > + cidx - num_hw_ctrs,
> > + event_data);
> > } else {
> > if (ival_update)
> > phs->fw_counters_data[cidx - num_hw_ctrs] = ival;
> > @@ -478,7 +480,7 @@ static int pmu_ctr_start_fw(struct sbi_pmu_hart_state *phs,
> >
> > phs->fw_counters_started |= BIT(cidx - num_hw_ctrs);
> >
> > - return 0;
> > + return rc;
> > }
> >
> > static void pmu_update_inhibit_flags(unsigned long flags, uint64_t *mhpmevent_val)
> >
> > ---
> > base-commit: 74434f255873d74e56cc50aa762d1caf24c099f8
> > change-id: 20260127-pmu_platform_stop-febef65abf54
> >
> > - Charlie
> >
> >
> >
> > --
> > opensbi mailing list
> > opensbi at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/opensbi
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi
More information about the opensbi
mailing list