Lines Matching refs:disp

40 	struct nvkm_device *device = ior->disp->engine.subdev.device;  in gv100_sor_hda_device_entry()
56 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_watermark()
65 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_audio_sym()
75 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_audio()
102 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_infoframe_vsi()
126 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_infoframe_avi()
148 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_ctrl()
186 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_state()
221 gv100_sor_new(struct nvkm_disp *disp, int id) in gv100_sor_new() argument
223 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_new()
229 return nvkm_ior_new_(&gv100_sor, disp, SOR, id, hda & BIT(id)); in gv100_sor_new()
233 gv100_sor_cnt(struct nvkm_disp *disp, unsigned long *pmask) in gv100_sor_cnt() argument
235 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_cnt()
244 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_put()
251 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_get()
258 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_rgpos()
268 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_state()
308 gv100_head_new(struct nvkm_disp *disp, int id) in gv100_head_new() argument
310 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_new()
315 return nvkm_head_new_(&gv100_head, disp, id); in gv100_head_new()
319 gv100_head_cnt(struct nvkm_disp *disp, unsigned long *pmask) in gv100_head_cnt() argument
321 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_cnt()
341 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_idle()
355 return nvkm_ramht_insert(chan->disp->ramht, object, chan->chid.user, -9, handle, in gv100_disp_dmac_bind()
362 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_fini()
374 struct nvkm_subdev *subdev = &chan->disp->engine.subdev; in gv100_disp_dmac_init()
394 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wimm_intr()
520 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wndw_intr()
545 gv100_disp_wndw_cnt(struct nvkm_disp *disp, unsigned long *pmask) in gv100_disp_wndw_cnt() argument
547 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_wndw_cnt()
556 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_idle()
569 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_intr()
578 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_fini()
588 struct nvkm_subdev *subdev = &chan->disp->engine.subdev; in gv100_disp_curs_init()
723 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_idle()
742 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_intr()
751 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_fini()
761 struct nvkm_subdev *subdev = &chan->disp->engine.subdev; in gv100_disp_core_init()
797 struct nvkm_disp *disp; member
805 struct nvkm_device *device = caps->disp->engine.subdev.device; in gv100_disp_caps_map()
821 struct nvkm_disp *disp = nvkm_udisp(oclass->parent); in gv100_disp_caps_new() local
829 caps->disp = disp; in gv100_disp_caps_new()
836 struct nvkm_disp *disp = container_of(work, struct nvkm_disp, super.work); in gv100_disp_super() local
837 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_super()
842 mutex_lock(&disp->super.mutex); in gv100_disp_super()
845 nvkm_debug(subdev, "supervisor %d: %08x\n", ffs(disp->super.pending), stat); in gv100_disp_super()
846 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
851 if (disp->super.pending & 0x00000001) { in gv100_disp_super()
852 nv50_disp_chan_mthd(disp->chan[0], NV_DBG_DEBUG); in gv100_disp_super()
853 nv50_disp_super_1(disp); in gv100_disp_super()
854 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
857 nv50_disp_super_1_0(disp, head); in gv100_disp_super()
860 if (disp->super.pending & 0x00000002) { in gv100_disp_super()
861 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
864 nv50_disp_super_2_0(disp, head); in gv100_disp_super()
866 nvkm_outp_route(disp); in gv100_disp_super()
867 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
870 nv50_disp_super_2_1(disp, head); in gv100_disp_super()
872 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
875 nv50_disp_super_2_2(disp, head); in gv100_disp_super()
878 if (disp->super.pending & 0x00000004) { in gv100_disp_super()
879 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
882 nv50_disp_super_3_0(disp, head); in gv100_disp_super()
886 list_for_each_entry(head, &disp->heads, head) in gv100_disp_super()
890 mutex_unlock(&disp->super.mutex); in gv100_disp_super()
894 gv100_disp_exception(struct nvkm_disp *disp, int chid) in gv100_disp_exception() argument
896 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_exception()
922 if (chid < ARRAY_SIZE(disp->chan) && disp->chan[chid]) { in gv100_disp_exception()
925 nv50_disp_chan_mthd(disp->chan[chid], NV_DBG_ERROR); in gv100_disp_exception()
936 gv100_disp_intr_ctrl_disp(struct nvkm_disp *disp) in gv100_disp_intr_ctrl_disp() argument
938 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_intr_ctrl_disp()
943 disp->super.pending = (stat & 0x00000007); in gv100_disp_intr_ctrl_disp()
944 queue_work(disp->super.wq, &disp->super.work); in gv100_disp_intr_ctrl_disp()
945 nvkm_wr32(device, 0x611860, disp->super.pending); in gv100_disp_intr_ctrl_disp()
971 nv50_disp_chan_uevent_send(disp, 0); in gv100_disp_intr_ctrl_disp()
974 for_each_set_bit(wndw, &wndws, disp->wndw.nr) { in gv100_disp_intr_ctrl_disp()
975 nv50_disp_chan_uevent_send(disp, 1 + wndw); in gv100_disp_intr_ctrl_disp()
984 gv100_disp_intr_exc_other(struct nvkm_disp *disp) in gv100_disp_intr_exc_other() argument
986 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_intr_exc_other()
994 gv100_disp_exception(disp, 0); in gv100_disp_intr_exc_other()
999 for_each_set_bit(head, &mask, disp->wndw.nr) { in gv100_disp_intr_exc_other()
1001 gv100_disp_exception(disp, 73 + head); in gv100_disp_intr_exc_other()
1013 gv100_disp_intr_exc_winim(struct nvkm_disp *disp) in gv100_disp_intr_exc_winim() argument
1015 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_intr_exc_winim()
1020 for_each_set_bit(wndw, &stat, disp->wndw.nr) { in gv100_disp_intr_exc_winim()
1022 gv100_disp_exception(disp, 33 + wndw); in gv100_disp_intr_exc_winim()
1033 gv100_disp_intr_exc_win(struct nvkm_disp *disp) in gv100_disp_intr_exc_win() argument
1035 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_intr_exc_win()
1040 for_each_set_bit(wndw, &stat, disp->wndw.nr) { in gv100_disp_intr_exc_win()
1042 gv100_disp_exception(disp, 1 + wndw); in gv100_disp_intr_exc_win()
1053 gv100_disp_intr_head_timing(struct nvkm_disp *disp, int head) in gv100_disp_intr_head_timing() argument
1055 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_intr_head_timing()
1066 nvkm_disp_vblank(disp, head); in gv100_disp_intr_head_timing()
1078 gv100_disp_intr(struct nvkm_disp *disp) in gv100_disp_intr() argument
1080 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_intr()
1088 gv100_disp_intr_head_timing(disp, head); in gv100_disp_intr()
1094 gv100_disp_intr_exc_win(disp); in gv100_disp_intr()
1099 gv100_disp_intr_exc_winim(disp); in gv100_disp_intr()
1104 gv100_disp_intr_exc_other(disp); in gv100_disp_intr()
1109 gv100_disp_intr_ctrl_disp(disp); in gv100_disp_intr()
1118 gv100_disp_fini(struct nvkm_disp *disp) in gv100_disp_fini() argument
1120 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_fini()
1125 gv100_disp_init(struct nvkm_disp *disp) in gv100_disp_init() argument
1127 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_init()
1147 for (i = 0; i < disp->sor.nr; i++) { in gv100_disp_init()
1154 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_init()
1169 for (i = 0; i < disp->wndw.nr; i++) { in gv100_disp_init()
1186 switch (nvkm_memory_target(disp->inst->memory)) { in gv100_disp_init()
1194 nvkm_wr32(device, 0x610014, disp->inst->addr >> 16); in gv100_disp_init()
1201 nvkm_wr32(device, 0x611cec, disp->head.mask << 16 | in gv100_disp_init()
1206 nvkm_wr32(device, 0x611ce8, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
1210 nvkm_wr32(device, 0x611ce4, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
1214 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_init()