Lines Matching defs:perfcnt
40 complete(&pfdev->perfcnt->dump_comp);
53 reinit_completion(&pfdev->perfcnt->dump_comp);
54 gpuva = pfdev->perfcnt->mapping->mmnode.start << PAGE_SHIFT;
61 ret = wait_for_completion_interruptible_timeout(&pfdev->perfcnt->dump_comp,
76 struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
82 if (user == perfcnt->user)
84 else if (perfcnt->user)
91 bo = drm_gem_shmem_create(pfdev->ddev, perfcnt->bosize);
97 /* Map the perfcnt buf in the address space attached to file_priv. */
102 perfcnt->mapping = panfrost_gem_mapping_get(to_panfrost_bo(&bo->base),
104 if (!perfcnt->mapping) {
112 perfcnt->buf = map.vaddr;
118 reinit_completion(&pfdev->perfcnt->dump_comp);
124 ret = wait_for_completion_timeout(&pfdev->perfcnt->dump_comp,
131 perfcnt->user = user;
133 as = panfrost_mmu_as_get(pfdev, perfcnt->mapping->mmu);
170 panfrost_gem_mapping_put(perfcnt->mapping);
184 struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
185 struct iosys_map map = IOSYS_MAP_INIT_VADDR(perfcnt->buf);
187 if (user != perfcnt->user)
197 perfcnt->user = NULL;
198 drm_gem_vunmap_unlocked(&perfcnt->mapping->obj->base.base, &map);
199 perfcnt->buf = NULL;
200 panfrost_gem_close(&perfcnt->mapping->obj->base.base, file_priv);
201 panfrost_mmu_as_put(pfdev, perfcnt->mapping->mmu);
202 panfrost_gem_mapping_put(perfcnt->mapping);
203 perfcnt->mapping = NULL;
214 struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
226 mutex_lock(&perfcnt->lock);
232 mutex_unlock(&perfcnt->lock);
241 struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
250 mutex_lock(&perfcnt->lock);
251 if (perfcnt->user != file_priv->driver_priv) {
260 if (copy_to_user(user_ptr, perfcnt->buf, perfcnt->bosize))
264 mutex_unlock(&perfcnt->lock);
273 struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
276 mutex_lock(&perfcnt->lock);
277 if (perfcnt->user == pfile)
279 mutex_unlock(&perfcnt->lock);
286 struct panfrost_perfcnt *perfcnt;
319 perfcnt = devm_kzalloc(pfdev->dev, sizeof(*perfcnt), GFP_KERNEL);
320 if (!perfcnt)
323 perfcnt->bosize = size;
333 init_completion(&perfcnt->dump_comp);
334 mutex_init(&perfcnt->lock);
335 pfdev->perfcnt = perfcnt;