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);