Lines Matching refs:sp

61 	struct host1x_syncpt *sp = host->syncpt;
64 for (i = 0; i < host->info->nb_pts && sp->name; i++, sp++)
71 sp->base = host1x_syncpt_base_request(host);
72 if (!sp->base)
76 name = kasprintf(GFP_KERNEL, "%02d-%s", sp->id,
81 sp->dev = dev;
82 sp->name = name;
85 sp->client_managed = true;
87 sp->client_managed = false;
89 return sp;
92 u32 host1x_syncpt_id(struct host1x_syncpt *sp)
94 return sp->id;
101 u32 host1x_syncpt_incr_max(struct host1x_syncpt *sp, u32 incrs)
103 return (u32)atomic_add_return(incrs, &sp->max_val);
146 u32 host1x_syncpt_load(struct host1x_syncpt *sp)
149 val = host1x_hw_syncpt_load(sp->host, sp);
150 trace_host1x_syncpt_load_min(sp->id, val);
158 u32 host1x_syncpt_load_wait_base(struct host1x_syncpt *sp)
161 host1x_hw_syncpt_load_wait_base(sp->host, sp);
162 val = sp->base_val;
169 int host1x_syncpt_incr(struct host1x_syncpt *sp)
171 return host1x_hw_syncpt_cpu_incr(sp->host, sp);
179 static bool syncpt_load_min_is_expired(struct host1x_syncpt *sp, u32 thresh)
181 host1x_hw_syncpt_load(sp->host, sp);
182 return host1x_syncpt_is_expired(sp, thresh);
188 int host1x_syncpt_wait(struct host1x_syncpt *sp, u32 thresh, long timeout,
201 if (host1x_syncpt_is_expired(sp, thresh)) {
203 *value = host1x_syncpt_load(sp);
208 val = host1x_hw_syncpt_load(sp->host, sp);
209 if (host1x_syncpt_is_expired(sp, thresh)) {
228 err = host1x_intr_add_action(sp->host, sp->id, thresh,
243 syncpt_load_min_is_expired(sp, thresh),
245 if (remain > 0 || host1x_syncpt_is_expired(sp, thresh)) {
247 *value = host1x_syncpt_load(sp);
257 dev_warn(sp->host->dev,
259 current->comm, sp->id, sp->name,
262 host1x_debug_dump_syncpts(sp->host);
264 host1x_debug_dump(sp->host);
268 host1x_intr_put_ref(sp->host, sp->id, ref);
278 bool host1x_syncpt_is_expired(struct host1x_syncpt *sp, u32 thresh)
283 current_val = (u32)atomic_read(&sp->min_val);
284 future_val = (u32)atomic_read(&sp->max_val);
328 if (!host1x_syncpt_client_managed(sp))
335 int host1x_syncpt_patch_wait(struct host1x_syncpt *sp, void *patch_addr)
337 return host1x_hw_syncpt_patch_wait(sp->host, sp, patch_addr);
385 void host1x_syncpt_free(struct host1x_syncpt *sp)
387 if (!sp)
390 host1x_syncpt_base_free(sp->base);
391 kfree(sp->name);
392 sp->base = NULL;
393 sp->dev = NULL;
394 sp->name = NULL;
395 sp->client_managed = false;
402 struct host1x_syncpt *sp = host->syncpt;
403 for (i = 0; i < host->info->nb_pts; i++, sp++)
404 kfree(sp->name);
411 u32 host1x_syncpt_read_max(struct host1x_syncpt *sp)
414 return (u32)atomic_read(&sp->max_val);
421 u32 host1x_syncpt_read_min(struct host1x_syncpt *sp)
424 return (u32)atomic_read(&sp->min_val);
451 struct host1x_syncpt_base *host1x_syncpt_get_base(struct host1x_syncpt *sp)
453 return sp ? sp->base : NULL;