Lines Matching defs:dom

38 	struct nvkm_perfdom *dom;
41 list_for_each_entry(dom, &pm->domains, head)
47 nvkm_perfdom_count_perfsig(struct nvkm_perfdom *dom)
52 if (dom) {
53 for (i = 0; i < dom->signal_nr; i++) {
54 if (dom->signal[i].name)
64 struct nvkm_perfdom *dom;
67 list_for_each_entry(dom, &pm->domains, head) {
69 return dom;
77 struct nvkm_perfdom *dom = *pdom;
79 if (dom == NULL) {
80 dom = nvkm_perfdom_find(pm, di);
81 if (dom == NULL)
83 *pdom = dom;
86 if (!dom->signal[si].name)
88 return &dom->signal[si];
133 struct nvkm_perfdom *dom = NULL;
142 ctr->signal[i], &dom);
172 struct nvkm_perfdom *dom = NULL;
181 ctr->signal[i], &dom);
208 nvkm_perfdom_init(struct nvkm_perfdom *dom, void *data, u32 size)
213 struct nvkm_object *object = &dom->object;
214 struct nvkm_pm *pm = dom->perfmon->pm;
224 if (dom->ctr[i]) {
225 dom->func->init(pm, dom, dom->ctr[i]);
228 nvkm_perfsrc_enable(pm, dom->ctr[i]);
233 dom->func->next(pm, dom);
238 nvkm_perfdom_sample(struct nvkm_perfdom *dom, void *data, u32 size)
243 struct nvkm_object *object = &dom->object;
244 struct nvkm_pm *pm = dom->perfmon->pm;
255 list_for_each_entry(dom, &pm->domains, head)
256 dom->func->next(pm, dom);
262 nvkm_perfdom_read(struct nvkm_perfdom *dom, void *data, u32 size)
267 struct nvkm_object *object = &dom->object;
268 struct nvkm_pm *pm = dom->perfmon->pm;
278 if (dom->ctr[i])
279 dom->func->read(pm, dom, dom->ctr[i]);
282 if (!dom->clk)
286 if (dom->ctr[i])
287 args->v0.ctr[i] = dom->ctr[i]->ctr;
288 args->v0.clk = dom->clk;
295 struct nvkm_perfdom *dom = nvkm_perfdom(object);
298 return nvkm_perfdom_init(dom, data, size);
300 return nvkm_perfdom_sample(dom, data, size);
302 return nvkm_perfdom_read(dom, data, size);
312 struct nvkm_perfdom *dom = nvkm_perfdom(object);
313 struct nvkm_pm *pm = dom->perfmon->pm;
317 struct nvkm_perfctr *ctr = dom->ctr[i];
326 return dom;
330 nvkm_perfctr_new(struct nvkm_perfdom *dom, int slot, u8 domain,
337 if (!dom)
349 ctr->signal[i] = signal[i] - dom->signal;
354 list_add_tail(&ctr->head, &dom->list);
377 struct nvkm_perfdom *dom;
383 nvif_ioctl(parent, "create perfdom vers %d dom %d mode %02x\n",
416 if (!(dom = kzalloc(sizeof(*dom), GFP_KERNEL)))
418 nvkm_object_ctor(&nvkm_perfdom, oclass, &dom->object);
419 dom->perfmon = perfmon;
420 *pobject = &dom->object;
422 dom->func = sdom->func;
423 dom->addr = sdom->addr;
424 dom->mode = args->v0.mode;
426 dom->ctr[c] = ctr[c];
442 struct nvkm_perfdom *dom;
459 dom = nvkm_perfdom_find(pm, di);
460 if (dom == NULL)
464 args->v0.signal_nr = nvkm_perfdom_count_perfsig(dom);
465 strscpy(args->v0.name, dom->name, sizeof(args->v0.name));
491 struct nvkm_perfdom *dom;
500 "perfmon query signal vers %d dom %d iter %04x\n",
506 dom = nvkm_perfdom_find(pm, args->v0.domain);
507 if (dom == NULL || si >= (int)dom->signal_nr)
511 sig = &dom->signal[si];
514 "/%s/%02x", dom->name, si);
523 while (++si < dom->signal_nr) {
524 if (all || dom->signal[si].name) {
543 struct nvkm_perfdom *dom = NULL;
552 "perfmon source vers %d dom %d sig %02x iter %02x\n",
559 sig = nvkm_perfsig_find(pm, args->v0.domain, args->v0.signal, &dom);
771 struct nvkm_perfdom *dom;
781 dom = kzalloc(struct_size(dom, signal, sdom->signal_nr),
783 if (!dom)
787 snprintf(dom->name, sizeof(dom->name),
791 snprintf(dom->name, sizeof(dom->name),
795 list_add_tail(&dom->head, &pm->domains);
796 INIT_LIST_HEAD(&dom->list);
797 dom->func = sdom->func;
798 dom->addr = addr;
799 dom->signal_nr = sdom->signal_nr;
804 &dom->signal[ssig->signal];
834 struct nvkm_perfdom *dom, *next_dom;
837 list_for_each_entry_safe(dom, next_dom, &pm->domains, head) {
838 list_del(&dom->head);
839 kfree(dom);