Lines Matching refs:dom
38 nvkm_perfsig_find_(struct nvkm_perfdom *dom, const char *name, u32 size) in nvkm_perfsig_find_() argument
44 for (i = 0; i < dom->signal_nr; i++) { in nvkm_perfsig_find_()
45 if ( dom->signal[i].name && in nvkm_perfsig_find_()
46 !strncmp(name, dom->signal[i].name, size)) in nvkm_perfsig_find_()
47 return &dom->signal[i]; in nvkm_perfsig_find_()
50 for (i = 0; i < dom->signal_nr; i++) { in nvkm_perfsig_find_()
51 snprintf(path, sizeof(path), "/%s/%02x", dom->name, i); in nvkm_perfsig_find_()
53 return &dom->signal[i]; in nvkm_perfsig_find_()
64 struct nvkm_perfdom *dom = *pdom; in nvkm_perfsig_find() local
67 if (dom == NULL) { in nvkm_perfsig_find()
68 list_for_each_entry(dom, &ppm->domains, head) { in nvkm_perfsig_find()
69 sig = nvkm_perfsig_find_(dom, name, size); in nvkm_perfsig_find()
71 *pdom = dom; in nvkm_perfsig_find()
79 return nvkm_perfsig_find_(dom, name, size); in nvkm_perfsig_find()
113 struct nvkm_perfdom *dom = NULL, *chk; in nvkm_perfctr_query() local
131 dom = chk; in nvkm_perfctr_query()
136 if (dom == NULL || si >= (int)dom->signal_nr) in nvkm_perfctr_query()
140 if (raw || !(name = dom->signal[si].name)) { in nvkm_perfctr_query()
142 "/%s/%02x", dom->name, si); in nvkm_perfctr_query()
149 while (++si < dom->signal_nr) { in nvkm_perfctr_query()
150 if (all || dom->signal[si].name) { in nvkm_perfctr_query()
157 dom = list_entry(dom->head.next, typeof(*dom), head); in nvkm_perfctr_query()
158 } while (&dom->head != &ppm->domains); in nvkm_perfctr_query()
172 struct nvkm_perfdom *dom; in nvkm_perfctr_sample() local
182 list_for_each_entry(dom, &ppm->domains, head) { in nvkm_perfctr_sample()
184 if (dom->quad != QUAD_MASK) { in nvkm_perfctr_sample()
185 dom->func->next(ppm, dom); in nvkm_perfctr_sample()
187 while (!list_empty(&dom->list)) { in nvkm_perfctr_sample()
188 ctr = list_first_entry(&dom->list, in nvkm_perfctr_sample()
193 dom->func->read(ppm, dom, ctr); in nvkm_perfctr_sample()
195 list_move_tail(&ctr->head, &dom->list); in nvkm_perfctr_sample()
199 dom->quad = QUAD_MASK; in nvkm_perfctr_sample()
202 list_for_each_entry(ctr, &dom->list, head) { in nvkm_perfctr_sample()
203 ctr->slot = ffs(dom->quad) - 1; in nvkm_perfctr_sample()
206 dom->quad &= ~(QUAD_FREE << ctr->slot); in nvkm_perfctr_sample()
207 dom->func->init(ppm, dom, ctr); in nvkm_perfctr_sample()
210 if (dom->quad != QUAD_MASK) in nvkm_perfctr_sample()
211 dom->func->next(ppm, dom); in nvkm_perfctr_sample()
274 struct nvkm_perfdom *dom = NULL; in nvkm_perfctr_ctor() local
290 &dom); in nvkm_perfctr_ctor()
306 if (dom) in nvkm_perfctr_ctor()
307 list_add_tail(&ctr->head, &dom->list); in nvkm_perfctr_ctor()
387 struct nvkm_perfdom *dom; in nvkm_perfdom_new() local
397 dom = kzalloc(sizeof(*dom) + sdom->signal_nr * in nvkm_perfdom_new()
398 sizeof(*dom->signal), GFP_KERNEL); in nvkm_perfdom_new()
399 if (!dom) in nvkm_perfdom_new()
403 snprintf(dom->name, sizeof(dom->name), in nvkm_perfdom_new()
407 snprintf(dom->name, sizeof(dom->name), in nvkm_perfdom_new()
411 list_add_tail(&dom->head, &ppm->domains); in nvkm_perfdom_new()
412 INIT_LIST_HEAD(&dom->list); in nvkm_perfdom_new()
413 dom->func = sdom->func; in nvkm_perfdom_new()
414 dom->addr = addr; in nvkm_perfdom_new()
415 dom->quad = QUAD_MASK; in nvkm_perfdom_new()
416 dom->signal_nr = sdom->signal_nr; in nvkm_perfdom_new()
420 dom->signal[ssig->signal].name = ssig->name; in nvkm_perfdom_new()
451 struct nvkm_perfdom *dom, *tmp; in _nvkm_pm_dtor() local
453 list_for_each_entry_safe(dom, tmp, &ppm->domains, head) { in _nvkm_pm_dtor()
454 list_del(&dom->head); in _nvkm_pm_dtor()
455 kfree(dom); in _nvkm_pm_dtor()