• Home
  • Raw
  • Download

Lines Matching +full:- +full:pm

30 static int etna_perfmon_query_signals(struct etna_perfmon *pm, struct etna_perfmon_domain *dom)  in etna_perfmon_query_signals()  argument
32 struct etna_device *dev = pm->pipe->gpu->dev; in etna_perfmon_query_signals()
34 .pipe = pm->pipe->id, in etna_perfmon_query_signals()
35 .domain = dom->id in etna_perfmon_query_signals()
42 ret = drmCommandWriteRead(dev->fd, DRM_ETNAVIV_PM_QUERY_SIG, &req, sizeof(req)); in etna_perfmon_query_signals()
48 return -ENOMEM; in etna_perfmon_query_signals()
54 sig->domain = dom; in etna_perfmon_query_signals()
55 sig->signal = req.id; in etna_perfmon_query_signals()
56 strncpy(sig->name, req.name, sizeof(sig->name)); in etna_perfmon_query_signals()
57 list_addtail(&sig->head, &dom->signals); in etna_perfmon_query_signals()
63 static int etna_perfmon_query_domains(struct etna_perfmon *pm) in etna_perfmon_query_domains() argument
65 struct etna_device *dev = pm->pipe->gpu->dev; in etna_perfmon_query_domains()
67 .pipe = pm->pipe->id in etna_perfmon_query_domains()
74 ret = drmCommandWriteRead(dev->fd, DRM_ETNAVIV_PM_QUERY_DOM, &req, sizeof(req)); in etna_perfmon_query_domains()
80 return -ENOMEM; in etna_perfmon_query_domains()
82 list_inithead(&dom->signals); in etna_perfmon_query_domains()
83 dom->id = req.id; in etna_perfmon_query_domains()
84 strncpy(dom->name, req.name, sizeof(dom->name)); in etna_perfmon_query_domains()
85 list_addtail(&dom->head, &pm->domains); in etna_perfmon_query_domains()
94 ret = etna_perfmon_query_signals(pm, dom); in etna_perfmon_query_domains()
107 LIST_FOR_EACH_ENTRY_SAFE(sig, next, &dom->signals, head) { in etna_perfmon_free_signals()
108 list_del(&sig->head); in etna_perfmon_free_signals()
113 static void etna_perfmon_free_domains(struct etna_perfmon *pm) in etna_perfmon_free_domains() argument
117 LIST_FOR_EACH_ENTRY_SAFE(dom, next, &pm->domains, head) { in etna_perfmon_free_domains()
119 list_del(&dom->head); in etna_perfmon_free_domains()
126 struct etna_perfmon *pm; in etna_perfmon_create() local
129 pm = calloc(1, sizeof(*pm)); in etna_perfmon_create()
130 if (!pm) { in etna_perfmon_create()
135 list_inithead(&pm->domains); in etna_perfmon_create()
136 pm->pipe = pipe; in etna_perfmon_create()
139 ret = etna_perfmon_query_domains(pm); in etna_perfmon_create()
143 return pm; in etna_perfmon_create()
146 etna_perfmon_del(pm); in etna_perfmon_create()
150 void etna_perfmon_del(struct etna_perfmon *pm) in etna_perfmon_del() argument
152 if (!pm) in etna_perfmon_del()
155 etna_perfmon_free_domains(pm); in etna_perfmon_del()
156 free(pm); in etna_perfmon_del()
159 struct etna_perfmon_domain *etna_perfmon_get_dom_by_name(struct etna_perfmon *pm, const char *name) in etna_perfmon_get_dom_by_name() argument
163 if (pm) { in etna_perfmon_get_dom_by_name()
164 LIST_FOR_EACH_ENTRY(dom, &pm->domains, head) { in etna_perfmon_get_dom_by_name()
165 if (!strcmp(dom->name, name)) in etna_perfmon_get_dom_by_name()
178 LIST_FOR_EACH_ENTRY(signal, &dom->signals, head) { in etna_perfmon_get_sig_by_name()
179 if (!strcmp(signal->name, name)) in etna_perfmon_get_sig_by_name()