Home
last modified time | relevance | path

Searched refs:runq (Results 1 – 25 of 26) sorted by relevance

12

/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
Drunq.c26 nvkm_runq_del(struct nvkm_runq *runq) in nvkm_runq_del() argument
28 list_del(&runq->head); in nvkm_runq_del()
29 kfree(runq); in nvkm_runq_del()
35 struct nvkm_runq *runq; in nvkm_runq_new() local
37 if (!(runq = kzalloc(sizeof(*runq), GFP_KERNEL))) in nvkm_runq_new()
40 runq->func = fifo->func->runq; in nvkm_runq_new()
41 runq->fifo = fifo; in nvkm_runq_new()
42 runq->id = pbid; in nvkm_runq_new()
43 list_add_tail(&runq->head, &fifo->runqs); in nvkm_runq_new()
44 return runq; in nvkm_runq_new()
Dga100.c176 ga100_runq_idle(struct nvkm_runq *runq) in ga100_runq_idle() argument
178 struct nvkm_device *device = runq->fifo->engine.subdev.device; in ga100_runq_idle()
180 return !(nvkm_rd32(device, 0x04015c + (runq->id * 0x800)) & 0x0000e000); in ga100_runq_idle()
184 ga100_runq_intr_1(struct nvkm_runq *runq, struct nvkm_runl *runl) in ga100_runq_intr_1() argument
186 struct nvkm_device *device = runq->fifo->engine.subdev.device; in ga100_runq_intr_1()
187 u32 inte = nvkm_rd32(device, 0x040180 + (runq->id * 0x800)); in ga100_runq_intr_1()
188 u32 intr = nvkm_rd32(device, 0x040148 + (runq->id * 0x800)); in ga100_runq_intr_1()
192 RUNQ_DEBUG(runq, "inte1 %08x %08x", intr, inte); in ga100_runq_intr_1()
197 u32 chid = nvkm_rd32(device, 0x040120 + (runq->id * 0x0800)) & runl->chid->mask; in ga100_runq_intr_1()
201 RUNQ_ERROR(runq, "CTXNOTVALID chid:%d", chid); in ga100_runq_intr_1()
[all …]
Dgk104.c289 gk104_runq_idle(struct nvkm_runq *runq) in gk104_runq_idle() argument
291 struct nvkm_device *device = runq->fifo->engine.subdev.device; in gk104_runq_idle()
293 return !(nvkm_rd32(device, 0x003080 + (runq->id * 4)) & 0x0000e000); in gk104_runq_idle()
307 gk104_runq_intr_1(struct nvkm_runq *runq) in gk104_runq_intr_1() argument
309 struct nvkm_subdev *subdev = &runq->fifo->engine.subdev; in gk104_runq_intr_1()
311 u32 mask = nvkm_rd32(device, 0x04014c + (runq->id * 0x2000)); in gk104_runq_intr_1()
312 u32 stat = nvkm_rd32(device, 0x040148 + (runq->id * 0x2000)) & mask; in gk104_runq_intr_1()
313 u32 chid = nvkm_rd32(device, 0x040120 + (runq->id * 0x2000)) & 0xfff; in gk104_runq_intr_1()
317 if (runq->func->intr_1_ctxnotvalid && in gk104_runq_intr_1()
318 runq->func->intr_1_ctxnotvalid(runq, chid)) in gk104_runq_intr_1()
[all …]
Dgk208.c30 gk208_runq_init(struct nvkm_runq *runq) in gk208_runq_init() argument
32 gk104_runq_init(runq); in gk208_runq_init()
34 nvkm_wr32(runq->fifo->engine.subdev.device, 0x04012c + (runq->id * 0x2000), 0x000f4240); in gk208_runq_init()
65 .runq = &gk208_runq,
Dgf100.c310 gf100_runq_intr(struct nvkm_runq *runq, struct nvkm_runl *null) in gf100_runq_intr() argument
312 struct nvkm_subdev *subdev = &runq->fifo->engine.subdev; in gf100_runq_intr()
314 u32 mask = nvkm_rd32(device, 0x04010c + (runq->id * 0x2000)); in gf100_runq_intr()
315 u32 stat = nvkm_rd32(device, 0x040108 + (runq->id * 0x2000)) & mask; in gf100_runq_intr()
316 u32 addr = nvkm_rd32(device, 0x0400c0 + (runq->id * 0x2000)); in gf100_runq_intr()
317 u32 data = nvkm_rd32(device, 0x0400c4 + (runq->id * 0x2000)); in gf100_runq_intr()
318 u32 chid = nvkm_rd32(device, 0x040120 + (runq->id * 0x2000)) & runq->fifo->chid->mask; in gf100_runq_intr()
334 nvkm_snprintbf(msg, sizeof(msg), runq->func->intr_0_names, show); in gf100_runq_intr()
335 chan = nvkm_chan_get_chid(&runq->fifo->engine, chid, &flags); in gf100_runq_intr()
338 runq->id, show, msg, chid, chan ? chan->inst->addr : 0, in gf100_runq_intr()
[all …]
Drunq.h24 #define nvkm_runq_foreach(runq,fifo) list_for_each_entry((runq), &(fifo)->runqs, head) argument
25 #define nvkm_runq_foreach_cond(runq,fifo,cond) nvkm_list_foreach(runq, &(fifo)->runqs, head, (cond)) argument
Dbase.c142 struct nvkm_runq *runq; in nvkm_fifo_init() local
147 nvkm_runq_foreach(runq, fifo) in nvkm_fifo_init()
148 mask |= BIT(runq->id); in nvkm_fifo_init()
152 nvkm_runq_foreach(runq, fifo) in nvkm_fifo_init()
153 runq->func->init(runq); in nvkm_fifo_init()
336 struct nvkm_runq *runq, *rtmp; in nvkm_fifo_dtor() local
344 list_for_each_entry_safe(runq, rtmp, &fifo->runqs, head) in nvkm_fifo_dtor()
345 nvkm_runq_del(runq); in nvkm_fifo_dtor()
Dgv100.c146 gv100_runq_intr_1_ctxnotvalid(struct nvkm_runq *runq, int chid) in gv100_runq_intr_1_ctxnotvalid() argument
148 struct nvkm_fifo *fifo = runq->fifo; in gv100_runq_intr_1_ctxnotvalid()
153 RUNQ_ERROR(runq, "CTXNOTVALID chid:%d", chid); in gv100_runq_intr_1_ctxnotvalid()
162 nvkm_mask(device, 0x0400ac + (runq->id * 0x2000), 0x00030000, 0x00030000); in gv100_runq_intr_1_ctxnotvalid()
163 nvkm_wr32(device, 0x040148 + (runq->id * 0x2000), 0x80000000); in gv100_runq_intr_1_ctxnotvalid()
188 nvkm_wo32(memory, offset + 0x0, lower_32_bits(user) | chan->runq << 1); in gv100_runl_insert_chan()
480 .runq = &gv100_runq,
Dchan.c346 nvkm_chan_new_(const struct nvkm_chan_func *func, struct nvkm_runl *runl, int runq, in nvkm_chan_new_() argument
357 if ((runq && runq >= runl->func->runqs) || in nvkm_chan_new_()
365 runl->func->runqs, runq, func->inst->vmm, vmm, in nvkm_chan_new_()
376 chan->runq = runq; in nvkm_chan_new_()
Drunl.c89 struct nvkm_runq *runq = runl->runq[i]; in nvkm_runl_rc() local
91 if (runq) { in nvkm_runl_rc()
93 if (runq->func->idle(runq)) in nvkm_runl_rc()
Dgp100.c35 nvkm_wo32(memory, offset + 0, chan->id | chan->runq << 14); in gp100_runl_insert_chan()
127 .runq = &gk208_runq,
Duchan.c208 int ret, runq = 0; in nvkm_uchan_sclass() local
217 if (chan->runq != runq++) in nvkm_uchan_sclass()
377 ret = nvkm_chan_new_(fifo->func->chan.func, runl, args->v0.runq, cgrp, args->v0.name, in nvkm_uchan_new()
Dga102.c33 .runq = &ga100_runq,
Dgk20a.c40 .runq = &gk208_runq,
Dgm200.c54 .runq = &gk208_runq,
Dgk110.c120 .runq = &gk104_runq,
Dchan.h56 int nvkm_chan_new_(const struct nvkm_chan_func *, struct nvkm_runl *, int runq, struct nvkm_cgrp *,
DKbuild7 nvkm-y += nvkm/engine/fifo/runq.o
Dgm107.c144 .runq = &gk208_runq,
Drunl.h68 struct nvkm_runq *runq[2]; member
Dpriv.h44 const struct nvkm_runq_func *runq; member
Dtu102.c274 .runq = &gv100_runq,
/linux-6.6.21/drivers/gpu/drm/nouveau/include/nvif/
Dif0020.h10 __u8 runq; member
/linux-6.6.21/arch/powerpc/platforms/cell/spufs/
Dsched.c43 struct list_head runq[MAX_PRIO]; member
491 list_add_tail(&ctx->rq, &spu_prio->runq[ctx->prio]); in __spu_add_to_rq()
514 if (list_empty(&spu_prio->runq[prio])) in __spu_del_from_rq()
827 struct list_head *rq = &spu_prio->runq[best]; in grab_runnable_context()
1090 INIT_LIST_HEAD(&spu_prio->runq[i]); in spu_sched_init()
/linux-6.6.21/drivers/gpu/drm/nouveau/include/nvkm/engine/
Dfifo.h15 int runq; member

12