Lines Matching refs:engn
34 nvkm_engn_cgrp_get(struct nvkm_engn *engn, unsigned long *pirqflags) in nvkm_engn_cgrp_get() argument
41 id = engn->func->cxid(engn, &cgid); in nvkm_engn_cgrp_get()
46 chan = nvkm_runl_chan_get_chid(engn->runl, id, pirqflags); in nvkm_engn_cgrp_get()
50 cgrp = nvkm_runl_cgrp_get_cgid(engn->runl, id, pirqflags); in nvkm_engn_cgrp_get()
63 struct nvkm_engn *engn; in nvkm_runl_rc() local
101 nvkm_runl_foreach_engn_cond(engn, runl, engn->func->cxid) { in nvkm_runl_rc()
102 cgrp = nvkm_engn_cgrp_get(engn, &flags); in nvkm_runl_rc()
104 ENGN_DEBUG(engn, "cxid not valid"); in nvkm_runl_rc()
111 ENGN_DEBUG(engn, "cxid not in recovery"); in nvkm_runl_rc()
115 ENGN_DEBUG(engn, "resetting..."); in nvkm_runl_rc()
117 WARN_ON(nvkm_engine_reset(engn->engine)); in nvkm_runl_rc()
155 nvkm_runl_rc_engn(struct nvkm_runl *runl, struct nvkm_engn *engn) in nvkm_runl_rc_engn() argument
161 cgrp = nvkm_engn_cgrp_get(engn, &flags); in nvkm_runl_rc_engn()
163 ENGN_DEBUG(engn, "rc skipped, not on channel"); in nvkm_runl_rc_engn()
320 struct nvkm_engn *engn, *engt; in nvkm_runl_del() local
324 list_for_each_entry_safe(engn, engt, &runl->engns, head) { in nvkm_runl_del()
325 list_del(&engn->head); in nvkm_runl_del()
326 kfree(engn); in nvkm_runl_del()
344 struct nvkm_engn *engn; in nvkm_runl_add() local
352 if (!(engn = kzalloc(sizeof(*engn), GFP_KERNEL))) in nvkm_runl_add()
355 engn->func = func; in nvkm_runl_add()
356 engn->runl = runl; in nvkm_runl_add()
357 engn->id = engi; in nvkm_runl_add()
358 engn->engine = engine; in nvkm_runl_add()
359 engn->fault = -1; in nvkm_runl_add()
360 list_add_tail(&engn->head, &runl->engns); in nvkm_runl_add()
364 engn->fault = nvkm_top_fault_id(device, engine->subdev.type, engine->subdev.inst); in nvkm_runl_add()
366 if (engn->fault < 0 && fifo->func->mmu_fault) { in nvkm_runl_add()
371 engn->fault = map->value; in nvkm_runl_add()
378 return engn; in nvkm_runl_add()