Lines Matching refs:model

30 static struct op_x86_model_spec *model;
42 u64 op_x86_get_ctrl(struct op_x86_model_spec const *model,
56 event &= model->event_mask ? model->event_mask : 0xFF;
67 model->check_ctrs(regs, this_cpu_ptr(&cpu_msrs));
71 model->stop(this_cpu_ptr(&cpu_msrs));
81 for (i = 0; i < model->num_counters; ++i) {
86 for (i = 0; i < model->num_controls; ++i) {
98 model->start(msrs);
118 model->stop(msrs);
135 return !!model->switch_ctrl;
145 return virt % model->num_counters;
165 sizeof(struct op_msr) * model->num_virt_counters;
189 for (i = 0; i < model->num_virt_counters; ++i) {
206 for (i = 0; i < model->num_counters; ++i) {
219 for (i = 0; i < model->num_counters; ++i) {
236 si += model->num_counters;
237 if ((si >= model->num_virt_counters) || (counter_config[si].count == 0))
242 model->switch_ctrl(model, msrs);
256 return counter_config[model->num_counters].count ? 0 : -EINVAL;
287 sizeof(struct op_msr) * model->num_virt_counters);
317 size_t controls_size = sizeof(struct op_msr) * model->num_controls;
318 size_t counters_size = sizeof(struct op_msr) * model->num_counters;
349 model->setup_ctrs(model, msrs);
362 for (i = 0; i < model->num_controls; ++i) {
367 for (i = 0; i < model->num_counters; ++i) {
417 for (i = 0; i < model->num_virt_counters; ++i) {
458 err = model->fill_in_addresses(&per_cpu(cpu_msrs, 0));
468 sizeof(struct op_msr) * model->num_counters);
472 sizeof(struct op_msr) * model->num_controls);
514 model->shutdown(msrs);
566 model = &op_p4_spec;
572 model = &op_p4_spec;
577 model = &op_p4_ht2_spec;
621 * and model can be found in the Intel Software Developer's
669 model = spec;
719 model = &op_amd_spec;
746 model = &op_arch_perfmon_spec;
753 /* default values, can be overwritten by model */
761 if (model->init)
762 ret = model->init(ops);
766 if (!model->num_virt_counters)
767 model->num_virt_counters = model->num_counters;