Lines Matching refs:device
34 struct nvkm_device *device = disp->engine.subdev.device; in gv100_disp_wndw_cnt() local
35 *pmask = nvkm_rd32(device, 0x610064); in gv100_disp_wndw_cnt()
36 return (nvkm_rd32(device, 0x610074) & 0x03f00000) >> 20; in gv100_disp_wndw_cnt()
45 struct nvkm_device *device = subdev->device; in gv100_disp_super() local
47 u32 stat = nvkm_rd32(device, 0x6107a8); in gv100_disp_super()
52 mask[head->id] = nvkm_rd32(device, 0x6107ac + (head->id * 4)); in gv100_disp_super()
92 nvkm_wr32(device, 0x6107ac + (head->id * 4), 0x00000000); in gv100_disp_super()
93 nvkm_wr32(device, 0x6107a8, 0x80000000); in gv100_disp_super()
100 struct nvkm_device *device = subdev->device; in gv100_disp_exception() local
101 u32 stat = nvkm_rd32(device, 0x611020 + (chid * 12)); in gv100_disp_exception()
104 u32 data = nvkm_rd32(device, 0x611024 + (chid * 12)); in gv100_disp_exception()
105 u32 code = nvkm_rd32(device, 0x611028 + (chid * 12)); in gv100_disp_exception()
124 nvkm_wr32(device, 0x611020 + (chid * 12), 0x90000000); in gv100_disp_exception()
131 struct nvkm_device *device = subdev->device; in gv100_disp_intr_ctrl_disp() local
132 u32 stat = nvkm_rd32(device, 0x611c30); in gv100_disp_intr_ctrl_disp()
137 nvkm_wr32(device, 0x611860, disp->super); in gv100_disp_intr_ctrl_disp()
148 unsigned long wndws = nvkm_rd32(device, 0x611858); in gv100_disp_intr_ctrl_disp()
149 unsigned long other = nvkm_rd32(device, 0x61185c); in gv100_disp_intr_ctrl_disp()
152 nvkm_wr32(device, 0x611858, wndws); in gv100_disp_intr_ctrl_disp()
153 nvkm_wr32(device, 0x61185c, other); in gv100_disp_intr_ctrl_disp()
173 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_other() local
174 u32 stat = nvkm_rd32(device, 0x611854); in gv100_disp_intr_exc_other()
179 nvkm_wr32(device, 0x611854, 0x00000001); in gv100_disp_intr_exc_other()
186 nvkm_wr32(device, 0x611854, 0x00010000 << head); in gv100_disp_intr_exc_other()
194 nvkm_wr32(device, 0x611854, stat); in gv100_disp_intr_exc_other()
202 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_winim() local
203 unsigned long stat = nvkm_rd32(device, 0x611850); in gv100_disp_intr_exc_winim()
207 nvkm_wr32(device, 0x611850, BIT(wndw)); in gv100_disp_intr_exc_winim()
214 nvkm_wr32(device, 0x611850, stat); in gv100_disp_intr_exc_winim()
222 struct nvkm_device *device = subdev->device; in gv100_disp_intr_exc_win() local
223 unsigned long stat = nvkm_rd32(device, 0x61184c); in gv100_disp_intr_exc_win()
227 nvkm_wr32(device, 0x61184c, BIT(wndw)); in gv100_disp_intr_exc_win()
234 nvkm_wr32(device, 0x61184c, stat); in gv100_disp_intr_exc_win()
242 struct nvkm_device *device = subdev->device; in gv100_disp_intr_head_timing() local
243 u32 stat = nvkm_rd32(device, 0x611800 + (head * 0x04)); in gv100_disp_intr_head_timing()
247 nvkm_wr32(device, 0x611800 + (head * 0x04), stat & 0x00000003); in gv100_disp_intr_head_timing()
253 nvkm_wr32(device, 0x611800 + (head * 0x04), 0x00000004); in gv100_disp_intr_head_timing()
259 nvkm_wr32(device, 0x611800 + (head * 0x04), stat); in gv100_disp_intr_head_timing()
267 struct nvkm_device *device = subdev->device; in gv100_disp_intr() local
268 u32 stat = nvkm_rd32(device, 0x611ec0); in gv100_disp_intr()
306 struct nvkm_device *device = disp->base.engine.subdev.device; in gv100_disp_fini() local
307 nvkm_wr32(device, 0x611db0, 0x00000000); in gv100_disp_fini()
313 struct nvkm_device *device = disp->base.engine.subdev.device; in gv100_disp_init() local
319 if (nvkm_rd32(device, 0x6254e8) & 0x00000002) { in gv100_disp_init()
320 nvkm_mask(device, 0x6254e8, 0x00000001, 0x00000000); in gv100_disp_init()
321 if (nvkm_msec(device, 2000, in gv100_disp_init()
322 if (!(nvkm_rd32(device, 0x6254e8) & 0x00000002)) in gv100_disp_init()
329 tmp = nvkm_rd32(device, 0x610068); in gv100_disp_init()
330 nvkm_wr32(device, 0x640008, tmp); in gv100_disp_init()
334 tmp = nvkm_rd32(device, 0x61c000 + (i * 0x800)); in gv100_disp_init()
335 nvkm_mask(device, 0x640000, 0x00000100 << i, 0x00000100 << i); in gv100_disp_init()
336 nvkm_wr32(device, 0x640144 + (i * 0x08), tmp); in gv100_disp_init()
344 tmp = nvkm_rd32(device, 0x616300 + (id * 0x800)); in gv100_disp_init()
345 nvkm_wr32(device, 0x640048 + (id * 0x020), tmp); in gv100_disp_init()
349 tmp = nvkm_rd32(device, 0x616100 + (id * 0x800) + j); in gv100_disp_init()
350 nvkm_wr32(device, 0x640030 + (id * 0x20) + j, tmp); in gv100_disp_init()
356 nvkm_mask(device, 0x640004, 1 << i, 1 << i); in gv100_disp_init()
358 tmp = nvkm_rd32(device, 0x630050 + (i * 0x800) + j); in gv100_disp_init()
359 nvkm_wr32(device, 0x6401e4 + (i * 0x20) + j, tmp); in gv100_disp_init()
365 tmp = nvkm_rd32(device, 0x62e000 + (i * 0x04)); in gv100_disp_init()
366 nvkm_wr32(device, 0x640010 + (i * 0x04), tmp); in gv100_disp_init()
369 nvkm_mask(device, 0x610078, 0x00000001, 0x00000001); in gv100_disp_init()
379 nvkm_wr32(device, 0x610010, 0x00000008 | tmp); in gv100_disp_init()
380 nvkm_wr32(device, 0x610014, disp->inst->addr >> 16); in gv100_disp_init()
383 nvkm_wr32(device, 0x611cf0, 0x00000187); /* MSK. */ in gv100_disp_init()
384 nvkm_wr32(device, 0x611db0, 0x00000187); /* EN. */ in gv100_disp_init()
387 nvkm_wr32(device, 0x611cec, disp->head.mask << 16 | in gv100_disp_init()
389 nvkm_wr32(device, 0x611dac, 0x00000000); /* EN. */ in gv100_disp_init()
392 nvkm_wr32(device, 0x611ce8, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
393 nvkm_wr32(device, 0x611da8, 0x00000000); /* EN. */ in gv100_disp_init()
396 nvkm_wr32(device, 0x611ce4, disp->wndw.mask); /* MSK. */ in gv100_disp_init()
397 nvkm_wr32(device, 0x611da4, 0x00000000); /* EN. */ in gv100_disp_init()
402 nvkm_wr32(device, 0x611cc0 + hoff, 0x00000004); /* MSK. */ in gv100_disp_init()
403 nvkm_wr32(device, 0x611d80 + hoff, 0x00000000); /* EN. */ in gv100_disp_init()
407 nvkm_wr32(device, 0x611cf4, 0x00000000); /* MSK. */ in gv100_disp_init()
408 nvkm_wr32(device, 0x611db4, 0x00000000); /* EN. */ in gv100_disp_init()
427 gv100_disp_new(struct nvkm_device *device, int index, struct nvkm_disp **pdisp) in gv100_disp_new() argument
429 return nv50_disp_new_(&gv100_disp, device, index, pdisp); in gv100_disp_new()