Lines Matching full: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()
222 gv100_sor_new(struct nvkm_disp *disp, int id) in gv100_sor_new() argument
224 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_new()
230 return nvkm_ior_new_(&gv100_sor, disp, SOR, id, hda & BIT(id)); in gv100_sor_new()
234 gv100_sor_cnt(struct nvkm_disp *disp, unsigned long *pmask) in gv100_sor_cnt() argument
236 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_cnt()
245 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_put()
252 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_get()
259 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_rgpos()
269 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_state()
309 gv100_head_new(struct nvkm_disp *disp, int id) in gv100_head_new() argument
311 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_new()
316 return nvkm_head_new_(&gv100_head, disp, id); in gv100_head_new()
320 gv100_head_cnt(struct nvkm_disp *disp, unsigned long *pmask) in gv100_head_cnt() argument
322 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_cnt()
342 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_idle()
356 return nvkm_ramht_insert(chan->disp->ramht, object, chan->chid.user, -9, handle, in gv100_disp_dmac_bind()
363 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_fini()
375 struct nvkm_subdev *subdev = &chan->disp->engine.subdev; in gv100_disp_dmac_init()
395 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wimm_intr()
521 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wndw_intr()
546 gv100_disp_wndw_cnt(struct nvkm_disp *disp, unsigned long *pmask) in gv100_disp_wndw_cnt() argument
548 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_wndw_cnt()
557 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_idle()
570 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_intr()
579 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_fini()
589 struct nvkm_subdev *subdev = &chan->disp->engine.subdev; in gv100_disp_curs_init()
724 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_idle()
743 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_intr()
752 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_fini()
762 struct nvkm_subdev *subdev = &chan->disp->engine.subdev; in gv100_disp_core_init()
798 struct nvkm_disp *disp; member
806 struct nvkm_device *device = caps->disp->engine.subdev.device; in gv100_disp_caps_map()
822 struct nvkm_disp *disp = nvkm_udisp(oclass->parent); in gv100_disp_caps_new() local
830 caps->disp = disp; in gv100_disp_caps_new()
837 struct nvkm_disp *disp = container_of(work, struct nvkm_disp, super.work); in gv100_disp_super() local
838 struct nvkm_subdev *subdev = &disp->engine.subdev; in gv100_disp_super()
843 mutex_lock(&disp->super.mutex); in gv100_disp_super()
846 nvkm_debug(subdev, "supervisor %d: %08x\n", ffs(disp->super.pending), stat); in gv100_disp_super()
847 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
852 if (disp->super.pending & 0x00000001) { in gv100_disp_super()
853 nv50_disp_chan_mthd(disp->chan[0], NV_DBG_DEBUG); in gv100_disp_super()
854 nv50_disp_super_1(disp); in gv100_disp_super()
855 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
858 nv50_disp_super_1_0(disp, head); in gv100_disp_super()
861 if (disp->super.pending & 0x00000002) { in gv100_disp_super()
862 list_for_each_entry(head, &disp->heads, head) { in gv100_disp_super()
865 nv50_disp_super_2_0(disp, head); 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, bool suspend) 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()