Lines Matching full:v3d
198 void v3d_perfmon_init(struct v3d_dev *v3d) in v3d_perfmon_init() argument
203 if (v3d->ver >= 71) { in v3d_perfmon_init()
206 } else if (v3d->ver >= 42) { in v3d_perfmon_init()
211 v3d->perfmon_info.max_counters = max; in v3d_perfmon_init()
212 v3d->perfmon_info.counters = counters; in v3d_perfmon_init()
229 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) in v3d_perfmon_start() argument
235 if (WARN_ON_ONCE(!perfmon || v3d->active_perfmon)) in v3d_perfmon_start()
261 v3d->active_perfmon = perfmon; in v3d_perfmon_start()
264 void v3d_perfmon_stop(struct v3d_dev *v3d, struct v3d_perfmon *perfmon, in v3d_perfmon_stop() argument
269 if (!perfmon || !v3d->active_perfmon) in v3d_perfmon_stop()
273 if (perfmon != v3d->active_perfmon) { in v3d_perfmon_stop()
284 v3d->active_perfmon = NULL; in v3d_perfmon_stop()
309 struct v3d_dev *v3d = (struct v3d_dev *)data; in v3d_perfmon_idr_del() local
312 if (perfmon == v3d->active_perfmon) in v3d_perfmon_idr_del()
313 v3d_perfmon_stop(v3d, perfmon, false); in v3d_perfmon_idr_del()
322 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_close_file() local
325 idr_for_each(&v3d_priv->perfmon.idr, v3d_perfmon_idr_del, v3d); in v3d_perfmon_close_file()
336 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_create_ioctl() local
348 if (req->counters[i] >= v3d->perfmon_info.max_counters) in v3d_perfmon_create_ioctl()
403 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_perfmon_get_values_ioctl() local
420 v3d_perfmon_stop(v3d, perfmon, true); in v3d_perfmon_get_values_ioctl()
435 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_perfmon_get_counter_ioctl() local
443 if (!v3d->perfmon_info.max_counters) in v3d_perfmon_get_counter_ioctl()
447 if (req->counter >= v3d->perfmon_info.max_counters) in v3d_perfmon_get_counter_ioctl()
450 counter = &v3d->perfmon_info.counters[req->counter]; in v3d_perfmon_get_counter_ioctl()