Lines Matching refs:host

34 host1x_syncpt_base_request(struct host1x *host)
36 struct host1x_syncpt_base *bases = host->bases;
39 for (i = 0; i < host->info->nb_bases; i++)
43 if (i >= host->info->nb_bases)
56 static struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host,
61 struct host1x_syncpt *sp = host->syncpt;
64 for (i = 0; i < host->info->nb_pts && sp->name; i++, sp++)
67 if (i >= host->info->nb_pts)
71 sp->base = host1x_syncpt_base_request(host);
110 void host1x_syncpt_restore(struct host1x *host)
112 struct host1x_syncpt *sp_base = host->syncpt;
115 for (i = 0; i < host1x_syncpt_nb_pts(host); i++)
116 host1x_hw_syncpt_restore(host, sp_base + i);
117 for (i = 0; i < host1x_syncpt_nb_bases(host); i++)
118 host1x_hw_syncpt_restore_wait_base(host, sp_base + i);
126 void host1x_syncpt_save(struct host1x *host)
128 struct host1x_syncpt *sp_base = host->syncpt;
131 for (i = 0; i < host1x_syncpt_nb_pts(host); i++) {
133 host1x_hw_syncpt_load(host, sp_base + i);
138 for (i = 0; i < host1x_syncpt_nb_bases(host); i++)
139 host1x_hw_syncpt_load_wait_base(host, sp_base + i);
149 val = host1x_hw_syncpt_load(sp->host, sp);
161 host1x_hw_syncpt_load_wait_base(sp->host, sp);
171 return host1x_hw_syncpt_cpu_incr(sp->host, sp);
181 host1x_hw_syncpt_load(sp->host, sp);
208 val = host1x_hw_syncpt_load(sp->host, sp);
228 err = host1x_intr_add_action(sp->host, sp->id, thresh,
257 dev_warn(sp->host->dev,
262 host1x_debug_dump_syncpts(sp->host);
264 host1x_debug_dump(sp->host);
268 host1x_intr_put_ref(sp->host, sp->id, ref);
337 return host1x_hw_syncpt_patch_wait(sp->host, sp, patch_addr);
340 int host1x_syncpt_init(struct host1x *host)
346 syncpt = devm_kzalloc(host->dev, sizeof(*syncpt) * host->info->nb_pts,
351 bases = devm_kzalloc(host->dev, sizeof(*bases) * host->info->nb_bases,
356 for (i = 0; i < host->info->nb_pts; i++) {
358 syncpt[i].host = host;
361 for (i = 0; i < host->info->nb_bases; i++)
364 host->syncpt = syncpt;
365 host->bases = bases;
367 host1x_syncpt_restore(host);
370 host->nop_sp = host1x_syncpt_alloc(host, NULL, 0);
371 if (!host->nop_sp)
380 struct host1x *host = dev_get_drvdata(dev->parent);
381 return host1x_syncpt_alloc(host, dev, flags);
399 void host1x_syncpt_deinit(struct host1x *host)
402 struct host1x_syncpt *sp = host->syncpt;
403 for (i = 0; i < host->info->nb_pts; i++, sp++)
428 int host1x_syncpt_nb_pts(struct host1x *host)
430 return host->info->nb_pts;
433 int host1x_syncpt_nb_bases(struct host1x *host)
435 return host->info->nb_bases;
438 int host1x_syncpt_nb_mlocks(struct host1x *host)
440 return host->info->nb_mlocks;
443 struct host1x_syncpt *host1x_syncpt_get(struct host1x *host, u32 id)
445 if (host->info->nb_pts < id)
447 return host->syncpt + id;