Lines Matching refs:dom
36 struct nvkm_perfdom *dom; in nvkm_pm_count_perfdom() local
39 list_for_each_entry(dom, &pm->domains, head) in nvkm_pm_count_perfdom()
45 nvkm_perfdom_count_perfsig(struct nvkm_perfdom *dom) in nvkm_perfdom_count_perfsig() argument
50 if (dom) { in nvkm_perfdom_count_perfsig()
51 for (i = 0; i < dom->signal_nr; i++) { in nvkm_perfdom_count_perfsig()
52 if (dom->signal[i].name) in nvkm_perfdom_count_perfsig()
62 struct nvkm_perfdom *dom; in nvkm_perfdom_find() local
65 list_for_each_entry(dom, &pm->domains, head) { in nvkm_perfdom_find()
67 return dom; in nvkm_perfdom_find()
75 struct nvkm_perfdom *dom = *pdom; in nvkm_perfsig_find() local
77 if (dom == NULL) { in nvkm_perfsig_find()
78 dom = nvkm_perfdom_find(pm, di); in nvkm_perfsig_find()
79 if (dom == NULL) in nvkm_perfsig_find()
81 *pdom = dom; in nvkm_perfsig_find()
84 if (!dom->signal[si].name) in nvkm_perfsig_find()
86 return &dom->signal[si]; in nvkm_perfsig_find()
131 struct nvkm_perfdom *dom = NULL; in nvkm_perfsrc_enable() local
140 ctr->signal[i], &dom); in nvkm_perfsrc_enable()
170 struct nvkm_perfdom *dom = NULL; in nvkm_perfsrc_disable() local
179 ctr->signal[i], &dom); in nvkm_perfsrc_disable()
206 nvkm_perfdom_init(struct nvkm_perfdom *dom, void *data, u32 size) in nvkm_perfdom_init() argument
211 struct nvkm_object *object = &dom->object; in nvkm_perfdom_init()
212 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_init()
222 if (dom->ctr[i]) { in nvkm_perfdom_init()
223 dom->func->init(pm, dom, dom->ctr[i]); in nvkm_perfdom_init()
226 nvkm_perfsrc_enable(pm, dom->ctr[i]); in nvkm_perfdom_init()
231 dom->func->next(pm, dom); in nvkm_perfdom_init()
236 nvkm_perfdom_sample(struct nvkm_perfdom *dom, void *data, u32 size) in nvkm_perfdom_sample() argument
241 struct nvkm_object *object = &dom->object; in nvkm_perfdom_sample()
242 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_sample()
253 list_for_each_entry(dom, &pm->domains, head) in nvkm_perfdom_sample()
254 dom->func->next(pm, dom); in nvkm_perfdom_sample()
260 nvkm_perfdom_read(struct nvkm_perfdom *dom, void *data, u32 size) in nvkm_perfdom_read() argument
265 struct nvkm_object *object = &dom->object; in nvkm_perfdom_read()
266 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_read()
276 if (dom->ctr[i]) in nvkm_perfdom_read()
277 dom->func->read(pm, dom, dom->ctr[i]); in nvkm_perfdom_read()
280 if (!dom->clk) in nvkm_perfdom_read()
284 if (dom->ctr[i]) in nvkm_perfdom_read()
285 args->v0.ctr[i] = dom->ctr[i]->ctr; in nvkm_perfdom_read()
286 args->v0.clk = dom->clk; in nvkm_perfdom_read()
293 struct nvkm_perfdom *dom = nvkm_perfdom(object); in nvkm_perfdom_mthd() local
296 return nvkm_perfdom_init(dom, data, size); in nvkm_perfdom_mthd()
298 return nvkm_perfdom_sample(dom, data, size); in nvkm_perfdom_mthd()
300 return nvkm_perfdom_read(dom, data, size); in nvkm_perfdom_mthd()
310 struct nvkm_perfdom *dom = nvkm_perfdom(object); in nvkm_perfdom_dtor() local
311 struct nvkm_pm *pm = dom->perfmon->pm; in nvkm_perfdom_dtor()
315 struct nvkm_perfctr *ctr = dom->ctr[i]; in nvkm_perfdom_dtor()
324 return dom; in nvkm_perfdom_dtor()
328 nvkm_perfctr_new(struct nvkm_perfdom *dom, int slot, u8 domain, in nvkm_perfctr_new() argument
335 if (!dom) in nvkm_perfctr_new()
347 ctr->signal[i] = signal[i] - dom->signal; in nvkm_perfctr_new()
352 list_add_tail(&ctr->head, &dom->list); in nvkm_perfctr_new()
375 struct nvkm_perfdom *dom; in nvkm_perfdom_new_() local
414 if (!(dom = kzalloc(sizeof(*dom), GFP_KERNEL))) in nvkm_perfdom_new_()
416 nvkm_object_ctor(&nvkm_perfdom, oclass, &dom->object); in nvkm_perfdom_new_()
417 dom->perfmon = perfmon; in nvkm_perfdom_new_()
418 *pobject = &dom->object; in nvkm_perfdom_new_()
420 dom->func = sdom->func; in nvkm_perfdom_new_()
421 dom->addr = sdom->addr; in nvkm_perfdom_new_()
422 dom->mode = args->v0.mode; in nvkm_perfdom_new_()
424 dom->ctr[c] = ctr[c]; in nvkm_perfdom_new_()
440 struct nvkm_perfdom *dom; in nvkm_perfmon_mthd_query_domain() local
457 dom = nvkm_perfdom_find(pm, di); in nvkm_perfmon_mthd_query_domain()
458 if (dom == NULL) in nvkm_perfmon_mthd_query_domain()
462 args->v0.signal_nr = nvkm_perfdom_count_perfsig(dom); in nvkm_perfmon_mthd_query_domain()
463 strncpy(args->v0.name, dom->name, sizeof(args->v0.name)); in nvkm_perfmon_mthd_query_domain()
489 struct nvkm_perfdom *dom; in nvkm_perfmon_mthd_query_signal() local
504 dom = nvkm_perfdom_find(pm, args->v0.domain); in nvkm_perfmon_mthd_query_signal()
505 if (dom == NULL || si >= (int)dom->signal_nr) in nvkm_perfmon_mthd_query_signal()
509 sig = &dom->signal[si]; in nvkm_perfmon_mthd_query_signal()
512 "/%s/%02x", dom->name, si); in nvkm_perfmon_mthd_query_signal()
522 while (++si < dom->signal_nr) { in nvkm_perfmon_mthd_query_signal()
523 if (all || dom->signal[si].name) { in nvkm_perfmon_mthd_query_signal()
542 struct nvkm_perfdom *dom = NULL; in nvkm_perfmon_mthd_query_source() local
558 sig = nvkm_perfsig_find(pm, args->v0.domain, args->v0.signal, &dom); in nvkm_perfmon_mthd_query_source()
770 struct nvkm_perfdom *dom; in nvkm_perfdom_new() local
780 dom = kzalloc(sizeof(*dom) + sdom->signal_nr * in nvkm_perfdom_new()
781 sizeof(*dom->signal), GFP_KERNEL); in nvkm_perfdom_new()
782 if (!dom) in nvkm_perfdom_new()
786 snprintf(dom->name, sizeof(dom->name), in nvkm_perfdom_new()
790 snprintf(dom->name, sizeof(dom->name), in nvkm_perfdom_new()
794 list_add_tail(&dom->head, &pm->domains); in nvkm_perfdom_new()
795 INIT_LIST_HEAD(&dom->list); in nvkm_perfdom_new()
796 dom->func = sdom->func; in nvkm_perfdom_new()
797 dom->addr = addr; in nvkm_perfdom_new()
798 dom->signal_nr = sdom->signal_nr; in nvkm_perfdom_new()
803 &dom->signal[ssig->signal]; in nvkm_perfdom_new()
833 struct nvkm_perfdom *dom, *next_dom; in nvkm_pm_dtor() local
836 list_for_each_entry_safe(dom, next_dom, &pm->domains, head) { in nvkm_pm_dtor()
837 list_del(&dom->head); in nvkm_pm_dtor()
838 kfree(dom); in nvkm_pm_dtor()