drivers/perf: RISC-V: Allow programming custom firmware events
authorMayuresh Chitale <mchitale@ventanamicro.com>
Wed, 8 Feb 2023 07:43:14 +0000 (13:13 +0530)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 1 Mar 2023 19:16:22 +0000 (11:16 -0800)
Applications need to be able to program the SBI implementation specific
or custom firmware events in addition to the standard firmware events.
Remove a check in the driver that prohibits the programming of the custom
firmware events.

Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Link: https://lore.kernel.org/r/20230208074314.3661406-1-mchitale@ventanamicro.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
drivers/perf/riscv_pmu_sbi.c

index 7b2288d..8bd27d7 100644 (file)
@@ -385,11 +385,8 @@ static int pmu_sbi_event_map(struct perf_event *event, u64 *econfig)
                bSoftware = config >> 63;
                raw_config_val = config & RISCV_PMU_RAW_EVENT_MASK;
                if (bSoftware) {
-                       if (raw_config_val < SBI_PMU_FW_MAX)
-                               ret = (raw_config_val & 0xFFFF) |
-                                     (SBI_PMU_EVENT_TYPE_FW << 16);
-                       else
-                               return -EINVAL;
+                       ret = (raw_config_val & 0xFFFF) |
+                               (SBI_PMU_EVENT_TYPE_FW << 16);
                } else {
                        ret = RISCV_PMU_RAW_EVENT_IDX;
                        *econfig = raw_config_val;