Lines Matching refs:cspmu
18 #define to_ampere_cspmu_ctx(cspmu) ((struct ampere_cspmu_ctx *)(cspmu->impl.ctx))
112 ampere_cspmu_get_event_attrs(const struct arm_cspmu *cspmu)
114 const struct ampere_cspmu_ctx *ctx = to_ampere_cspmu_ctx(cspmu);
120 ampere_cspmu_get_format_attrs(const struct arm_cspmu *cspmu)
122 const struct ampere_cspmu_ctx *ctx = to_ampere_cspmu_ctx(cspmu);
128 ampere_cspmu_get_name(const struct arm_cspmu *cspmu)
130 const struct ampere_cspmu_ctx *ctx = to_ampere_cspmu_ctx(cspmu);
135 static void ampere_cspmu_set_cc_filter(struct arm_cspmu *cspmu,
144 static void ampere_cspmu_set_ev_filter(struct arm_cspmu *cspmu,
153 writel(threshold, cspmu->base0 + PMAUXR0);
154 writel(rank, cspmu->base0 + PMAUXR1);
155 writel(bank, cspmu->base0 + PMAUXR2);
169 static int ampere_cspmu_validate_event(struct arm_cspmu *cspmu,
181 idx = find_first_bit(cspmu->hw_events.used_ctrs,
182 cspmu->cycle_counter_logical_idx);
185 if (idx == cspmu->cycle_counter_logical_idx)
188 curr = cspmu->hw_events.events[idx];
193 static char *ampere_cspmu_format_name(const struct arm_cspmu *cspmu,
196 struct device *dev = cspmu->dev;
206 static int ampere_cspmu_init_ops(struct arm_cspmu *cspmu)
208 struct device *dev = cspmu->dev;
210 struct arm_cspmu_impl_ops *impl_ops = &cspmu->impl.ops;
218 ctx->name = ampere_cspmu_format_name(cspmu, "ampere_mcu_pmu_%d");
222 cspmu->impl.ctx = ctx;