Lines Matching refs: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()
102 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_infoframe_vsi() local
108 nvkm_mask(device, 0x6f0100 + hoff, 0x00010001, 0x00000000); in gv100_sor_hdmi_infoframe_vsi()
112 nvkm_wr32(device, 0x6f0108 + hoff, vsi.header); in gv100_sor_hdmi_infoframe_vsi()
113 nvkm_wr32(device, 0x6f010c + hoff, vsi.subpack0_low); in gv100_sor_hdmi_infoframe_vsi()
114 nvkm_wr32(device, 0x6f0110 + hoff, vsi.subpack0_high); in gv100_sor_hdmi_infoframe_vsi()
115 nvkm_wr32(device, 0x6f0114 + hoff, 0x00000000); in gv100_sor_hdmi_infoframe_vsi()
116 nvkm_wr32(device, 0x6f0118 + hoff, 0x00000000); in gv100_sor_hdmi_infoframe_vsi()
117 nvkm_wr32(device, 0x6f011c + hoff, 0x00000000); in gv100_sor_hdmi_infoframe_vsi()
118 nvkm_wr32(device, 0x6f0120 + hoff, 0x00000000); in gv100_sor_hdmi_infoframe_vsi()
119 nvkm_wr32(device, 0x6f0124 + hoff, 0x00000000); in gv100_sor_hdmi_infoframe_vsi()
120 nvkm_mask(device, 0x6f0100 + hoff, 0x00000001, 0x00000001); in gv100_sor_hdmi_infoframe_vsi()
126 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_infoframe_avi() local
132 nvkm_mask(device, 0x6f0000 + hoff, 0x00000001, 0x00000000); in gv100_sor_hdmi_infoframe_avi()
136 nvkm_wr32(device, 0x6f0008 + hoff, avi.header); in gv100_sor_hdmi_infoframe_avi()
137 nvkm_wr32(device, 0x6f000c + hoff, avi.subpack0_low); in gv100_sor_hdmi_infoframe_avi()
138 nvkm_wr32(device, 0x6f0010 + hoff, avi.subpack0_high); in gv100_sor_hdmi_infoframe_avi()
139 nvkm_wr32(device, 0x6f0014 + hoff, avi.subpack1_low); in gv100_sor_hdmi_infoframe_avi()
140 nvkm_wr32(device, 0x6f0018 + hoff, avi.subpack1_high); in gv100_sor_hdmi_infoframe_avi()
142 nvkm_mask(device, 0x6f0000 + hoff, 0x00000001, 0x00000001); in gv100_sor_hdmi_infoframe_avi()
148 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hdmi_ctrl() local
156 nvkm_mask(device, 0x6165c0 + hoff, 0x40000000, 0x00000000); in gv100_sor_hdmi_ctrl()
157 nvkm_mask(device, 0x6f0100 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
158 nvkm_mask(device, 0x6f00c0 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
159 nvkm_mask(device, 0x6f0000 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
164 nvkm_mask(device, 0x6f00c0 + hdmi, 0x00000001, 0x00000000); in gv100_sor_hdmi_ctrl()
165 nvkm_wr32(device, 0x6f00cc + hdmi, 0x00000010); in gv100_sor_hdmi_ctrl()
166 nvkm_mask(device, 0x6f00c0 + hdmi, 0x00000001, 0x00000001); in gv100_sor_hdmi_ctrl()
169 nvkm_wr32(device, 0x6f0080 + hdmi, 0x82000000); in gv100_sor_hdmi_ctrl()
172 nvkm_mask(device, 0x6165c0 + hoff, 0x401f007f, ctrl); in gv100_sor_hdmi_ctrl()
186 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_state() local
188 u32 ctrl = nvkm_rd32(device, 0x680300 + coff); in gv100_sor_state()
223 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_new() local
226 if (!((hda = nvkm_rd32(device, 0x08a15c)) & 0x40000000)) in gv100_sor_new()
227 hda = nvkm_rd32(device, 0x118fb0) >> 8; in gv100_sor_new()
235 struct nvkm_device *device = disp->engine.subdev.device; in gv100_sor_cnt() local
237 *pmask = (nvkm_rd32(device, 0x610060) & 0x0000ff00) >> 8; in gv100_sor_cnt()
238 return (nvkm_rd32(device, 0x610074) & 0x00000f00) >> 8; in gv100_sor_cnt()
244 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_put() local
245 nvkm_mask(device, 0x611d80 + (head->id * 4), 0x00000004, 0x00000000); in gv100_head_vblank_put()
251 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_vblank_get() local
252 nvkm_mask(device, 0x611d80 + (head->id * 4), 0x00000004, 0x00000004); in gv100_head_vblank_get()
258 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_rgpos() local
261 *vline = nvkm_rd32(device, 0x616330 + hoff) & 0x0000ffff; in gv100_head_rgpos()
262 *hline = nvkm_rd32(device, 0x616334 + hoff) & 0x0000ffff; in gv100_head_rgpos()
268 struct nvkm_device *device = head->disp->engine.subdev.device; in gv100_head_state() local
272 data = nvkm_rd32(device, 0x682064 + hoff); in gv100_head_state()
275 data = nvkm_rd32(device, 0x682068 + hoff); in gv100_head_state()
278 data = nvkm_rd32(device, 0x68206c + hoff); in gv100_head_state()
281 data = nvkm_rd32(device, 0x682070 + hoff); in gv100_head_state()
284 state->hz = nvkm_rd32(device, 0x68200c + hoff); in gv100_head_state()
286 data = nvkm_rd32(device, 0x682004 + hoff); in gv100_head_state()
310 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_new() local
312 if (!(nvkm_rd32(device, 0x610060) & (0x00000001 << id))) in gv100_head_new()
321 struct nvkm_device *device = disp->engine.subdev.device; in gv100_head_cnt() local
323 *pmask = nvkm_rd32(device, 0x610060) & 0x000000ff; in gv100_head_cnt()
324 return nvkm_rd32(device, 0x610074) & 0x0000000f; in gv100_head_cnt()
341 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_idle() local
343 nvkm_msec(device, 2000, in gv100_disp_dmac_idle()
344 u32 stat = nvkm_rd32(device, 0x610664 + soff); in gv100_disp_dmac_idle()
362 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_dmac_fini() local
365 nvkm_mask(device, 0x6104e0 + coff, 0x00000010, 0x00000000); in gv100_disp_dmac_fini()
367 nvkm_mask(device, 0x6104e0 + coff, 0x00000002, 0x00000000); in gv100_disp_dmac_fini()
368 chan->suspend_put = nvkm_rd32(device, 0x690000 + uoff); in gv100_disp_dmac_fini()
375 struct nvkm_device *device = subdev->device; in gv100_disp_dmac_init() local
380 nvkm_wr32(device, 0x610b24 + poff, lower_32_bits(chan->push)); in gv100_disp_dmac_init()
381 nvkm_wr32(device, 0x610b20 + poff, upper_32_bits(chan->push)); in gv100_disp_dmac_init()
382 nvkm_wr32(device, 0x610b28 + poff, 0x00000001); in gv100_disp_dmac_init()
383 nvkm_wr32(device, 0x610b2c + poff, 0x00000040); in gv100_disp_dmac_init()
385 nvkm_mask(device, 0x6104e0 + coff, 0x00000010, 0x00000010); in gv100_disp_dmac_init()
386 nvkm_wr32(device, 0x690000 + uoff, chan->suspend_put); in gv100_disp_dmac_init()
387 nvkm_wr32(device, 0x6104e0 + coff, 0x00000013); in gv100_disp_dmac_init()
394 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wimm_intr() local
397 nvkm_mask(device, 0x611da8, mask, data); in gv100_disp_wimm_intr()
520 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_wndw_intr() local
523 nvkm_mask(device, 0x611da4, mask, data); in gv100_disp_wndw_intr()
547 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_wndw_cnt() local
549 *pmask = nvkm_rd32(device, 0x610064); in gv100_disp_wndw_cnt()
550 return (nvkm_rd32(device, 0x610074) & 0x03f00000) >> 20; in gv100_disp_wndw_cnt()
556 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_idle() local
558 nvkm_msec(device, 2000, in gv100_disp_curs_idle()
559 u32 stat = nvkm_rd32(device, 0x610664 + soff); in gv100_disp_curs_idle()
569 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_intr() local
572 nvkm_mask(device, 0x611dac, mask, data); in gv100_disp_curs_intr()
578 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_curs_fini() local
580 nvkm_mask(device, 0x6104e0 + hoff, 0x00000010, 0x00000010); in gv100_disp_curs_fini()
582 nvkm_mask(device, 0x6104e0 + hoff, 0x00000001, 0x00000000); in gv100_disp_curs_fini()
589 struct nvkm_device *device = subdev->device; in gv100_disp_curs_init() local
590 nvkm_wr32(device, 0x6104e0 + chan->chid.ctrl * 4, 0x00000001); in gv100_disp_curs_init()
723 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_idle() local
724 nvkm_msec(device, 2000, in gv100_disp_core_idle()
725 u32 stat = nvkm_rd32(device, 0x610630); in gv100_disp_core_idle()
742 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_intr() local
745 nvkm_mask(device, 0x611dac, mask, data); in gv100_disp_core_intr()
751 struct nvkm_device *device = chan->disp->engine.subdev.device; in gv100_disp_core_fini() local
752 nvkm_mask(device, 0x6104e0, 0x00000010, 0x00000000); in gv100_disp_core_fini()
754 nvkm_mask(device, 0x6104e0, 0x00000002, 0x00000000); in gv100_disp_core_fini()
755 chan->suspend_put = nvkm_rd32(device, 0x680000); in gv100_disp_core_fini()
762 struct nvkm_device *device = subdev->device; in gv100_disp_core_init() local
764 nvkm_wr32(device, 0x610b24, lower_32_bits(chan->push)); in gv100_disp_core_init()
765 nvkm_wr32(device, 0x610b20, upper_32_bits(chan->push)); in gv100_disp_core_init()
766 nvkm_wr32(device, 0x610b28, 0x00000001); in gv100_disp_core_init()
767 nvkm_wr32(device, 0x610b2c, 0x00000040); in gv100_disp_core_init()
769 nvkm_mask(device, 0x6104e0, 0x00000010, 0x00000010); in gv100_disp_core_init()
770 nvkm_wr32(device, 0x680000, chan->suspend_put); in gv100_disp_core_init()
771 nvkm_wr32(device, 0x6104e0, 0x00000013); in gv100_disp_core_init()
805 struct nvkm_device *device = caps->disp->engine.subdev.device; in gv100_disp_caps_map() local
807 *addr = 0x640000 + device->func->resource_addr(device, 0); in gv100_disp_caps_map()
838 struct nvkm_device *device = subdev->device; in gv100_disp_super() local
843 stat = nvkm_rd32(device, 0x6107a8); in gv100_disp_super()
847 mask[head->id] = nvkm_rd32(device, 0x6107ac + (head->id * 4)); in gv100_disp_super()
887 nvkm_wr32(device, 0x6107ac + (head->id * 4), 0x00000000); in gv100_disp_super()
889 nvkm_wr32(device, 0x6107a8, 0x80000000); in gv100_disp_super()
897 struct nvkm_device *device = subdev->device; in gv100_disp_exception() local
898 u32 stat = nvkm_rd32(device, 0x611020 + (chid * 12)); in gv100_disp_exception()
910 u32 data = nvkm_rd32(device, 0x611024 + (chid * 12)); in gv100_disp_exception()
911 u32 code = nvkm_rd32(device, 0x611028 + (chid * 12)); in gv100_disp_exception()
932 nvkm_wr32(device, 0x611020 + (chid * 12), 0x90000000); in gv100_disp_exception()
939 struct nvkm_device *device = subdev->device; in gv100_disp_intr_ctrl_disp() local
940 u32 stat = nvkm_rd32(device, 0x611c30); in gv100_disp_intr_ctrl_disp()
945 nvkm_wr32(device, 0x611860, disp->super.pending); in gv100_disp_intr_ctrl_disp()
956 u32 error = nvkm_mask(device, 0x611848, 0x00000000, 0x00000000); in gv100_disp_intr_ctrl_disp()
962 unsigned long wndws = nvkm_rd32(device, 0x611858); in gv100_disp_intr_ctrl_disp()
963 unsigned long other = nvkm_rd32(device, 0x61185c); in gv100_disp_intr_ctrl_disp()
966 nvkm_wr32(device, 0x611858, wndws); in gv100_disp_intr_ctrl_disp()
967 nvkm_wr32(device, 0x61185c, other); in gv100_disp_intr_ctrl_disp()
987 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_other() local
988 u32 stat = nvkm_rd32(device, 0x611854); in gv100_disp_intr_exc_other()
993 nvkm_wr32(device, 0x611854, 0x00000001); in gv100_disp_intr_exc_other()
1000 nvkm_wr32(device, 0x611854, 0x00010000 << head); in gv100_disp_intr_exc_other()
1008 nvkm_wr32(device, 0x611854, stat); in gv100_disp_intr_exc_other()
1016 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_winim() local
1017 unsigned long stat = nvkm_rd32(device, 0x611850); in gv100_disp_intr_exc_winim()
1021 nvkm_wr32(device, 0x611850, BIT(wndw)); in gv100_disp_intr_exc_winim()
1028 nvkm_wr32(device, 0x611850, stat); in gv100_disp_intr_exc_winim()
1036 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_win() local
1037 unsigned long stat = nvkm_rd32(device, 0x61184c); in gv100_disp_intr_exc_win()
1041 nvkm_wr32(device, 0x61184c, BIT(wndw)); in gv100_disp_intr_exc_win()
1048 nvkm_wr32(device, 0x61184c, stat); in gv100_disp_intr_exc_win()
1056 struct nvkm_device *device = subdev->device; in gv100_disp_intr_head_timing() local
1057 u32 stat = nvkm_rd32(device, 0x611800 + (head * 0x04)); in gv100_disp_intr_head_timing()
1061 nvkm_wr32(device, 0x611800 + (head * 0x04), stat & 0x00000003); in gv100_disp_intr_head_timing()
1067 nvkm_wr32(device, 0x611800 + (head * 0x04), 0x00000004); in gv100_disp_intr_head_timing()
1073 nvkm_wr32(device, 0x611800 + (head * 0x04), stat); in gv100_disp_intr_head_timing()
1081 struct nvkm_device *device = subdev->device; in gv100_disp_intr() local
1082 u32 stat = nvkm_rd32(device, 0x611ec0); in gv100_disp_intr()
1120 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_fini() local
1121 nvkm_wr32(device, 0x611db0, 0x00000000); in gv100_disp_fini()
1127 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_init() local
1133 if (nvkm_rd32(device, 0x6254e8) & 0x00000002) { in gv100_disp_init()
1134 nvkm_mask(device, 0x6254e8, 0x00000001, 0x00000000); in gv100_disp_init()
1135 if (nvkm_msec(device, 2000, in gv100_disp_init()
1136 if (!(nvkm_rd32(device, 0x6254e8) & 0x00000002)) in gv100_disp_init()
1143 tmp = nvkm_rd32(device, 0x610068); in gv100_disp_init()
1144 nvkm_wr32(device, 0x640008, tmp); in gv100_disp_init()
1148 tmp = nvkm_rd32(device, 0x61c000 + (i * 0x800)); in gv100_disp_init()
1149 nvkm_mask(device, 0x640000, 0x00000100 << i, 0x00000100 << i); in gv100_disp_init()
1150 nvkm_wr32(device, 0x640144 + (i * 0x08), tmp); in gv100_disp_init()
1158 tmp = nvkm_rd32(device, 0x616300 + (id * 0x800)); in gv100_disp_init()
1159 nvkm_wr32(device, 0x640048 + (id * 0x020), tmp); in gv100_disp_init()
1163 tmp = nvkm_rd32(device, 0x616100 + (id * 0x800) + j); in gv100_disp_init()
1164 nvkm_wr32(device, 0x640030 + (id * 0x20) + j, tmp); in gv100_disp_init()
1170 nvkm_mask(device, 0x640004, 1 << i, 1 << i); in gv100_disp_init()
1172 tmp = nvkm_rd32(device, 0x630050 + (i * 0x800) + j); in gv100_disp_init()
1173 nvkm_wr32(device, 0x6401e4 + (i * 0x20) + j, tmp); in gv100_disp_init()
1179 tmp = nvkm_rd32(device, 0x62e000 + (i * 0x04)); in gv100_disp_init()
1180 nvkm_wr32(device, 0x640010 + (i * 0x04), tmp); in gv100_disp_init()
1183 nvkm_mask(device, 0x610078, 0x00000001, 0x00000001); in gv100_disp_init()
1193 nvkm_wr32(device, 0x610010, 0x00000008 | tmp); in gv100_disp_init()
1194 nvkm_wr32(device, 0x610014, disp->inst->addr >> 16); in gv100_disp_init()
1197 nvkm_wr32(device, 0x611cf0, 0x00000187); /* MSK. */ in gv100_disp_init()
1198 nvkm_wr32(device, 0x611db0, 0x00000187); /* EN. */ in gv100_disp_init()
1201 nvkm_wr32(device, 0x611cec, disp->head.mask << 16 | in gv100_disp_init()
1203 nvkm_wr32(device, 0x611dac, 0x00000000); /* EN. */ in gv100_disp_init()
1206 nvkm_wr32(device, 0x611ce8, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
1207 nvkm_wr32(device, 0x611da8, 0x00000000); /* EN. */ in gv100_disp_init()
1210 nvkm_wr32(device, 0x611ce4, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
1211 nvkm_wr32(device, 0x611da4, 0x00000000); /* EN. */ in gv100_disp_init()
1216 nvkm_wr32(device, 0x611cc0 + hoff, 0x00000004); /* MSK. */ in gv100_disp_init()
1217 nvkm_wr32(device, 0x611d80 + hoff, 0x00000000); /* EN. */ in gv100_disp_init()
1221 nvkm_wr32(device, 0x611cf4, 0x00000000); /* MSK. */ in gv100_disp_init()
1222 nvkm_wr32(device, 0x611db4, 0x00000000); /* EN. */ in gv100_disp_init()
1250 gv100_disp_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, in gv100_disp_new() argument
1253 return nvkm_disp_new_(&gv100_disp, device, type, inst, pdisp); in gv100_disp_new()