perfmon 3547 drivers/crypto/caam/caamalg.c cha_vid = rd_reg32(&priv->ctrl->perfmon.cha_id_ls); perfmon 3551 drivers/crypto/caam/caamalg.c cha_inst = rd_reg32(&priv->ctrl->perfmon.cha_num_ls); perfmon 3561 drivers/crypto/caam/caamalg.c aes_rn = rd_reg32(&priv->ctrl->perfmon.cha_rev_ls) & perfmon 2565 drivers/crypto/caam/caamalg_qi.c cha_vid = rd_reg32(&priv->ctrl->perfmon.cha_id_ls); perfmon 2569 drivers/crypto/caam/caamalg_qi.c cha_inst = rd_reg32(&priv->ctrl->perfmon.cha_num_ls); perfmon 1994 drivers/crypto/caam/caamhash.c md_vid = (rd_reg32(&priv->ctrl->perfmon.cha_id_ls) & perfmon 1996 drivers/crypto/caam/caamhash.c md_inst = (rd_reg32(&priv->ctrl->perfmon.cha_num_ls) & perfmon 1096 drivers/crypto/caam/caampkc.c pk_inst = (rd_reg32(&priv->ctrl->perfmon.cha_num_ls) & perfmon 323 drivers/crypto/caam/caamrng.c rng_inst = (rd_reg32(&priv->ctrl->perfmon.cha_num_ls) & perfmon 420 drivers/crypto/caam/ctrl.c ccbvid = rd_reg32(&ctrl->perfmon.ccb_id); perfmon 425 drivers/crypto/caam/ctrl.c id_ms = rd_reg32(&ctrl->perfmon.caam_id_ms); perfmon 582 drivers/crypto/caam/ctrl.c struct caam_perfmon *perfmon; perfmon 620 drivers/crypto/caam/ctrl.c caam_little_end = !(bool)(rd_reg32(&ctrl->perfmon.status) & perfmon 622 drivers/crypto/caam/ctrl.c comp_params = rd_reg32(&ctrl->perfmon.comp_parms_ms); perfmon 735 drivers/crypto/caam/ctrl.c perfmon = (struct caam_perfmon __force *)&ctrl->perfmon; perfmon 785 drivers/crypto/caam/ctrl.c rng_vid = (rd_reg32(&ctrl->perfmon.cha_id_ls) & perfmon 858 drivers/crypto/caam/ctrl.c caam_id = (u64)rd_reg32(&ctrl->perfmon.caam_id_ms) << 32 | perfmon 859 drivers/crypto/caam/ctrl.c (u64)rd_reg32(&ctrl->perfmon.caam_id_ls); perfmon 869 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->req_dequeued, perfmon 872 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->ob_enc_req, perfmon 875 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->ib_dec_req, perfmon 878 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->ob_enc_bytes, perfmon 881 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->ob_prot_bytes, perfmon 884 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->ib_dec_bytes, perfmon 887 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->ib_valid_bytes, perfmon 892 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->faultaddr, perfmon 895 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->faultdetail, perfmon 898 drivers/crypto/caam/ctrl.c ctrlpriv->ctl, &perfmon->status, perfmon 596 drivers/crypto/caam/regs.h struct caam_perfmon perfmon; perfmon 689 drivers/crypto/caam/regs.h struct caam_perfmon perfmon; perfmon 10 drivers/gpu/drm/nouveau/include/nvkm/engine/pm.h struct nvkm_object *perfmon; perfmon 214 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = dom->perfmon->pm; perfmon 244 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = dom->perfmon->pm; perfmon 268 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = dom->perfmon->pm; perfmon 313 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = dom->perfmon->pm; perfmon 366 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c nvkm_perfdom_new_(struct nvkm_perfmon *perfmon, perfmon 373 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = perfmon->pm; perfmon 419 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c dom->perfmon = perfmon; perfmon 434 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c nvkm_perfmon_mthd_query_domain(struct nvkm_perfmon *perfmon, perfmon 440 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_object *object = &perfmon->object; perfmon 441 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = perfmon->pm; perfmon 482 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c nvkm_perfmon_mthd_query_signal(struct nvkm_perfmon *perfmon, perfmon 488 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_object *object = &perfmon->object; perfmon 489 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = perfmon->pm; perfmon 536 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c nvkm_perfmon_mthd_query_source(struct nvkm_perfmon *perfmon, perfmon 542 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_object *object = &perfmon->object; perfmon 543 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = perfmon->pm; perfmon 590 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_perfmon *perfmon = nvkm_perfmon(object); perfmon 593 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c return nvkm_perfmon_mthd_query_domain(perfmon, data, size); perfmon 595 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c return nvkm_perfmon_mthd_query_signal(perfmon, data, size); perfmon 597 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c return nvkm_perfmon_mthd_query_source(perfmon, data, size); perfmon 608 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_perfmon *perfmon = nvkm_perfmon(oclass->parent); perfmon 609 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c return nvkm_perfdom_new_(perfmon, oclass, data, size, pobject); perfmon 629 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_perfmon *perfmon = nvkm_perfmon(object); perfmon 630 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_pm *pm = perfmon->pm; perfmon 632 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c if (pm->perfmon == &perfmon->object) perfmon 633 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c pm->perfmon = NULL; perfmon 635 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c return perfmon; perfmon 649 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c struct nvkm_perfmon *perfmon; perfmon 651 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c if (!(perfmon = kzalloc(sizeof(*perfmon), GFP_KERNEL))) perfmon 653 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c nvkm_object_ctor(&nvkm_perfmon, oclass, &perfmon->object); perfmon 654 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c perfmon->pm = pm; perfmon 655 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c *pobject = &perfmon->object; perfmon 675 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c if (pm->perfmon == NULL) perfmon 676 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c pm->perfmon = *pobject; perfmon 677 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c ret = (pm->perfmon == *pobject) ? 0 : -EBUSY; perfmon 75 drivers/gpu/drm/nouveau/nvkm/engine/pm/priv.h struct nvkm_perfmon *perfmon; perfmon 595 drivers/gpu/drm/vc4/vc4_drv.h struct vc4_perfmon *perfmon; perfmon 610 drivers/gpu/drm/vc4/vc4_drv.h } perfmon; perfmon 881 drivers/gpu/drm/vc4/vc4_drv.h void vc4_perfmon_get(struct vc4_perfmon *perfmon); perfmon 882 drivers/gpu/drm/vc4/vc4_drv.h void vc4_perfmon_put(struct vc4_perfmon *perfmon); perfmon 883 drivers/gpu/drm/vc4/vc4_drv.h void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon); perfmon 884 drivers/gpu/drm/vc4/vc4_drv.h void vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, perfmon 481 drivers/gpu/drm/vc4/vc4_gem.c if (exec->perfmon && vc4->active_perfmon != exec->perfmon) perfmon 482 drivers/gpu/drm/vc4/vc4_gem.c vc4_perfmon_start(vc4, exec->perfmon); perfmon 500 drivers/gpu/drm/vc4/vc4_gem.c if (next && next->perfmon == exec->perfmon) perfmon 706 drivers/gpu/drm/vc4/vc4_gem.c (!renderjob || renderjob->perfmon == exec->perfmon)) { perfmon 983 drivers/gpu/drm/vc4/vc4_gem.c vc4_perfmon_put(exec->perfmon); perfmon 1178 drivers/gpu/drm/vc4/vc4_gem.c exec->perfmon = vc4_perfmon_find(vc4file, perfmon 1180 drivers/gpu/drm/vc4/vc4_gem.c if (!exec->perfmon) { perfmon 129 drivers/gpu/drm/vc4/vc4_irq.c if (next && next->perfmon == exec->perfmon) perfmon 143 drivers/gpu/drm/vc4/vc4_irq.c if (exec->perfmon) perfmon 144 drivers/gpu/drm/vc4/vc4_irq.c vc4_perfmon_stop(vc4, exec->perfmon, false); perfmon 169 drivers/gpu/drm/vc4/vc4_irq.c if (exec->perfmon && !nextrender && perfmon 170 drivers/gpu/drm/vc4/vc4_irq.c (!nextbin || nextbin->perfmon != exec->perfmon)) perfmon 171 drivers/gpu/drm/vc4/vc4_irq.c vc4_perfmon_stop(vc4, exec->perfmon, true); perfmon 182 drivers/gpu/drm/vc4/vc4_irq.c else if (nextbin && nextbin->perfmon != exec->perfmon) perfmon 18 drivers/gpu/drm/vc4/vc4_perfmon.c void vc4_perfmon_get(struct vc4_perfmon *perfmon) perfmon 20 drivers/gpu/drm/vc4/vc4_perfmon.c if (perfmon) perfmon 21 drivers/gpu/drm/vc4/vc4_perfmon.c refcount_inc(&perfmon->refcnt); perfmon 24 drivers/gpu/drm/vc4/vc4_perfmon.c void vc4_perfmon_put(struct vc4_perfmon *perfmon) perfmon 26 drivers/gpu/drm/vc4/vc4_perfmon.c if (perfmon && refcount_dec_and_test(&perfmon->refcnt)) perfmon 27 drivers/gpu/drm/vc4/vc4_perfmon.c kfree(perfmon); perfmon 30 drivers/gpu/drm/vc4/vc4_perfmon.c void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) perfmon 35 drivers/gpu/drm/vc4/vc4_perfmon.c if (WARN_ON_ONCE(!perfmon || vc4->active_perfmon)) perfmon 38 drivers/gpu/drm/vc4/vc4_perfmon.c for (i = 0; i < perfmon->ncounters; i++) perfmon 39 drivers/gpu/drm/vc4/vc4_perfmon.c V3D_WRITE(V3D_PCTRS(i), perfmon->events[i]); perfmon 41 drivers/gpu/drm/vc4/vc4_perfmon.c mask = GENMASK(perfmon->ncounters - 1, 0); perfmon 44 drivers/gpu/drm/vc4/vc4_perfmon.c vc4->active_perfmon = perfmon; perfmon 47 drivers/gpu/drm/vc4/vc4_perfmon.c void vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, perfmon 53 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon != vc4->active_perfmon)) perfmon 57 drivers/gpu/drm/vc4/vc4_perfmon.c for (i = 0; i < perfmon->ncounters; i++) perfmon 58 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon->counters[i] += V3D_READ(V3D_PCTR(i)); perfmon 67 drivers/gpu/drm/vc4/vc4_perfmon.c struct vc4_perfmon *perfmon; perfmon 69 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_lock(&vc4file->perfmon.lock); perfmon 70 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon = idr_find(&vc4file->perfmon.idr, id); perfmon 71 drivers/gpu/drm/vc4/vc4_perfmon.c vc4_perfmon_get(perfmon); perfmon 72 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_unlock(&vc4file->perfmon.lock); perfmon 74 drivers/gpu/drm/vc4/vc4_perfmon.c return perfmon; perfmon 79 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_init(&vc4file->perfmon.lock); perfmon 80 drivers/gpu/drm/vc4/vc4_perfmon.c idr_init(&vc4file->perfmon.idr); perfmon 85 drivers/gpu/drm/vc4/vc4_perfmon.c struct vc4_perfmon *perfmon = elem; perfmon 87 drivers/gpu/drm/vc4/vc4_perfmon.c vc4_perfmon_put(perfmon); perfmon 94 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_lock(&vc4file->perfmon.lock); perfmon 95 drivers/gpu/drm/vc4/vc4_perfmon.c idr_for_each(&vc4file->perfmon.idr, vc4_perfmon_idr_del, NULL); perfmon 96 drivers/gpu/drm/vc4/vc4_perfmon.c idr_destroy(&vc4file->perfmon.idr); perfmon 97 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_unlock(&vc4file->perfmon.lock); perfmon 106 drivers/gpu/drm/vc4/vc4_perfmon.c struct vc4_perfmon *perfmon; perfmon 126 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon = kzalloc(struct_size(perfmon, counters, req->ncounters), perfmon 128 drivers/gpu/drm/vc4/vc4_perfmon.c if (!perfmon) perfmon 132 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon->events[i] = req->events[i]; perfmon 134 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon->ncounters = req->ncounters; perfmon 136 drivers/gpu/drm/vc4/vc4_perfmon.c refcount_set(&perfmon->refcnt, 1); perfmon 138 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_lock(&vc4file->perfmon.lock); perfmon 139 drivers/gpu/drm/vc4/vc4_perfmon.c ret = idr_alloc(&vc4file->perfmon.idr, perfmon, VC4_PERFMONID_MIN, perfmon 141 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_unlock(&vc4file->perfmon.lock); perfmon 144 drivers/gpu/drm/vc4/vc4_perfmon.c kfree(perfmon); perfmon 158 drivers/gpu/drm/vc4/vc4_perfmon.c struct vc4_perfmon *perfmon; perfmon 165 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_lock(&vc4file->perfmon.lock); perfmon 166 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon = idr_remove(&vc4file->perfmon.idr, req->id); perfmon 167 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_unlock(&vc4file->perfmon.lock); perfmon 169 drivers/gpu/drm/vc4/vc4_perfmon.c if (!perfmon) perfmon 172 drivers/gpu/drm/vc4/vc4_perfmon.c vc4_perfmon_put(perfmon); perfmon 182 drivers/gpu/drm/vc4/vc4_perfmon.c struct vc4_perfmon *perfmon; perfmon 190 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_lock(&vc4file->perfmon.lock); perfmon 191 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon = idr_find(&vc4file->perfmon.idr, req->id); perfmon 192 drivers/gpu/drm/vc4/vc4_perfmon.c vc4_perfmon_get(perfmon); perfmon 193 drivers/gpu/drm/vc4/vc4_perfmon.c mutex_unlock(&vc4file->perfmon.lock); perfmon 195 drivers/gpu/drm/vc4/vc4_perfmon.c if (!perfmon) perfmon 198 drivers/gpu/drm/vc4/vc4_perfmon.c if (copy_to_user(u64_to_user_ptr(req->values_ptr), perfmon->counters, perfmon 199 drivers/gpu/drm/vc4/vc4_perfmon.c perfmon->ncounters * sizeof(u64))) perfmon 204 drivers/gpu/drm/vc4/vc4_perfmon.c vc4_perfmon_put(perfmon);