static u64 hisi_ddrc_pmu_read_counter(struct hisi_pmu *ddrc_pmu,
                                      struct hw_perf_event *hwc)
 {
-       /* Use event code as counter index */
-       u32 idx = GET_DDRC_EVENTID(hwc);
-
-       if (!hisi_uncore_pmu_counter_valid(ddrc_pmu, idx)) {
-               dev_err(ddrc_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return 0;
-       }
-
-       return readl(ddrc_pmu->base + hisi_ddrc_pmu_get_counter_offset(idx));
+       return readl(ddrc_pmu->base +
+                    hisi_ddrc_pmu_get_counter_offset(hwc->idx));
 }
 
 static void hisi_ddrc_pmu_write_counter(struct hisi_pmu *ddrc_pmu,
                                        struct hw_perf_event *hwc, u64 val)
 {
-       u32 idx = GET_DDRC_EVENTID(hwc);
-
-       if (!hisi_uncore_pmu_counter_valid(ddrc_pmu, idx)) {
-               dev_err(ddrc_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return;
-       }
-
        writel((u32)val,
-              ddrc_pmu->base + hisi_ddrc_pmu_get_counter_offset(idx));
+              ddrc_pmu->base + hisi_ddrc_pmu_get_counter_offset(hwc->idx));
 }
 
 /*
 
 static u64 hisi_hha_pmu_read_counter(struct hisi_pmu *hha_pmu,
                                     struct hw_perf_event *hwc)
 {
-       u32 idx = hwc->idx;
-
-       if (!hisi_uncore_pmu_counter_valid(hha_pmu, idx)) {
-               dev_err(hha_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return 0;
-       }
-
        /* Read 64 bits and like L3C, top 16 bits are RAZ */
-       return readq(hha_pmu->base + hisi_hha_pmu_get_counter_offset(idx));
+       return readq(hha_pmu->base + hisi_hha_pmu_get_counter_offset(hwc->idx));
 }
 
 static void hisi_hha_pmu_write_counter(struct hisi_pmu *hha_pmu,
                                       struct hw_perf_event *hwc, u64 val)
 {
-       u32 idx = hwc->idx;
-
-       if (!hisi_uncore_pmu_counter_valid(hha_pmu, idx)) {
-               dev_err(hha_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return;
-       }
-
        /* Write 64 bits and like L3C, top 16 bits are WI */
-       writeq(val, hha_pmu->base + hisi_hha_pmu_get_counter_offset(idx));
+       writeq(val, hha_pmu->base + hisi_hha_pmu_get_counter_offset(hwc->idx));
 }
 
 static void hisi_hha_pmu_write_evtype(struct hisi_pmu *hha_pmu, int idx,
 
 static u64 hisi_l3c_pmu_read_counter(struct hisi_pmu *l3c_pmu,
                                     struct hw_perf_event *hwc)
 {
-       u32 idx = hwc->idx;
-
-       if (!hisi_uncore_pmu_counter_valid(l3c_pmu, idx)) {
-               dev_err(l3c_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return 0;
-       }
-
        /* Read 64-bits and the upper 16 bits are RAZ */
-       return readq(l3c_pmu->base + hisi_l3c_pmu_get_counter_offset(idx));
+       return readq(l3c_pmu->base + hisi_l3c_pmu_get_counter_offset(hwc->idx));
 }
 
 static void hisi_l3c_pmu_write_counter(struct hisi_pmu *l3c_pmu,
                                       struct hw_perf_event *hwc, u64 val)
 {
-       u32 idx = hwc->idx;
-
-       if (!hisi_uncore_pmu_counter_valid(l3c_pmu, idx)) {
-               dev_err(l3c_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return;
-       }
-
        /* Write 64-bits and the upper 16 bits are WI */
-       writeq(val, l3c_pmu->base + hisi_l3c_pmu_get_counter_offset(idx));
+       writeq(val, l3c_pmu->base + hisi_l3c_pmu_get_counter_offset(hwc->idx));
 }
 
 static void hisi_l3c_pmu_write_evtype(struct hisi_pmu *l3c_pmu, int idx,
 
        return counters <= hisi_pmu->num_counters;
 }
 
-int hisi_uncore_pmu_counter_valid(struct hisi_pmu *hisi_pmu, int idx)
-{
-       return idx >= 0 && idx < hisi_pmu->num_counters;
-}
-EXPORT_SYMBOL_GPL(hisi_uncore_pmu_counter_valid);
-
 int hisi_uncore_pmu_get_event_idx(struct perf_event *event)
 {
        struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
 
 static void hisi_uncore_pmu_clear_event_idx(struct hisi_pmu *hisi_pmu, int idx)
 {
-       if (!hisi_uncore_pmu_counter_valid(hisi_pmu, idx)) {
-               dev_err(hisi_pmu->dev, "Unsupported event index:%d!\n", idx);
-               return;
-       }
-
        clear_bit(idx, hisi_pmu->pmu_events.used_mask);
 }
 
 
        u32 identifier;
 };
 
-int hisi_uncore_pmu_counter_valid(struct hisi_pmu *hisi_pmu, int idx);
 int hisi_uncore_pmu_get_event_idx(struct perf_event *event);
 void hisi_uncore_pmu_read(struct perf_event *event);
 int hisi_uncore_pmu_add(struct perf_event *event, int flags);