lib: sbi: Counter info width should be zero indexed

The mhpm bits represent the number of bits available in mhpmcounter
while counter width describes a zero indexed value. Fix the counter width
calculation.

Fixes: 13d40f21d5 ("lib: sbi: Add PMU support")
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
This commit is contained in:
Atish Patra
2021-11-08 10:53:04 -08:00
committed by Anup Patel
parent 1e147324f0
commit b628cfd6a0

View File

@@ -649,7 +649,7 @@ int sbi_pmu_ctr_get_info(uint32_t cidx, unsigned long *ctr_info)
if (cidx == 0 || cidx == 2) if (cidx == 0 || cidx == 2)
cinfo.width = 63; cinfo.width = 63;
else else
cinfo.width = sbi_hart_mhpm_bits(scratch); cinfo.width = sbi_hart_mhpm_bits(scratch) - 1;
} else { } else {
/* it's a firmware counter */ /* it's a firmware counter */
cinfo.type = SBI_PMU_CTR_TYPE_FW; cinfo.type = SBI_PMU_CTR_TYPE_FW;