Lines Matching refs:v3d_priv

289 struct v3d_perfmon *v3d_perfmon_find(struct v3d_file_priv *v3d_priv, int id)  in v3d_perfmon_find()  argument
293 mutex_lock(&v3d_priv->perfmon.lock); in v3d_perfmon_find()
294 perfmon = idr_find(&v3d_priv->perfmon.idr, id); in v3d_perfmon_find()
296 mutex_unlock(&v3d_priv->perfmon.lock); in v3d_perfmon_find()
301 void v3d_perfmon_open_file(struct v3d_file_priv *v3d_priv) in v3d_perfmon_open_file() argument
303 mutex_init(&v3d_priv->perfmon.lock); in v3d_perfmon_open_file()
304 idr_init_base(&v3d_priv->perfmon.idr, 1); in v3d_perfmon_open_file()
324 void v3d_perfmon_close_file(struct v3d_file_priv *v3d_priv) in v3d_perfmon_close_file() argument
326 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_close_file()
328 mutex_lock(&v3d_priv->perfmon.lock); in v3d_perfmon_close_file()
329 idr_for_each(&v3d_priv->perfmon.idr, v3d_perfmon_idr_del, v3d); in v3d_perfmon_close_file()
330 idr_destroy(&v3d_priv->perfmon.idr); in v3d_perfmon_close_file()
331 mutex_unlock(&v3d_priv->perfmon.lock); in v3d_perfmon_close_file()
332 mutex_destroy(&v3d_priv->perfmon.lock); in v3d_perfmon_close_file()
338 struct v3d_file_priv *v3d_priv = file_priv->driver_priv; in v3d_perfmon_create_ioctl() local
340 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_create_ioctl()
369 mutex_lock(&v3d_priv->perfmon.lock); in v3d_perfmon_create_ioctl()
370 ret = idr_alloc(&v3d_priv->perfmon.idr, perfmon, V3D_PERFMONID_MIN, in v3d_perfmon_create_ioctl()
372 mutex_unlock(&v3d_priv->perfmon.lock); in v3d_perfmon_create_ioctl()
388 struct v3d_file_priv *v3d_priv = file_priv->driver_priv; in v3d_perfmon_destroy_ioctl() local
390 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_destroy_ioctl()
393 mutex_lock(&v3d_priv->perfmon.lock); in v3d_perfmon_destroy_ioctl()
394 perfmon = idr_remove(&v3d_priv->perfmon.idr, req->id); in v3d_perfmon_destroy_ioctl()
395 mutex_unlock(&v3d_priv->perfmon.lock); in v3d_perfmon_destroy_ioctl()
416 struct v3d_file_priv *v3d_priv = file_priv->driver_priv; in v3d_perfmon_get_values_ioctl() local
424 perfmon = v3d_perfmon_find(v3d_priv, req->id); in v3d_perfmon_get_values_ioctl()
470 struct v3d_file_priv *v3d_priv = file_priv->driver_priv; in v3d_perfmon_set_global_ioctl() local
478 perfmon = v3d_perfmon_find(v3d_priv, req->id); in v3d_perfmon_set_global_ioctl()