Lines Matching refs:etr_perf
1331 struct etr_perf_buffer *etr_perf;
1337 etr_perf = etm_perf_sink_config(handle);
1338 if (WARN_ON(!etr_perf || !etr_perf->etr_buf))
1340 return etr_perf->etr_buf;
1486 struct etr_perf_buffer *etr_perf;
1490 etr_perf = kzalloc_node(sizeof(*etr_perf), GFP_KERNEL, node);
1491 if (!etr_perf)
1498 kfree(etr_perf);
1506 etr_perf->drvdata = drvdata;
1507 etr_perf->etr_buf = etr_buf;
1509 return etr_perf;
1517 struct etr_perf_buffer *etr_perf;
1520 etr_perf = tmc_etr_setup_perf_buf(drvdata, event,
1522 if (IS_ERR(etr_perf)) {
1527 etr_perf->pid = task_pid_nr(event->owner);
1528 etr_perf->snapshot = snapshot;
1529 etr_perf->nr_pages = nr_pages;
1530 etr_perf->pages = pages;
1532 return etr_perf;
1537 struct etr_perf_buffer *etr_perf = config;
1538 struct tmc_drvdata *drvdata = etr_perf->drvdata;
1539 struct etr_buf *buf, *etr_buf = etr_perf->etr_buf;
1552 buf = idr_remove(&drvdata->idr, etr_perf->pid);
1562 tmc_free_etr_buf(etr_perf->etr_buf);
1565 kfree(etr_perf);
1572 static void tmc_etr_sync_perf_buffer(struct etr_perf_buffer *etr_perf,
1580 struct etr_buf *etr_buf = etr_perf->etr_buf;
1582 head = PERF_IDX2OFF(head, etr_perf);
1585 dst_pages = (char **)etr_perf->pages;
1612 if (++pg_idx == etr_perf->nr_pages)
1635 struct etr_perf_buffer *etr_perf = config;
1636 struct etr_buf *etr_buf = etr_perf->etr_buf;
1672 if (!etr_perf->snapshot && size > handle->size) {
1690 tmc_etr_sync_perf_buffer(etr_perf, handle->head, offset, size);
1697 if (etr_perf->snapshot)
1723 if (!etr_perf->snapshot && lost)
1735 struct etr_perf_buffer *etr_perf = etm_perf_sink_config(handle);
1744 if (WARN_ON(!etr_perf || !etr_perf->etr_buf)) {
1750 pid = etr_perf->pid;
1767 rc = tmc_etr_enable_hw(drvdata, etr_perf->etr_buf);
1772 drvdata->perf_buf = etr_perf->etr_buf;