Lines Matching refs:chan
393 struct nv10_gr_chan *chan[32]; member
431 nv17_gr_mthd_lma_window(struct nv10_gr_chan *chan, u32 mthd, u32 data) in nv17_gr_mthd_lma_window() argument
433 struct nvkm_device *device = chan->object.engine->subdev.device; in nv17_gr_mthd_lma_window()
434 struct nvkm_gr *gr = &chan->gr->base; in nv17_gr_mthd_lma_window()
435 struct pipe_state *pipe = &chan->pipe_state; in nv17_gr_mthd_lma_window()
440 chan->lma_window[(mthd - 0x1638) / 4] = data; in nv17_gr_mthd_lma_window()
450 PIPE_RESTORE(device, chan->lma_window, 0x6790); in nv17_gr_mthd_lma_window()
504 nv17_gr_mthd_lma_enable(struct nv10_gr_chan *chan, u32 mthd, u32 data) in nv17_gr_mthd_lma_enable() argument
506 struct nvkm_device *device = chan->object.engine->subdev.device; in nv17_gr_mthd_lma_enable()
507 struct nvkm_gr *gr = &chan->gr->base; in nv17_gr_mthd_lma_enable()
516 nv17_gr_mthd_celcius(struct nv10_gr_chan *chan, u32 mthd, u32 data) in nv17_gr_mthd_celcius() argument
526 func(chan, mthd, data); in nv17_gr_mthd_celcius()
531 nv10_gr_mthd(struct nv10_gr_chan *chan, u8 class, u32 mthd, u32 data) in nv10_gr_mthd() argument
539 return func(chan, mthd, data); in nv10_gr_mthd()
550 struct nv10_gr_chan *chan = NULL; in nv10_gr_channel() local
553 if (chid < ARRAY_SIZE(gr->chan)) in nv10_gr_channel()
554 chan = gr->chan[chid]; in nv10_gr_channel()
556 return chan; in nv10_gr_channel()
560 nv10_gr_save_pipe(struct nv10_gr_chan *chan) in nv10_gr_save_pipe() argument
562 struct nv10_gr *gr = chan->gr; in nv10_gr_save_pipe()
563 struct pipe_state *pipe = &chan->pipe_state; in nv10_gr_save_pipe()
579 nv10_gr_load_pipe(struct nv10_gr_chan *chan) in nv10_gr_load_pipe() argument
581 struct nv10_gr *gr = chan->gr; in nv10_gr_load_pipe()
582 struct pipe_state *pipe = &chan->pipe_state; in nv10_gr_load_pipe()
630 nv10_gr_create_pipe(struct nv10_gr_chan *chan) in nv10_gr_create_pipe() argument
632 struct nv10_gr *gr = chan->gr; in nv10_gr_create_pipe()
634 struct pipe_state *pipe_state = &chan->pipe_state; in nv10_gr_create_pipe()
812 nv10_gr_load_dma_vtxbuf(struct nv10_gr_chan *chan, int chid, u32 inst) in nv10_gr_load_dma_vtxbuf() argument
814 struct nv10_gr *gr = chan->gr; in nv10_gr_load_dma_vtxbuf()
883 nv10_gr_load_context(struct nv10_gr_chan *chan, int chid) in nv10_gr_load_context() argument
885 struct nv10_gr *gr = chan->gr; in nv10_gr_load_context()
891 nvkm_wr32(device, nv10_gr_ctx_regs[i], chan->nv10[i]); in nv10_gr_load_context()
895 nvkm_wr32(device, nv17_gr_ctx_regs[i], chan->nv17[i]); in nv10_gr_load_context()
898 nv10_gr_load_pipe(chan); in nv10_gr_load_context()
901 nv10_gr_load_dma_vtxbuf(chan, chid, inst); in nv10_gr_load_context()
910 nv10_gr_unload_context(struct nv10_gr_chan *chan) in nv10_gr_unload_context() argument
912 struct nv10_gr *gr = chan->gr; in nv10_gr_unload_context()
917 chan->nv10[i] = nvkm_rd32(device, nv10_gr_ctx_regs[i]); in nv10_gr_unload_context()
921 chan->nv17[i] = nvkm_rd32(device, nv17_gr_ctx_regs[i]); in nv10_gr_unload_context()
924 nv10_gr_save_pipe(chan); in nv10_gr_unload_context()
948 next = gr->chan[chid]; in nv10_gr_context_switch()
956 struct nv10_gr_chan *chan = nv10_gr_chan(object); in nv10_gr_chan_fini() local
957 struct nv10_gr *gr = chan->gr; in nv10_gr_chan_fini()
963 if (nv10_gr_channel(gr) == chan) in nv10_gr_chan_fini()
964 nv10_gr_unload_context(chan); in nv10_gr_chan_fini()
973 struct nv10_gr_chan *chan = nv10_gr_chan(object); in nv10_gr_chan_dtor() local
974 struct nv10_gr *gr = chan->gr; in nv10_gr_chan_dtor()
978 gr->chan[chan->chid] = NULL; in nv10_gr_chan_dtor()
980 return chan; in nv10_gr_chan_dtor()
992 chan->nv10[offset] = val; \
998 chan->nv17[offset] = val; \
1006 struct nv10_gr_chan *chan; in nv10_gr_chan_new() local
1010 if (!(chan = kzalloc(sizeof(*chan), GFP_KERNEL))) in nv10_gr_chan_new()
1012 nvkm_object_ctor(&nv10_gr_chan, oclass, &chan->object); in nv10_gr_chan_new()
1013 chan->gr = gr; in nv10_gr_chan_new()
1014 chan->chid = fifoch->chid; in nv10_gr_chan_new()
1015 *pobject = &chan->object; in nv10_gr_chan_new()
1034 NV_WRITE_CTX(NV10_PGRAPH_CTX_USER, chan->chid << 24); in nv10_gr_chan_new()
1036 nv10_gr_create_pipe(chan); in nv10_gr_chan_new()
1039 gr->chan[chan->chid] = chan; in nv10_gr_chan_new()
1097 struct nv10_gr_chan *chan; in nv10_gr_intr() local
1101 chan = gr->chan[chid]; in nv10_gr_intr()
1104 if (chan && (nsource & NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD)) { in nv10_gr_intr()
1105 if (!nv10_gr_mthd(chan, class, mthd, data)) in nv10_gr_intr()
1128 chan ? chan->object.client->name : "unknown", in nv10_gr_intr()