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