Lines Matching +full:tcs +full:- +full:config
22 /* The number of TCs and VPEs physically available on the core */
37 pr_warn("VPE loader: only Master VPE's are able to config MT\n"); in vpe_run()
40 return -1; in vpe_run()
46 if (list_empty(&v->tc)) { in vpe_run()
52 v->minor); in vpe_run()
54 return -ENOEXEC; in vpe_run()
57 t = list_first_entry(&v->tc, struct tc, tc); in vpe_run()
62 settc(t->index); in vpe_run()
72 t->index); in vpe_run()
74 return -ENOEXEC; in vpe_run()
81 write_tc_c0_tcrestart((unsigned long)v->__start); in vpe_run()
99 mttgpr($6, v->ntcs); in vpe_run()
114 | (t->index << VPECONF0_XTC_SHIFT)); in vpe_run()
130 * kernels need to turn it on, even if that wasn't the pre-dvpe() state. in vpe_run()
140 list_for_each_entry(notifier, &v->notify, list) in vpe_run()
141 notifier->start(VPE_MODULE_MINOR); in vpe_run()
158 settc(tc->index); in cleanup_tc()
186 v->state = VPE_STATE_INUSE; in vpe_alloc()
199 v->__start = start; in vpe_start()
213 t = list_entry(v->tc.next, struct tc, tc); in vpe_stop()
215 settc(t->index); in vpe_stop()
232 t = list_entry(v->tc.next, struct tc, tc); in vpe_free()
234 return -ENOEXEC; in vpe_free()
241 settc(t->index); in vpe_free()
251 v->state = VPE_STATE_UNUSED; in vpe_free()
266 list_for_each_entry(notifier, &vpe->notify, list) in store_kill()
267 notifier->stop(aprp_cpu_index()); in store_kill()
269 release_progmem(vpe->load_addr); in store_kill()
283 return sprintf(buf, "%d\n", vpe->ntcs); in ntcs_show()
297 if (new == 0 || new > (hw_tcs - aprp_cpu_index())) in ntcs_store()
298 return -EINVAL; in ntcs_store()
300 vpe->ntcs = new; in ntcs_store()
335 return -ENODEV; in vpe_module_init()
342 return -ENODEV; in vpe_module_init()
346 pr_warn("No TCs reserved for AP/SP, not initialize VPE loader\n" in vpe_module_init()
349 return -ENODEV; in vpe_module_init()
388 * Must re-enable multithreading temporarily or in case we in vpe_module_init()
397 err = -ENOMEM; in vpe_module_init()
416 v->ntcs = hw_tcs - aprp_cpu_index(); in vpe_module_init()
419 list_add(&t->tc, &v->tc); in vpe_module_init()
432 /* disable multi-threading with TC's */ in vpe_module_init()
438 * Set config to be the same as vpe0, in vpe_module_init()
446 t->pvpe = v; /* set the parent vpe */ in vpe_module_init()
456 * doesn't appear to let me bind a TC to a non-existent in vpe_module_init()
467 t->pvpe = get_vpe(0); /* set the parent vpe */ in vpe_module_init()
484 /* release config state */ in vpe_module_init()
516 if (v->state != VPE_STATE_UNUSED) in vpe_module_exit()