Lines Matching defs:msrs
33 static void ppro_shutdown(struct op_msrs const * const msrs)
38 if (!msrs->counters[i].addr)
45 static int ppro_fill_in_addresses(struct op_msrs * const msrs)
57 msrs->counters[i].addr = MSR_P6_PERFCTR0 + i;
58 msrs->controls[i].addr = MSR_P6_EVNTSEL0 + i;
64 ppro_shutdown(msrs);
73 struct op_msrs const * const msrs)
97 if (!msrs->controls[i].addr)
99 rdmsrl(msrs->controls[i].addr, val);
103 wrmsrl(msrs->controls[i].addr, val);
108 wrmsrl(msrs->counters[i].addr, -1LL);
113 if (counter_config[i].enabled && msrs->counters[i].addr) {
115 wrmsrl(msrs->counters[i].addr, -reset_value[i]);
116 rdmsrl(msrs->controls[i].addr, val);
119 wrmsrl(msrs->controls[i].addr, val);
128 struct op_msrs const * const msrs)
136 rdmsrl(msrs->counters[i].addr, val);
140 wrmsrl(msrs->counters[i].addr, -reset_value[i]);
158 static void ppro_start(struct op_msrs const * const msrs)
165 rdmsrl(msrs->controls[i].addr, val);
167 wrmsrl(msrs->controls[i].addr, val);
173 static void ppro_stop(struct op_msrs const * const msrs)
181 rdmsrl(msrs->controls[i].addr, val);
183 wrmsrl(msrs->controls[i].addr, val);