Lines Matching full:device
40 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hda_device_entry() local
43 nvkm_mask(device, 0x616528 + hoff, 0x00000070, head << 4); in gv100_sor_hda_device_entry()
56 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_watermark() local
59 nvkm_mask(device, 0x616550 + hoff, 0x0c00003f, 0x08000000 | watermark); in gv100_sor_dp_watermark()
65 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_audio_sym() local
68 nvkm_mask(device, 0x616568 + hoff, 0x0000ffff, h); in gv100_sor_dp_audio_sym()
69 nvkm_mask(device, 0x61656c + hoff, 0x00ffffff, v); in gv100_sor_dp_audio_sym()
75 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_audio() local
80 nvkm_mask(device, 0x616560 + hoff, mask, data); in gv100_sor_dp_audio()
81 nvkm_msec(device, 2000, in gv100_sor_dp_audio()
82 if (!(nvkm_rd32(device, 0x616560 + hoff) & 0x80000000)) in gv100_sor_dp_audio()
103 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_ctrl() local
116 nvkm_mask(device, 0x6165c0 + hoff, 0x40000000, 0x00000000); in gv100_sor_hdmi_ctrl()
117 nvkm_mask(device, 0x6f0100 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
118 nvkm_mask(device, 0x6f00c0 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
119 nvkm_mask(device, 0x6f0000 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
124 nvkm_mask(device, 0x6f0000 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
126 nvkm_wr32(device, 0x6f0008 + hdmi, avi_infoframe.header); in gv100_sor_hdmi_ctrl()
127 nvkm_wr32(device, 0x6f000c + hdmi, avi_infoframe.subpack0_low); in gv100_sor_hdmi_ctrl()
128 nvkm_wr32(device, 0x6f0010 + hdmi, avi_infoframe.subpack0_high); in gv100_sor_hdmi_ctrl()
129 nvkm_wr32(device, 0x6f0014 + hdmi, avi_infoframe.subpack1_low); in gv100_sor_hdmi_ctrl()
130 nvkm_wr32(device, 0x6f0018 + hdmi, avi_infoframe.subpack1_high); in gv100_sor_hdmi_ctrl()
131 nvkm_mask(device, 0x6f0000 + hdmi, 0x00000001, 0x00000001); in gv100_sor_hdmi_ctrl()
135 nvkm_mask(device, 0x6f0100 + hdmi, 0x00010001, 0x00000000); in gv100_sor_hdmi_ctrl()
137 nvkm_wr32(device, 0x6f0108 + hdmi, vendor_infoframe.header); in gv100_sor_hdmi_ctrl()
138 nvkm_wr32(device, 0x6f010c + hdmi, vendor_infoframe.subpack0_low); in gv100_sor_hdmi_ctrl()
139 nvkm_wr32(device, 0x6f0110 + hdmi, vendor_infoframe.subpack0_high); in gv100_sor_hdmi_ctrl()
140 nvkm_wr32(device, 0x6f0114 + hdmi, 0x00000000); in gv100_sor_hdmi_ctrl()
141 nvkm_wr32(device, 0x6f0118 + hdmi, 0x00000000); in gv100_sor_hdmi_ctrl()
142 nvkm_wr32(device, 0x6f011c + hdmi, 0x00000000); in gv100_sor_hdmi_ctrl()
143 nvkm_wr32(device, 0x6f0120 + hdmi, 0x00000000); in gv100_sor_hdmi_ctrl()
144 nvkm_wr32(device, 0x6f0124 + hdmi, 0x00000000); in gv100_sor_hdmi_ctrl()
145 nvkm_mask(device, 0x6f0100 + hdmi, 0x00000001, 0x00000001); in gv100_sor_hdmi_ctrl()
150 nvkm_mask(device, 0x6f00c0 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
151 nvkm_wr32(device, 0x6f00cc + hdmi, 0x00000010); in gv100_sor_hdmi_ctrl()
152 nvkm_mask(device, 0x6f00c0 + hdmi, 0x00000001, 0x00000001); in gv100_sor_hdmi_ctrl()
155 nvkm_wr32(device, 0x6f0080 + hdmi, 0x82000000); in gv100_sor_hdmi_ctrl()
158 nvkm_mask(device, 0x6165c0 + hoff, 0x401f007f, ctrl); in gv100_sor_hdmi_ctrl()
164 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_state() local
166 u32 ctrl = nvkm_rd32(device, 0x680300 + coff); in gv100_sor_state()
204 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_new() local
207 if (!((hda = nvkm_rd32(device, 0x08a15c)) & 0x40000000)) in gv100_sor_new()
208 hda = nvkm_rd32(device, 0x118fb0) >> 8; in gv100_sor_new()
216 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_cnt() local
218 *pmask = (nvkm_rd32(device, 0x610060) & 0x0000ff00) >> 8; in gv100_sor_cnt()
219 return (nvkm_rd32(device, 0x610074) & 0x00000f00) >> 8; in gv100_sor_cnt()
225 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_put() local
226 nvkm_mask(device, 0x611d80 + (head->id * 4), 0x00000004, 0x00000000); in gv100_head_vblank_put()
232 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_get() local
233 nvkm_mask(device, 0x611d80 + (head->id * 4), 0x00000004, 0x00000004); in gv100_head_vblank_get()
239 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_rgpos() local
242 *vline = nvkm_rd32(device, 0x616330 + hoff) & 0x0000ffff; in gv100_head_rgpos()
243 *hline = nvkm_rd32(device, 0x616334 + hoff) & 0x0000ffff; in gv100_head_rgpos()
249 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_state() local
253 data = nvkm_rd32(device, 0x682064 + hoff); in gv100_head_state()
256 data = nvkm_rd32(device, 0x682068 + hoff); in gv100_head_state()
259 data = nvkm_rd32(device, 0x68206c + hoff); in gv100_head_state()
262 data = nvkm_rd32(device, 0x682070 + hoff); in gv100_head_state()
265 state->hz = nvkm_rd32(device, 0x68200c + hoff); in gv100_head_state()
267 data = nvkm_rd32(device, 0x682004 + hoff); in gv100_head_state()
291 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_new() local
293 if (!(nvkm_rd32(device, 0x610060) & (0x00000001 << id))) in gv100_head_new()
302 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_cnt() local
304 *pmask = nvkm_rd32(device, 0x610060) & 0x000000ff; in gv100_head_cnt()
305 return nvkm_rd32(device, 0x610074) & 0x0000000f; in gv100_head_cnt()
322 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_idle() local
324 nvkm_msec(device, 2000, in gv100_disp_dmac_idle()
325 u32 stat = nvkm_rd32(device, 0x610664 + soff); in gv100_disp_dmac_idle()
343 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_fini() local
346 nvkm_mask(device, 0x6104e0 + coff, 0x00000010, 0x00000000); in gv100_disp_dmac_fini()
348 nvkm_mask(device, 0x6104e0 + coff, 0x00000002, 0x00000000); in gv100_disp_dmac_fini()
349 chan->suspend_put = nvkm_rd32(device, 0x690000 + uoff); in gv100_disp_dmac_fini()
356 struct nvkm_device *device = subdev->device; in gv100_disp_dmac_init() local
361 nvkm_wr32(device, 0x610b24 + poff, lower_32_bits(chan->push)); in gv100_disp_dmac_init()
362 nvkm_wr32(device, 0x610b20 + poff, upper_32_bits(chan->push)); in gv100_disp_dmac_init()
363 nvkm_wr32(device, 0x610b28 + poff, 0x00000001); in gv100_disp_dmac_init()
364 nvkm_wr32(device, 0x610b2c + poff, 0x00000040); in gv100_disp_dmac_init()
366 nvkm_mask(device, 0x6104e0 + coff, 0x00000010, 0x00000010); in gv100_disp_dmac_init()
367 nvkm_wr32(device, 0x690000 + uoff, chan->suspend_put); in gv100_disp_dmac_init()
368 nvkm_wr32(device, 0x6104e0 + coff, 0x00000013); in gv100_disp_dmac_init()
375 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wimm_intr() local
378 nvkm_mask(device, 0x611da8, mask, data); in gv100_disp_wimm_intr()
501 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wndw_intr() local
504 nvkm_mask(device, 0x611da4, mask, data); in gv100_disp_wndw_intr()
528 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_wndw_cnt() local
530 *pmask = nvkm_rd32(device, 0x610064); in gv100_disp_wndw_cnt()
531 return (nvkm_rd32(device, 0x610074) & 0x03f00000) >> 20; in gv100_disp_wndw_cnt()
537 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_idle() local
539 nvkm_msec(device, 2000, in gv100_disp_curs_idle()
540 u32 stat = nvkm_rd32(device, 0x610664 + soff); in gv100_disp_curs_idle()
550 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_intr() local
553 nvkm_mask(device, 0x611dac, mask, data); in gv100_disp_curs_intr()
559 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_fini() local
561 nvkm_mask(device, 0x6104e0 + hoff, 0x00000010, 0x00000010); in gv100_disp_curs_fini()
563 nvkm_mask(device, 0x6104e0 + hoff, 0x00000001, 0x00000000); in gv100_disp_curs_fini()
570 struct nvkm_device *device = subdev->device; in gv100_disp_curs_init() local
571 nvkm_wr32(device, 0x6104e0 + chan->chid.ctrl * 4, 0x00000001); in gv100_disp_curs_init()
704 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_idle() local
705 nvkm_msec(device, 2000, in gv100_disp_core_idle()
706 u32 stat = nvkm_rd32(device, 0x610630); in gv100_disp_core_idle()
723 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_intr() local
726 nvkm_mask(device, 0x611dac, mask, data); in gv100_disp_core_intr()
732 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_fini() local
733 nvkm_mask(device, 0x6104e0, 0x00000010, 0x00000000); in gv100_disp_core_fini()
735 nvkm_mask(device, 0x6104e0, 0x00000002, 0x00000000); in gv100_disp_core_fini()
736 chan->suspend_put = nvkm_rd32(device, 0x680000); in gv100_disp_core_fini()
743 struct nvkm_device *device = subdev->device; in gv100_disp_core_init() local
745 nvkm_wr32(device, 0x610b24, lower_32_bits(chan->push)); in gv100_disp_core_init()
746 nvkm_wr32(device, 0x610b20, upper_32_bits(chan->push)); in gv100_disp_core_init()
747 nvkm_wr32(device, 0x610b28, 0x00000001); in gv100_disp_core_init()
748 nvkm_wr32(device, 0x610b2c, 0x00000040); in gv100_disp_core_init()
750 nvkm_mask(device, 0x6104e0, 0x00000010, 0x00000010); in gv100_disp_core_init()
751 nvkm_wr32(device, 0x680000, chan->suspend_put); in gv100_disp_core_init()
752 nvkm_wr32(device, 0x6104e0, 0x00000013); in gv100_disp_core_init()
786 struct nvkm_device *device = caps->disp->engine.subdev.device; in gv100_disp_caps_map() local
788 *addr = 0x640000 + device->func->resource_addr(device, 0); in gv100_disp_caps_map()
819 struct nvkm_device *device = subdev->device; in gv100_disp_super() local
824 stat = nvkm_rd32(device, 0x6107a8); in gv100_disp_super()
828 mask[head->id] = nvkm_rd32(device, 0x6107ac + (head->id * 4)); in gv100_disp_super()
868 nvkm_wr32(device, 0x6107ac + (head->id * 4), 0x00000000); in gv100_disp_super()
870 nvkm_wr32(device, 0x6107a8, 0x80000000); in gv100_disp_super()
878 struct nvkm_device *device = subdev->device; in gv100_disp_exception() local
879 u32 stat = nvkm_rd32(device, 0x611020 + (chid * 12)); in gv100_disp_exception()
891 u32 data = nvkm_rd32(device, 0x611024 + (chid * 12)); in gv100_disp_exception()
892 u32 code = nvkm_rd32(device, 0x611028 + (chid * 12)); in gv100_disp_exception()
913 nvkm_wr32(device, 0x611020 + (chid * 12), 0x90000000); in gv100_disp_exception()
920 struct nvkm_device *device = subdev->device; in gv100_disp_intr_ctrl_disp() local
921 u32 stat = nvkm_rd32(device, 0x611c30); in gv100_disp_intr_ctrl_disp()
926 nvkm_wr32(device, 0x611860, disp->super.pending); in gv100_disp_intr_ctrl_disp()
937 u32 error = nvkm_mask(device, 0x611848, 0x00000000, 0x00000000); in gv100_disp_intr_ctrl_disp()
943 unsigned long wndws = nvkm_rd32(device, 0x611858); in gv100_disp_intr_ctrl_disp()
944 unsigned long other = nvkm_rd32(device, 0x61185c); in gv100_disp_intr_ctrl_disp()
947 nvkm_wr32(device, 0x611858, wndws); in gv100_disp_intr_ctrl_disp()
948 nvkm_wr32(device, 0x61185c, other); in gv100_disp_intr_ctrl_disp()
968 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_other() local
969 u32 stat = nvkm_rd32(device, 0x611854); in gv100_disp_intr_exc_other()
974 nvkm_wr32(device, 0x611854, 0x00000001); in gv100_disp_intr_exc_other()
981 nvkm_wr32(device, 0x611854, 0x00010000 << head); in gv100_disp_intr_exc_other()
989 nvkm_wr32(device, 0x611854, stat); in gv100_disp_intr_exc_other()
997 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_winim() local
998 unsigned long stat = nvkm_rd32(device, 0x611850); in gv100_disp_intr_exc_winim()
1002 nvkm_wr32(device, 0x611850, BIT(wndw)); in gv100_disp_intr_exc_winim()
1009 nvkm_wr32(device, 0x611850, stat); in gv100_disp_intr_exc_winim()
1017 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_win() local
1018 unsigned long stat = nvkm_rd32(device, 0x61184c); in gv100_disp_intr_exc_win()
1022 nvkm_wr32(device, 0x61184c, BIT(wndw)); in gv100_disp_intr_exc_win()
1029 nvkm_wr32(device, 0x61184c, stat); in gv100_disp_intr_exc_win()
1037 struct nvkm_device *device = subdev->device; in gv100_disp_intr_head_timing() local
1038 u32 stat = nvkm_rd32(device, 0x611800 + (head * 0x04)); in gv100_disp_intr_head_timing()
1042 nvkm_wr32(device, 0x611800 + (head * 0x04), stat & 0x00000003); in gv100_disp_intr_head_timing()
1048 nvkm_wr32(device, 0x611800 + (head * 0x04), 0x00000004); in gv100_disp_intr_head_timing()
1054 nvkm_wr32(device, 0x611800 + (head * 0x04), stat); in gv100_disp_intr_head_timing()
1062 struct nvkm_device *device = subdev->device; in gv100_disp_intr() local
1063 u32 stat = nvkm_rd32(device, 0x611ec0); in gv100_disp_intr()
1101 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_fini() local
1102 nvkm_wr32(device, 0x611db0, 0x00000000); in gv100_disp_fini()
1108 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_init() local
1114 if (nvkm_rd32(device, 0x6254e8) & 0x00000002) { in gv100_disp_init()
1115 nvkm_mask(device, 0x6254e8, 0x00000001, 0x00000000); in gv100_disp_init()
1116 if (nvkm_msec(device, 2000, in gv100_disp_init()
1117 if (!(nvkm_rd32(device, 0x6254e8) & 0x00000002)) in gv100_disp_init()
1124 tmp = nvkm_rd32(device, 0x610068); in gv100_disp_init()
1125 nvkm_wr32(device, 0x640008, tmp); in gv100_disp_init()
1129 tmp = nvkm_rd32(device, 0x61c000 + (i * 0x800)); in gv100_disp_init()
1130 nvkm_mask(device, 0x640000, 0x00000100 << i, 0x00000100 << i); in gv100_disp_init()
1131 nvkm_wr32(device, 0x640144 + (i * 0x08), tmp); in gv100_disp_init()
1139 tmp = nvkm_rd32(device, 0x616300 + (id * 0x800)); in gv100_disp_init()
1140 nvkm_wr32(device, 0x640048 + (id * 0x020), tmp); in gv100_disp_init()
1144 tmp = nvkm_rd32(device, 0x616100 + (id * 0x800) + j); in gv100_disp_init()
1145 nvkm_wr32(device, 0x640030 + (id * 0x20) + j, tmp); in gv100_disp_init()
1151 nvkm_mask(device, 0x640004, 1 << i, 1 << i); in gv100_disp_init()
1153 tmp = nvkm_rd32(device, 0x630050 + (i * 0x800) + j); in gv100_disp_init()
1154 nvkm_wr32(device, 0x6401e4 + (i * 0x20) + j, tmp); in gv100_disp_init()
1160 tmp = nvkm_rd32(device, 0x62e000 + (i * 0x04)); in gv100_disp_init()
1161 nvkm_wr32(device, 0x640010 + (i * 0x04), tmp); in gv100_disp_init()
1164 nvkm_mask(device, 0x610078, 0x00000001, 0x00000001); in gv100_disp_init()
1174 nvkm_wr32(device, 0x610010, 0x00000008 | tmp); in gv100_disp_init()
1175 nvkm_wr32(device, 0x610014, disp->inst->addr >> 16); in gv100_disp_init()
1178 nvkm_wr32(device, 0x611cf0, 0x00000187); /* MSK. */ in gv100_disp_init()
1179 nvkm_wr32(device, 0x611db0, 0x00000187); /* EN. */ in gv100_disp_init()
1182 nvkm_wr32(device, 0x611cec, disp->head.mask << 16 | in gv100_disp_init()
1184 nvkm_wr32(device, 0x611dac, 0x00000000); /* EN. */ in gv100_disp_init()
1187 nvkm_wr32(device, 0x611ce8, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
1188 nvkm_wr32(device, 0x611da8, 0x00000000); /* EN. */ in gv100_disp_init()
1191 nvkm_wr32(device, 0x611ce4, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
1192 nvkm_wr32(device, 0x611da4, 0x00000000); /* EN. */ in gv100_disp_init()
1197 nvkm_wr32(device, 0x611cc0 + hoff, 0x00000004); /* MSK. */ in gv100_disp_init()
1198 nvkm_wr32(device, 0x611d80 + hoff, 0x00000000); /* EN. */ in gv100_disp_init()
1202 nvkm_wr32(device, 0x611cf4, 0x00000000); /* MSK. */ in gv100_disp_init()
1203 nvkm_wr32(device, 0x611db4, 0x00000000); /* EN. */ in gv100_disp_init()
1231 gv100_disp_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, in gv100_disp_new() argument
1234 return nvkm_disp_new_(&gv100_disp, device, type, inst, pdisp); in gv100_disp_new()