Lines Matching refs:counter

243 def output_rpn_equation_code(set, counter, equation):
261 raise Exception("Failed to resolve variable " + operand + " in equation " + equation + " for " + set.name + " :: " + counter.get('name'));
272 counter.get('name') + ".\nThis is probably due to some unhandled RPN function, in the equation \"" +
280 raise Exception("Failed to resolve variable " + operand + " in equation " + equation + " for " + set.name + " :: " + counter.get('name'));
285 def splice_rpn_expression(set, counter, expression):
300 raise Exception("Failed to resolve variable " + operand + " in expression " + expression + " for " + set.name + " :: " + counter.get('name'))
310 counter.get('name') + ".\nThis is probably due to some unhandled RPN operation, in the expression \"" +
318 raise Exception("Failed to resolve variable " + operand + " in expression " + expression + " for " + set.name + " :: " + counter.get('name'))
323 def output_counter_read(gen, set, counter):
325 c("/* {0} :: {1} */".format(set.name, counter.get('name')))
327 if counter.read_hash in hashed_funcs:
328 c("#define %s \\" % counter.read_sym)
330 c("%s" % hashed_funcs[counter.read_hash])
333 ret_type = counter.get('data_type')
337 read_eq = counter.get('equation')
340 c(counter.read_sym + "(UNUSED struct intel_perf_config *perf,\n")
341 c_indent(len(counter.read_sym) + 1)
344 c_outdent(len(counter.read_sym) + 1)
348 output_rpn_equation_code(set, counter, read_eq)
352 hashed_funcs[counter.read_hash] = counter.read_sym
355 def output_counter_max(gen, set, counter):
356 max_eq = counter.get('max_equation')
358 if not counter.has_custom_max_func():
362 c("/* {0} :: {1} */".format(set.name, counter.get('name')))
364 if counter.max_hash in hashed_funcs:
365 c("#define %s \\" % counter.max_sym)
367 c("%s" % hashed_funcs[counter.max_hash])
370 ret_type = counter.get('data_type')
375 c(counter.max_sym + "(struct intel_perf_config *perf,\n")
376 c_indent(len(counter.read_sym) + 1)
379 c_outdent(len(counter.read_sym) + 1)
382 output_rpn_equation_code(set, counter, max_eq)
386 hashed_funcs[counter.max_hash] = counter.max_sym
467 def counter_key(counter):
468 return counter_key_tuple._make([counter.get(field) for field in counter_key_tuple._fields])
471 def output_counter_struct(set, counter, idx,
474 data_type = counter.data_type
477 semantic_type = counter.semantic_type
485 c(".name_idx = " + str(name_to_idx[counter.name]) + ",\n")
486 c(".desc_idx = " + str(desc_to_idx[counter.description + " " + desc_units(counter.units)]) + ",\n")
487 c(".symbol_name_idx = " + str(symbol_name_to_idx[counter.symbol_name]) + ",\n")
488 c(".category_idx = " + str(category_to_idx[counter.mdapi_group]) + ",\n")
491 c(".units = INTEL_PERF_COUNTER_UNITS_" + output_units(counter.units) + ",\n")
496 def output_counter_report(set, counter, counter_to_idx, current_offset):
497 data_type = counter.get('data_type')
504 semantic_type = counter.get('semantic_type')
512 availability = counter.get('availability')
514 output_availability(set, availability, counter.get('name'))
517 key = counter_key(counter)
525 set.max_funcs[counter.get('symbol_name')] + "," +
526 set.read_funcs[counter.get('symbol_name')] + ");\n")
530 set.max_funcs[counter.get('symbol_name')] + "," +
531 set.read_funcs[counter.get('symbol_name')] + ");\n")
610 # Wraps a <counter> element from the oa-*.xml files.
626 # Compute the hash of a counter's equation by expanding (including all the
696 xml_counters = self.xml.findall("counter")
699 counter = Counter(self, xml_counter)
700 self.counters.append(counter)
701 self.counter_vars['$' + counter.get('symbol_name')] = counter
702 self.read_funcs[counter.get('symbol_name')] = counter.read_sym
703 self.max_funcs[counter.get('symbol_name')] = counter.max_sym
705 for counter in self.counters:
706 counter.compute_hashes()
822 for counter in set.counters:
823 names.add(counter.get('name'))
824 symbol_names.add(counter.get('symbol_name'))
825 descs.add(counter.get('description') + " " + desc_units(counter.get('units')))
826 categories.add(counter.get('mdapi_group'))
843 for counter in set.counters:
844 output_counter_read(gen, set, counter)
845 output_counter_max(gen, set, counter)
855 for counter in set.counters:
856 key = counter_key(counter)
877 const struct intel_perf_query_counter_data *counter = &counters[counter_idx];
879 dest->name = &name[counter->name_idx];
880 dest->desc = &desc[counter->desc_idx];
881 dest->symbol_name = &symbol_name[counter->symbol_name_idx];
882 dest->category = &category[counter->category_idx];
885 dest->type = counter->type;
886 dest->data_type = counter->data_type;
887 dest->units = counter->units;
899 const struct intel_perf_query_counter_data *counter = &counters[counter_idx];
901 dest->name = &name[counter->name_idx];
902 dest->desc = &desc[counter->desc_idx];
903 dest->symbol_name = &symbol_name[counter->symbol_name_idx];
904 dest->category = &category[counter->category_idx];
907 dest->type = counter->type;
908 dest->data_type = counter->data_type;
909 dest->units = counter->units;
953 c("struct intel_perf_query_counter *counter = query->counters;\n")
965 for counter in counters:
966 offset = output_counter_report(set, counter, counter_to_idx, offset)
970 c("query->data_size = counter->offset + intel_perf_query_counter_get_size(counter);\n")