Lines Matching defs:vc4file
88 struct vc4_perfmon *vc4_perfmon_find(struct vc4_file *vc4file, int id)
90 struct vc4_dev *vc4 = vc4file->dev;
96 mutex_lock(&vc4file->perfmon.lock);
97 perfmon = idr_find(&vc4file->perfmon.idr, id);
99 mutex_unlock(&vc4file->perfmon.lock);
104 void vc4_perfmon_open_file(struct vc4_file *vc4file)
106 struct vc4_dev *vc4 = vc4file->dev;
111 mutex_init(&vc4file->perfmon.lock);
112 idr_init_base(&vc4file->perfmon.idr, VC4_PERFMONID_MIN);
113 vc4file->dev = vc4;
125 void vc4_perfmon_close_file(struct vc4_file *vc4file)
127 struct vc4_dev *vc4 = vc4file->dev;
132 mutex_lock(&vc4file->perfmon.lock);
133 idr_for_each(&vc4file->perfmon.idr, vc4_perfmon_idr_del, NULL);
134 idr_destroy(&vc4file->perfmon.idr);
135 mutex_unlock(&vc4file->perfmon.lock);
136 mutex_destroy(&vc4file->perfmon.lock);
143 struct vc4_file *vc4file = file_priv->driver_priv;
181 mutex_lock(&vc4file->perfmon.lock);
182 ret = idr_alloc(&vc4file->perfmon.idr, perfmon, VC4_PERFMONID_MIN,
184 mutex_unlock(&vc4file->perfmon.lock);
199 struct vc4_file *vc4file = file_priv->driver_priv;
211 mutex_lock(&vc4file->perfmon.lock);
212 perfmon = idr_remove(&vc4file->perfmon.idr, req->id);
213 mutex_unlock(&vc4file->perfmon.lock);
226 struct vc4_file *vc4file = file_priv->driver_priv;
239 mutex_lock(&vc4file->perfmon.lock);
240 perfmon = idr_find(&vc4file->perfmon.idr, req->id);
242 mutex_unlock(&vc4file->perfmon.lock);