Home
last modified time | relevance | path

Searched refs:perfmon (Results 1 - 25 of 53) sorted by relevance

123

/kernel/linux/linux-6.6/drivers/gpu/drm/v3d/
H A Dv3d_perfmon.c12 void v3d_perfmon_get(struct v3d_perfmon *perfmon) in v3d_perfmon_get() argument
14 if (perfmon) in v3d_perfmon_get()
15 refcount_inc(&perfmon->refcnt); in v3d_perfmon_get()
18 void v3d_perfmon_put(struct v3d_perfmon *perfmon) in v3d_perfmon_put() argument
20 if (perfmon && refcount_dec_and_test(&perfmon->refcnt)) { in v3d_perfmon_put()
21 mutex_destroy(&perfmon->lock); in v3d_perfmon_put()
22 kfree(perfmon); in v3d_perfmon_put()
26 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) in v3d_perfmon_start() argument
32 if (WARN_ON_ONCE(!perfmon || v3 in v3d_perfmon_start()
61 v3d_perfmon_stop(struct v3d_dev *v3d, struct v3d_perfmon *perfmon, bool capture) v3d_perfmon_stop() argument
87 struct v3d_perfmon *perfmon; v3d_perfmon_find() local
105 struct v3d_perfmon *perfmon = elem; v3d_perfmon_idr_del() local
126 struct v3d_perfmon *perfmon; v3d_perfmon_create_ioctl() local
175 struct v3d_perfmon *perfmon; v3d_perfmon_destroy_ioctl() local
195 struct v3d_perfmon *perfmon; v3d_perfmon_get_values_ioctl() local
[all...]
H A Dv3d_drv.h32 * using perfmon related ioctls. A perfmon can be attached to a submit_cl
38 /* Tracks the number of users of the perfmon, when this counter reaches
39 * zero the perfmon is destroyed.
43 /* Protects perfmon stop, as it can be invoked from multiple places. */
46 /* Number of counters activated in this perfmon instance
55 * HW perf counter values every time the perfmon is attached
56 * to a GPU job. This way, perfmon users don't have to
60 * destroying the perfmon and creating a new one.
117 /* Used to track the active perfmon i
167 } perfmon; global() member
239 struct v3d_perfmon *perfmon; global() member
[all...]
H A Dv3d_gem.c332 if (job->perfmon) in v3d_job_free()
333 v3d_perfmon_put(job->perfmon); in v3d_job_free()
739 render->base.perfmon = v3d_perfmon_find(v3d_priv, in v3d_submit_cl_ioctl()
742 if (!render->base.perfmon) { in v3d_submit_cl_ioctl()
750 bin->base.perfmon = render->base.perfmon; in v3d_submit_cl_ioctl()
751 v3d_perfmon_get(bin->base.perfmon); in v3d_submit_cl_ioctl()
769 clean_job->perfmon = render->base.perfmon; in v3d_submit_cl_ioctl()
770 v3d_perfmon_get(clean_job->perfmon); in v3d_submit_cl_ioctl()
[all...]
H A Dv3d_sched.c68 if (job->perfmon != v3d->active_perfmon) in v3d_switch_perfmon()
71 if (job->perfmon && v3d->active_perfmon != job->perfmon) in v3d_switch_perfmon()
72 v3d_perfmon_start(v3d, job->perfmon); in v3d_switch_perfmon()
/kernel/linux/linux-6.6/drivers/gpu/drm/vc4/
H A Dvc4_perfmon.c18 void vc4_perfmon_get(struct vc4_perfmon *perfmon) in vc4_perfmon_get() argument
22 if (!perfmon) in vc4_perfmon_get()
25 vc4 = perfmon->dev; in vc4_perfmon_get()
29 refcount_inc(&perfmon->refcnt); in vc4_perfmon_get()
32 void vc4_perfmon_put(struct vc4_perfmon *perfmon) in vc4_perfmon_put() argument
36 if (!perfmon) in vc4_perfmon_put()
39 vc4 = perfmon->dev; in vc4_perfmon_put()
43 if (refcount_dec_and_test(&perfmon->refcnt)) in vc4_perfmon_put()
44 kfree(perfmon); in vc4_perfmon_put()
47 void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) in vc4_perfmon_start() argument
67 vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, bool capture) vc4_perfmon_stop() argument
91 struct vc4_perfmon *perfmon; vc4_perfmon_find() local
118 struct vc4_perfmon *perfmon = elem; vc4_perfmon_idr_del() local
145 struct vc4_perfmon *perfmon; vc4_perfmon_create_ioctl() local
201 struct vc4_perfmon *perfmon; vc4_perfmon_destroy_ioctl() local
228 struct vc4_perfmon *perfmon; vc4_perfmon_get_values_ioctl() local
[all...]
H A Dvc4_irq.c130 /* Only submit the next job in the bin list if it matches the perfmon in vc4_irq_finish_bin_job()
132 * perfmon attached to them). in vc4_irq_finish_bin_job()
134 if (next && next->perfmon == exec->perfmon) in vc4_irq_finish_bin_job()
147 /* Stop the perfmon so that the next bin job can be started. */ in vc4_cancel_bin_job()
148 if (exec->perfmon) in vc4_cancel_bin_job()
149 vc4_perfmon_stop(vc4, exec->perfmon, false); in vc4_cancel_bin_job()
173 /* Only stop the perfmon if following jobs in the queue don't expect it in vc4_irq_finish_render_job()
176 if (exec->perfmon && !nextrender && in vc4_irq_finish_render_job()
177 (!nextbin || nextbin->perfmon ! in vc4_irq_finish_render_job()
[all...]
H A Dvc4_drv.h51 * using perfmon related ioctls. A perfmon can be attached to a submit_cl
59 /* Tracks the number of users of the perfmon, when this counter reaches
60 * zero the perfmon is destroyed.
64 /* Number of counters activated in this perfmon instance
73 * perf counter values every time the perfmon is attached to a GPU job.
74 * This way, perfmon users don't have to retrieve the results after
77 * destroying the perfmon and creating a new one.
175 /* Used to track the active perfmon if any. Access to this field is
756 struct vc4_perfmon *perfmon; member
773 } perfmon; global() member
[all...]
H A Dvc4_gem.c487 /* Only start the perfmon if it was not already started by a previous in vc4_submit_next_bin_job()
490 if (exec->perfmon && vc4->active_perfmon != exec->perfmon) in vc4_submit_next_bin_job()
491 vc4_perfmon_start(vc4, exec->perfmon); in vc4_submit_next_bin_job()
507 * different perfmon instance attached to it. The same goes in vc4_submit_next_bin_job()
508 * if one of them had a perfmon attached to it and the other in vc4_submit_next_bin_job()
511 if (next && next->perfmon == exec->perfmon) in vc4_submit_next_bin_job()
716 * same perfmon as our job attached to it (or if both jobs don't have in vc4_queue_submit()
717 * perfmon activate in vc4_queue_submit()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/vc4/
H A Dvc4_perfmon.c18 void vc4_perfmon_get(struct vc4_perfmon *perfmon) in vc4_perfmon_get() argument
20 if (perfmon) in vc4_perfmon_get()
21 refcount_inc(&perfmon->refcnt); in vc4_perfmon_get()
24 void vc4_perfmon_put(struct vc4_perfmon *perfmon) in vc4_perfmon_put() argument
26 if (perfmon && refcount_dec_and_test(&perfmon->refcnt)) in vc4_perfmon_put()
27 kfree(perfmon); in vc4_perfmon_put()
30 void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) in vc4_perfmon_start() argument
35 if (WARN_ON_ONCE(!perfmon || vc4->active_perfmon)) in vc4_perfmon_start()
38 for (i = 0; i < perfmon in vc4_perfmon_start()
47 vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, bool capture) vc4_perfmon_stop() argument
67 struct vc4_perfmon *perfmon; vc4_perfmon_find() local
85 struct vc4_perfmon *perfmon = elem; vc4_perfmon_idr_del() local
106 struct vc4_perfmon *perfmon; vc4_perfmon_create_ioctl() local
158 struct vc4_perfmon *perfmon; vc4_perfmon_destroy_ioctl() local
182 struct vc4_perfmon *perfmon; vc4_perfmon_get_values_ioctl() local
[all...]
H A Dvc4_irq.c125 /* Only submit the next job in the bin list if it matches the perfmon in vc4_irq_finish_bin_job()
127 * perfmon attached to them). in vc4_irq_finish_bin_job()
129 if (next && next->perfmon == exec->perfmon) in vc4_irq_finish_bin_job()
142 /* Stop the perfmon so that the next bin job can be started. */ in vc4_cancel_bin_job()
143 if (exec->perfmon) in vc4_cancel_bin_job()
144 vc4_perfmon_stop(vc4, exec->perfmon, false); in vc4_cancel_bin_job()
166 /* Only stop the perfmon if following jobs in the queue don't expect it in vc4_irq_finish_render_job()
169 if (exec->perfmon && !nextrender && in vc4_irq_finish_render_job()
170 (!nextbin || nextbin->perfmon ! in vc4_irq_finish_render_job()
[all...]
H A Dvc4_drv.h45 * using perfmon related ioctls. A perfmon can be attached to a submit_cl
51 /* Tracks the number of users of the perfmon, when this counter reaches
52 * zero the perfmon is destroyed.
56 /* Number of counters activated in this perfmon instance
65 * perf counter values every time the perfmon is attached to a GPU job.
66 * This way, perfmon users don't have to retrieve the results after
69 * destroying the perfmon and creating a new one.
165 /* Used to track the active perfmon if any. Access to this field is
664 struct vc4_perfmon *perfmon; member
679 } perfmon; global() member
[all...]
H A Dvc4_gem.c478 /* Only start the perfmon if it was not already started by a previous in vc4_submit_next_bin_job()
481 if (exec->perfmon && vc4->active_perfmon != exec->perfmon) in vc4_submit_next_bin_job()
482 vc4_perfmon_start(vc4, exec->perfmon); in vc4_submit_next_bin_job()
496 * different perfmon instance attached to it. The same goes in vc4_submit_next_bin_job()
497 * if one of them had a perfmon attached to it and the other in vc4_submit_next_bin_job()
500 if (next && next->perfmon == exec->perfmon) in vc4_submit_next_bin_job()
699 * same perfmon as our job attached to it (or if both jobs don't have in vc4_queue_submit()
700 * perfmon activate in vc4_queue_submit()
[all...]
/kernel/linux/linux-5.10/drivers/crypto/caam/
H A Ddebugfs.c47 struct caam_perfmon *perfmon; in caam_debugfs_init() local
54 perfmon = (struct caam_perfmon __force *)&ctrlpriv->ctrl->perfmon; in caam_debugfs_init()
59 &perfmon->req_dequeued, &caam_fops_u64_ro); in caam_debugfs_init()
61 &perfmon->ob_enc_req, &caam_fops_u64_ro); in caam_debugfs_init()
63 &perfmon->ib_dec_req, &caam_fops_u64_ro); in caam_debugfs_init()
65 &perfmon->ob_enc_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
67 &perfmon->ob_prot_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
69 &perfmon->ib_dec_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
71 &perfmon in caam_debugfs_init()
[all...]
H A Dctrl.c426 ccbvid = rd_reg32(&ctrl->perfmon.ccb_id); in caam_get_era_from_hw()
431 id_ms = rd_reg32(&ctrl->perfmon.caam_id_ms); in caam_get_era_from_hw()
670 caam_little_end = !(bool)(rd_reg32(&ctrl->perfmon.status) & in caam_probe()
672 comp_params = rd_reg32(&ctrl->perfmon.comp_parms_ms); in caam_probe()
833 rng_vid = (rd_reg32(&ctrl->perfmon.cha_id_ls) & in caam_probe()
917 caam_id = (u64)rd_reg32(&ctrl->perfmon.caam_id_ms) << 32 | in caam_probe()
918 (u64)rd_reg32(&ctrl->perfmon.caam_id_ls); in caam_probe()
/kernel/linux/linux-6.6/drivers/crypto/caam/
H A Ddebugfs.c46 struct caam_perfmon __force *perfmon, in caam_debugfs_init()
58 &perfmon->req_dequeued, &caam_fops_u64_ro); in caam_debugfs_init()
60 &perfmon->ob_enc_req, &caam_fops_u64_ro); in caam_debugfs_init()
62 &perfmon->ib_dec_req, &caam_fops_u64_ro); in caam_debugfs_init()
64 &perfmon->ob_enc_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
66 &perfmon->ob_prot_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
68 &perfmon->ib_dec_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
70 &perfmon->ib_valid_bytes, &caam_fops_u64_ro); in caam_debugfs_init()
74 &perfmon->faultaddr, &caam_fops_u32_ro); in caam_debugfs_init()
76 &perfmon in caam_debugfs_init()
45 caam_debugfs_init(struct caam_drv_private *ctrlpriv, struct caam_perfmon __force *perfmon, struct dentry *root) caam_debugfs_init() argument
[all...]
H A Dctrl.c418 static int caam_get_era_from_hw(struct caam_perfmon __iomem *perfmon) in caam_get_era_from_hw() argument
444 ccbvid = rd_reg32(&perfmon->ccb_id); in caam_get_era_from_hw()
449 id_ms = rd_reg32(&perfmon->caam_id_ms); in caam_get_era_from_hw()
467 * @perfmon: Performance Monitor Registers
469 static int caam_get_era(struct caam_perfmon __iomem *perfmon) in caam_get_era() argument
482 return caam_get_era_from_hw(perfmon); in caam_get_era()
647 struct caam_perfmon __iomem *perfmon; in caam_ctrl_rng_init() local
649 perfmon = ctrlpriv->total_jobrs ? in caam_ctrl_rng_init()
650 (struct caam_perfmon __iomem *)&ctrlpriv->jr[0]->perfmon : in caam_ctrl_rng_init()
651 (struct caam_perfmon __iomem *)&ctrl->perfmon; in caam_ctrl_rng_init()
857 struct caam_perfmon __iomem *perfmon; caam_probe() local
[all...]
H A Ddebugfs.h13 struct caam_perfmon __force *perfmon, struct dentry *root);
16 struct caam_perfmon __force *perfmon, in caam_debugfs_init()
15 caam_debugfs_init(struct caam_drv_private *ctrlpriv, struct caam_perfmon __force *perfmon, struct dentry *root) caam_debugfs_init() argument
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/pm/
H A Dbase.c214 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_init()
244 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_sample()
268 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_read()
313 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_dtor()
366 nvkm_perfdom_new_(struct nvkm_perfmon *perfmon, in nvkm_perfdom_new_() argument
373 struct nvkm_pm *pm = perfmon->pm; in nvkm_perfdom_new_()
419 dom->perfmon = perfmon; in nvkm_perfdom_new_()
434 nvkm_perfmon_mthd_query_domain(struct nvkm_perfmon *perfmon, in nvkm_perfmon_mthd_query_domain() argument
440 struct nvkm_object *object = &perfmon in nvkm_perfmon_mthd_query_domain()
482 nvkm_perfmon_mthd_query_signal(struct nvkm_perfmon *perfmon, void *data, u32 size) nvkm_perfmon_mthd_query_signal() argument
536 nvkm_perfmon_mthd_query_source(struct nvkm_perfmon *perfmon, void *data, u32 size) nvkm_perfmon_mthd_query_source() argument
590 struct nvkm_perfmon *perfmon = nvkm_perfmon(object); nvkm_perfmon_mthd() local
608 struct nvkm_perfmon *perfmon = nvkm_perfmon(oclass->parent); nvkm_perfmon_child_new() local
629 struct nvkm_perfmon *perfmon = nvkm_perfmon(object); nvkm_perfmon_dtor() local
649 struct nvkm_perfmon *perfmon; nvkm_perfmon_new() local
[all...]
H A Dpriv.h75 struct nvkm_perfmon *perfmon; member
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/engine/pm/
H A Dbase.c214 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_init()
244 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_sample()
268 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_read()
313 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_dtor()
366 nvkm_perfdom_new_(struct nvkm_perfmon *perfmon, in nvkm_perfdom_new_() argument
373 struct nvkm_pm *pm = perfmon->pm; in nvkm_perfdom_new_()
419 dom->perfmon = perfmon; in nvkm_perfdom_new_()
434 nvkm_perfmon_mthd_query_domain(struct nvkm_perfmon *perfmon, in nvkm_perfmon_mthd_query_domain() argument
440 struct nvkm_object *object = &perfmon in nvkm_perfmon_mthd_query_domain()
482 nvkm_perfmon_mthd_query_signal(struct nvkm_perfmon *perfmon, void *data, u32 size) nvkm_perfmon_mthd_query_signal() argument
536 nvkm_perfmon_mthd_query_source(struct nvkm_perfmon *perfmon, void *data, u32 size) nvkm_perfmon_mthd_query_source() argument
590 struct nvkm_perfmon *perfmon = nvkm_perfmon(object); nvkm_perfmon_mthd() local
608 struct nvkm_perfmon *perfmon = nvkm_perfmon(oclass->parent); nvkm_perfmon_child_new() local
629 struct nvkm_perfmon *perfmon = nvkm_perfmon(object); nvkm_perfmon_dtor() local
649 struct nvkm_perfmon *perfmon; nvkm_perfmon_new() local
[all...]
H A Dpriv.h75 struct nvkm_perfmon *perfmon; member
/kernel/linux/linux-5.10/tools/build/feature/
H A Dtest-libpfm4.c3 #include <perfmon/pfmlib.h>
/kernel/linux/linux-6.6/tools/build/feature/
H A Dtest-libpfm4.c3 #include <perfmon/pfmlib.h>
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/include/nvkm/engine/
H A Dpm.h10 struct nvkm_object *perfmon; member
/kernel/linux/linux-6.6/drivers/dma/idxd/
H A DMakefile9 idxd-$(CONFIG_INTEL_IDXD_PERFMON) += perfmon.o

Completed in 16 milliseconds

123