intel/perf: move get_free_sample_buf into perf
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -824,3 +824,22 @@ gen_perf_query_get_metric_id(struct gen_perf_config *perf,
|
||||
}
|
||||
return query->oa_metrics_set_id;
|
||||
}
|
||||
|
||||
struct oa_sample_buf *
|
||||
gen_perf_get_free_sample_buf(struct gen_perf_context *perf_ctx)
|
||||
{
|
||||
struct exec_node *node = exec_list_pop_head(&perf_ctx->free_sample_buffers);
|
||||
struct oa_sample_buf *buf;
|
||||
|
||||
if (node)
|
||||
buf = exec_node_data(struct oa_sample_buf, node, link);
|
||||
else {
|
||||
buf = ralloc_size(perf_ctx->perf, sizeof(*buf));
|
||||
|
||||
exec_node_init(&buf->link);
|
||||
buf->refcount = 0;
|
||||
buf->len = 0;
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
@@ -504,6 +504,7 @@ void gen_perf_query_register_mdapi_oa_query(const struct gen_device_info *devinf
|
||||
struct gen_perf_config *perf);
|
||||
uint64_t gen_perf_query_get_metric_id(struct gen_perf_config *perf,
|
||||
const struct gen_perf_query_info *query);
|
||||
struct oa_sample_buf * gen_perf_get_free_sample_buf(struct gen_perf_context *perf);
|
||||
|
||||
|
||||
#endif /* GEN_PERF_H */
|
||||
|
@@ -146,25 +146,6 @@ dump_perf_queries(struct brw_context *brw)
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static struct oa_sample_buf *
|
||||
get_free_sample_buf(struct brw_context *brw)
|
||||
{
|
||||
struct exec_node *node = exec_list_pop_head(&brw->perf_ctx.free_sample_buffers);
|
||||
struct oa_sample_buf *buf;
|
||||
|
||||
if (node)
|
||||
buf = exec_node_data(struct oa_sample_buf, node, link);
|
||||
else {
|
||||
buf = ralloc_size(brw, sizeof(*buf));
|
||||
|
||||
exec_node_init(&buf->link);
|
||||
buf->refcount = 0;
|
||||
buf->len = 0;
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
static void
|
||||
reap_old_sample_buffers(struct brw_context *brw)
|
||||
{
|
||||
@@ -451,7 +432,7 @@ read_oa_samples_until(struct brw_context *brw,
|
||||
uint32_t last_timestamp = tail_buf->last_timestamp;
|
||||
|
||||
while (1) {
|
||||
struct oa_sample_buf *buf = get_free_sample_buf(brw);
|
||||
struct oa_sample_buf *buf = gen_perf_get_free_sample_buf(&brw->perf_ctx);
|
||||
uint32_t offset;
|
||||
int len;
|
||||
|
||||
@@ -1647,7 +1628,7 @@ brw_init_perf_query_info(struct gl_context *ctx)
|
||||
* Begin an OA query we can always take a reference on a buffer
|
||||
* in this list.
|
||||
*/
|
||||
struct oa_sample_buf *buf = get_free_sample_buf(brw);
|
||||
struct oa_sample_buf *buf = gen_perf_get_free_sample_buf(&brw->perf_ctx);
|
||||
exec_list_push_head(&brw->perf_ctx.sample_buffers, &buf->link);
|
||||
|
||||
brw->perf_ctx.oa_stream_fd = -1;
|
||||
|
Reference in New Issue
Block a user