Lines Matching +full:signal +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0
20 const struct etnaviv_pm_signal *signal);
31 const struct etnaviv_pm_signal *signal; member
42 const struct etnaviv_pm_signal *signal) in perf_reg_read() argument
44 gpu_write(gpu, domain->profile_config, signal->data); in perf_reg_read()
46 return gpu_read(gpu, domain->profile_read); in perf_reg_read()
51 const struct etnaviv_pm_signal *signal) in pipe_reg_read() argument
57 for (i = 0; i < gpu->identity.pixel_pipes; i++) { in pipe_reg_read()
61 gpu_write(gpu, domain->profile_config, signal->data); in pipe_reg_read()
62 value += gpu_read(gpu, domain->profile_read); in pipe_reg_read()
75 const struct etnaviv_pm_signal *signal) in hi_total_cycle_read() argument
79 if (gpu->identity.model == chipModel_GC880 || in hi_total_cycle_read()
80 gpu->identity.model == chipModel_GC2000 || in hi_total_cycle_read()
81 gpu->identity.model == chipModel_GC2100) in hi_total_cycle_read()
89 const struct etnaviv_pm_signal *signal) in hi_total_idle_cycle_read() argument
93 if (gpu->identity.model == chipModel_GC880 || in hi_total_idle_cycle_read()
94 gpu->identity.model == chipModel_GC2000 || in hi_total_idle_cycle_read()
95 gpu->identity.model == chipModel_GC2100) in hi_total_idle_cycle_read()
107 .signal = (const struct etnaviv_pm_signal[]) {
140 .signal = (const struct etnaviv_pm_signal[]) {
168 .signal = (const struct etnaviv_pm_signal[]) {
221 .signal = (const struct etnaviv_pm_signal[]) {
259 .signal = (const struct etnaviv_pm_signal[]) {
277 .signal = (const struct etnaviv_pm_signal[]) {
320 .signal = (const struct etnaviv_pm_signal[]) {
373 .signal = (const struct etnaviv_pm_signal[]) {
399 .signal = (const struct etnaviv_pm_signal[]) {
437 if (gpu->identity.features & meta->feature) in num_pm_domains()
438 num += meta->nr_domains; in num_pm_domains()
453 if (!(gpu->identity.features & meta->feature)) in pm_domain()
456 if (index - offset >= meta->nr_domains) { in pm_domain()
457 offset += meta->nr_domains; in pm_domain()
461 domain = meta->domains + (index - offset); in pm_domain()
473 if (domain->iter >= nr_domains) in etnaviv_pm_query_dom()
474 return -EINVAL; in etnaviv_pm_query_dom()
476 dom = pm_domain(gpu, domain->iter); in etnaviv_pm_query_dom()
478 return -EINVAL; in etnaviv_pm_query_dom()
480 domain->id = domain->iter; in etnaviv_pm_query_dom()
481 domain->nr_signals = dom->nr_signals; in etnaviv_pm_query_dom()
482 strncpy(domain->name, dom->name, sizeof(domain->name)); in etnaviv_pm_query_dom()
484 domain->iter++; in etnaviv_pm_query_dom()
485 if (domain->iter == nr_domains) in etnaviv_pm_query_dom()
486 domain->iter = 0xff; in etnaviv_pm_query_dom()
492 struct drm_etnaviv_pm_signal *signal) in etnaviv_pm_query_sig() argument
498 if (signal->domain >= nr_domains) in etnaviv_pm_query_sig()
499 return -EINVAL; in etnaviv_pm_query_sig()
501 dom = pm_domain(gpu, signal->domain); in etnaviv_pm_query_sig()
503 return -EINVAL; in etnaviv_pm_query_sig()
505 if (signal->iter >= dom->nr_signals) in etnaviv_pm_query_sig()
506 return -EINVAL; in etnaviv_pm_query_sig()
508 sig = &dom->signal[signal->iter]; in etnaviv_pm_query_sig()
510 signal->id = signal->iter; in etnaviv_pm_query_sig()
511 strncpy(signal->name, sig->name, sizeof(signal->name)); in etnaviv_pm_query_sig()
513 signal->iter++; in etnaviv_pm_query_sig()
514 if (signal->iter == dom->nr_signals) in etnaviv_pm_query_sig()
515 signal->iter = 0xffff; in etnaviv_pm_query_sig()
526 if (r->domain >= meta->nr_domains) in etnaviv_pm_req_validate()
527 return -EINVAL; in etnaviv_pm_req_validate()
529 dom = meta->domains + r->domain; in etnaviv_pm_req_validate()
531 if (r->signal >= dom->nr_signals) in etnaviv_pm_req_validate()
532 return -EINVAL; in etnaviv_pm_req_validate()
543 u32 *bo = pmr->bo_vma; in etnaviv_perfmon_process()
546 dom = meta->domains + pmr->domain; in etnaviv_perfmon_process()
547 sig = &dom->signal[pmr->signal]; in etnaviv_perfmon_process()
548 val = sig->sample(gpu, dom, sig); in etnaviv_perfmon_process()
550 *(bo + pmr->offset) = val; in etnaviv_perfmon_process()