Lines Matching refs:oa

111  * also saved in the query object's ->oa.samples_head.
119 * A->oa.samples_head
129 * node in B->oa.samples_head
134 * ->oa.samples_head reference we took at the start.
141 * ^_______ Drop B->oa.samples_head reference
143 * We still can't free these due to the A->oa.samples_head ref:
152 * ^_______ Drop A->oa.samples_head reference
154 * And we can now reap these nodes up to the C->oa.samples_head:
229 } oa;
681 * MI_REPORT_PERF_COUNT has landed in query->oa.bo.
739 perf_cfg->vtbl.emit_mi_report_perf_count(perf_ctx->ctx, query->oa.bo,
741 query->oa.begin_report_id +
749 perf_cfg->vtbl.store_register_mem(perf_ctx->ctx, query->oa.bo,
847 if (query->oa.bo) {
848 perf_cfg->vtbl.bo_unreference(query->oa.bo);
849 query->oa.bo = NULL;
852 query->oa.bo = perf_cfg->vtbl.bo_alloc(perf_ctx->bufmgr,
857 void *map = perf_cfg->vtbl.bo_map(perf_ctx->ctx, query->oa.bo, MAP_WRITE);
859 perf_cfg->vtbl.bo_unmap(query->oa.bo);
862 query->oa.begin_report_id = perf_ctx->next_query_start_report_id;
875 query->oa.samples_head = exec_list_get_tail(&perf_ctx->sample_buffers);
878 exec_node_data(struct oa_sample_buf, query->oa.samples_head, link);
886 intel_perf_query_result_clear(&query->oa.result);
887 query->oa.results_accumulated = false;
941 if (!query->oa.results_accumulated)
948 * to query->oa.bo
1080 assert(!perf_cfg->vtbl.batch_references(current_batch, query->oa.bo) &&
1081 !perf_cfg->vtbl.bo_busy(query->oa.bo));
1085 if (query->oa.map == NULL)
1086 query->oa.map = perf_cfg->vtbl.bo_map(perf_ctx->ctx, query->oa.bo, MAP_READ);
1088 start = last = query->oa.map;
1089 end = query->oa.map + perf_ctx->perf->query_layout.size;
1091 if (start[0] != query->oa.begin_report_id) {
1095 if (end[0] != (query->oa.begin_report_id + 1)) {
1125 bo = query->oa.bo;
1159 return (query->oa.results_accumulated ||
1160 (query->oa.bo &&
1161 !perf_cfg->vtbl.batch_references(current_batch, query->oa.bo) &&
1162 !perf_cfg->vtbl.bo_busy(query->oa.bo)));
1208 exec_node_data(struct oa_sample_buf, query->oa.samples_head, link);
1213 query->oa.samples_head = NULL;
1229 query->oa.results_accumulated = true;
1277 assert(query->oa.map != NULL);
1279 start = last = query->oa.map;
1280 end = query->oa.map + perf_ctx->perf->query_layout.size;
1282 if (start[0] != query->oa.begin_report_id) {
1286 if (end[0] != (query->oa.begin_report_id + 1)) {
1301 /* N.B. The oa.samples_head was set when the query began and
1308 first_samples_node = query->oa.samples_head->next;
1384 intel_perf_query_result_accumulate(&query->oa.result,
1392 query->oa.result.query_disjoint = true;
1413 intel_perf_query_result_accumulate(&query->oa.result, query->queryinfo,
1416 query->oa.results_accumulated = true;
1440 if (query->oa.bo) {
1441 if (!query->oa.results_accumulated) {
1446 perf_cfg->vtbl.bo_unreference(query->oa.bo);
1447 query->oa.bo = NULL;
1450 query->oa.results_accumulated = false;
1500 &query->oa.result);
1506 &query->oa.result);
1569 if (!query->oa.results_accumulated) {
1581 uint32_t *begin_report = query->oa.map;
1582 uint32_t *end_report = query->oa.map + perf_cfg->query_layout.size;
1583 intel_perf_query_result_accumulate_fields(&query->oa.result,
1589 assert(query->oa.results_accumulated);
1591 perf_cfg->vtbl.bo_unmap(query->oa.bo);
1592 query->oa.map = NULL;
1601 &query->oa.result);
1634 obj->oa.bo ? "yes," : "no,",
1636 obj->oa.results_accumulated ? "accumulated" : "not accumulated");