Lines Matching refs:nv_crtc

546 	struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);  in nv50_display_flip_next()  local
572 OUT_RING (chan, NvEvoSema0 + nv_crtc->index); in nv50_display_flip_next()
581 u64 addr = nv84_fence_crtc(chan, nv_crtc->index) + sync->addr; in nv50_display_flip_next()
600 u64 addr = nv84_fence_crtc(chan, nv_crtc->index) + sync->addr; in nv50_display_flip_next()
674 nv50_crtc_set_dither(struct nouveau_crtc *nv_crtc, bool update) in nv50_crtc_set_dither() argument
676 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_dither()
681 nv_connector = nouveau_crtc_connector_get(nv_crtc); in nv50_crtc_set_dither()
684 if (nv_crtc->base.primary->fb->depth > connector->display_info.bpc * 3) in nv50_crtc_set_dither()
700 evo_mthd(push, 0x08a0 + (nv_crtc->index * 0x0400), 1); in nv50_crtc_set_dither()
704 evo_mthd(push, 0x0490 + (nv_crtc->index * 0x0300), 1); in nv50_crtc_set_dither()
707 evo_mthd(push, 0x04a0 + (nv_crtc->index * 0x0300), 1); in nv50_crtc_set_dither()
722 nv50_crtc_set_scale(struct nouveau_crtc *nv_crtc, bool update) in nv50_crtc_set_scale() argument
724 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_scale()
725 struct drm_display_mode *omode, *umode = &nv_crtc->base.mode; in nv50_crtc_set_scale()
726 struct drm_crtc *crtc = &nv_crtc->base; in nv50_crtc_set_scale()
734 nv_connector = nouveau_crtc_connector_get(nv_crtc); in nv50_crtc_set_scale()
799 evo_mthd(push, 0x08d8 + (nv_crtc->index * 0x400), 2); in nv50_crtc_set_scale()
802 evo_mthd(push, 0x08a4 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_scale()
804 evo_mthd(push, 0x08c8 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_scale()
807 evo_mthd(push, 0x04c0 + (nv_crtc->index * 0x300), 3); in nv50_crtc_set_scale()
811 evo_mthd(push, 0x0494 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_scale()
813 evo_mthd(push, 0x04b8 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_scale()
830 nv50_crtc_set_raster_vblank_dmi(struct nouveau_crtc *nv_crtc, u32 usec) in nv50_crtc_set_raster_vblank_dmi() argument
832 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_raster_vblank_dmi()
839 evo_mthd(push, 0x0828 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_raster_vblank_dmi()
846 nv50_crtc_set_color_vibrance(struct nouveau_crtc *nv_crtc, bool update) in nv50_crtc_set_color_vibrance() argument
848 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_color_vibrance()
852 adj = (nv_crtc->color_vibrance > 0) ? 50 : 0; in nv50_crtc_set_color_vibrance()
853 vib = ((nv_crtc->color_vibrance * 2047 + adj) / 100) & 0xfff; in nv50_crtc_set_color_vibrance()
854 hue = ((nv_crtc->vibrant_hue * 2047) / 100) & 0xfff; in nv50_crtc_set_color_vibrance()
859 evo_mthd(push, 0x08a8 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_color_vibrance()
862 evo_mthd(push, 0x0498 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_color_vibrance()
877 nv50_crtc_set_image(struct nouveau_crtc *nv_crtc, struct drm_framebuffer *fb, in nv50_crtc_set_image() argument
881 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_image()
887 evo_mthd(push, 0x0860 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_image()
889 evo_mthd(push, 0x0868 + (nv_crtc->index * 0x400), 3); in nv50_crtc_set_image()
893 evo_mthd(push, 0x08c0 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_image()
896 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_image()
900 evo_mthd(push, 0x0460 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_image()
902 evo_mthd(push, 0x0468 + (nv_crtc->index * 0x300), 4); in nv50_crtc_set_image()
907 evo_mthd(push, 0x04b0 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_image()
918 nv_crtc->fb.handle = nvfb->r_handle; in nv50_crtc_set_image()
923 nv50_crtc_cursor_show(struct nouveau_crtc *nv_crtc) in nv50_crtc_cursor_show() argument
925 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_cursor_show()
929 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 2); in nv50_crtc_cursor_show()
931 evo_data(push, nv_crtc->cursor.nvbo->bo.offset >> 8); in nv50_crtc_cursor_show()
934 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 2); in nv50_crtc_cursor_show()
936 evo_data(push, nv_crtc->cursor.nvbo->bo.offset >> 8); in nv50_crtc_cursor_show()
937 evo_mthd(push, 0x089c + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_show()
940 evo_mthd(push, 0x0480 + (nv_crtc->index * 0x300), 2); in nv50_crtc_cursor_show()
942 evo_data(push, nv_crtc->cursor.nvbo->bo.offset >> 8); in nv50_crtc_cursor_show()
943 evo_mthd(push, 0x048c + (nv_crtc->index * 0x300), 1); in nv50_crtc_cursor_show()
948 nv_crtc->cursor.visible = true; in nv50_crtc_cursor_show()
952 nv50_crtc_cursor_hide(struct nouveau_crtc *nv_crtc) in nv50_crtc_cursor_hide() argument
954 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_cursor_hide()
958 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_hide()
962 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_hide()
964 evo_mthd(push, 0x089c + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_hide()
967 evo_mthd(push, 0x0480 + (nv_crtc->index * 0x300), 1); in nv50_crtc_cursor_hide()
969 evo_mthd(push, 0x048c + (nv_crtc->index * 0x300), 1); in nv50_crtc_cursor_hide()
974 nv_crtc->cursor.visible = false; in nv50_crtc_cursor_hide()
978 nv50_crtc_cursor_show_hide(struct nouveau_crtc *nv_crtc, bool show, bool update) in nv50_crtc_cursor_show_hide() argument
980 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_cursor_show_hide()
982 if (show && nv_crtc->cursor.nvbo && nv_crtc->base.enabled) in nv50_crtc_cursor_show_hide()
983 nv50_crtc_cursor_show(nv_crtc); in nv50_crtc_cursor_show_hide()
985 nv50_crtc_cursor_hide(nv_crtc); in nv50_crtc_cursor_show_hide()
1005 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_prepare() local
1014 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1016 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1020 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1022 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1024 evo_mthd(push, 0x085c + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1027 evo_mthd(push, 0x0474 + (nv_crtc->index * 0x300), 1); in nv50_crtc_prepare()
1029 evo_mthd(push, 0x0440 + (nv_crtc->index * 0x300), 1); in nv50_crtc_prepare()
1031 evo_mthd(push, 0x045c + (nv_crtc->index * 0x300), 1); in nv50_crtc_prepare()
1038 nv50_crtc_cursor_show_hide(nv_crtc, false, false); in nv50_crtc_prepare()
1044 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_commit() local
1051 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_commit()
1052 evo_data(push, nv_crtc->fb.handle); in nv50_crtc_commit()
1053 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 2); in nv50_crtc_commit()
1055 evo_data(push, nv_crtc->lut.nvbo->bo.offset >> 8); in nv50_crtc_commit()
1058 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_commit()
1059 evo_data(push, nv_crtc->fb.handle); in nv50_crtc_commit()
1060 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 2); in nv50_crtc_commit()
1062 evo_data(push, nv_crtc->lut.nvbo->bo.offset >> 8); in nv50_crtc_commit()
1063 evo_mthd(push, 0x085c + (nv_crtc->index * 0x400), 1); in nv50_crtc_commit()
1066 evo_mthd(push, 0x0474 + (nv_crtc->index * 0x300), 1); in nv50_crtc_commit()
1067 evo_data(push, nv_crtc->fb.handle); in nv50_crtc_commit()
1068 evo_mthd(push, 0x0440 + (nv_crtc->index * 0x300), 4); in nv50_crtc_commit()
1070 evo_data(push, nv_crtc->lut.nvbo->bo.offset >> 8); in nv50_crtc_commit()
1073 evo_mthd(push, 0x045c + (nv_crtc->index * 0x300), 1); in nv50_crtc_commit()
1075 evo_mthd(push, 0x0430 + (nv_crtc->index * 0x300), 1); in nv50_crtc_commit()
1082 nv50_crtc_cursor_show_hide(nv_crtc, true, true); in nv50_crtc_commit()
1117 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_mode_set() local
1158 evo_mthd(push, 0x0804 + (nv_crtc->index * 0x400), 2); in nv50_crtc_mode_set()
1161 evo_mthd(push, 0x0810 + (nv_crtc->index * 0x400), 6); in nv50_crtc_mode_set()
1168 evo_mthd(push, 0x082c + (nv_crtc->index * 0x400), 1); in nv50_crtc_mode_set()
1170 evo_mthd(push, 0x0900 + (nv_crtc->index * 0x400), 2); in nv50_crtc_mode_set()
1174 evo_mthd(push, 0x0410 + (nv_crtc->index * 0x300), 6); in nv50_crtc_mode_set()
1181 evo_mthd(push, 0x042c + (nv_crtc->index * 0x300), 1); in nv50_crtc_mode_set()
1183 evo_mthd(push, 0x0450 + (nv_crtc->index * 0x300), 3); in nv50_crtc_mode_set()
1187 evo_mthd(push, 0x04d0 + (nv_crtc->index * 0x300), 2); in nv50_crtc_mode_set()
1195 nv_connector = nouveau_crtc_connector_get(nv_crtc); in nv50_crtc_mode_set()
1196 nv50_crtc_set_dither(nv_crtc, false); in nv50_crtc_mode_set()
1197 nv50_crtc_set_scale(nv_crtc, false); in nv50_crtc_mode_set()
1201 nv50_crtc_set_raster_vblank_dmi(nv_crtc, vblankus); in nv50_crtc_mode_set()
1203 nv50_crtc_set_color_vibrance(nv_crtc, false); in nv50_crtc_mode_set()
1204 nv50_crtc_set_image(nv_crtc, crtc->primary->fb, x, y, false); in nv50_crtc_mode_set()
1213 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_mode_set_base() local
1226 nv50_crtc_set_image(nv_crtc, crtc->primary->fb, x, y, true); in nv50_crtc_mode_set_base()
1236 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_mode_set_base_atomic() local
1238 nv50_crtc_set_image(nv_crtc, fb, x, y, true); in nv50_crtc_mode_set_base_atomic()
1246 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_lut_load() local
1247 void __iomem *lut = nvbo_kmap_obj_iovirtual(nv_crtc->lut.nvbo); in nv50_crtc_lut_load()
1251 u16 r = nv_crtc->lut.r[i] >> 2; in nv50_crtc_lut_load()
1252 u16 g = nv_crtc->lut.g[i] >> 2; in nv50_crtc_lut_load()
1253 u16 b = nv_crtc->lut.b[i] >> 2; in nv50_crtc_lut_load()
1281 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_cursor_set() local
1300 if (nv_crtc->cursor.nvbo) in nv50_crtc_cursor_set()
1301 nouveau_bo_unpin(nv_crtc->cursor.nvbo); in nv50_crtc_cursor_set()
1302 nouveau_bo_ref(nvbo, &nv_crtc->cursor.nvbo); in nv50_crtc_cursor_set()
1306 nv50_crtc_cursor_show_hide(nv_crtc, true, true); in nv50_crtc_cursor_set()
1313 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_cursor_move() local
1319 nv_crtc->cursor_saved_x = x; in nv50_crtc_cursor_move()
1320 nv_crtc->cursor_saved_y = y; in nv50_crtc_cursor_move()
1328 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_gamma_set() local
1333 nv_crtc->lut.r[i] = r[i]; in nv50_crtc_gamma_set()
1334 nv_crtc->lut.g[i] = g[i]; in nv50_crtc_gamma_set()
1335 nv_crtc->lut.b[i] = b[i]; in nv50_crtc_gamma_set()
1342 nv50_crtc_cursor_restore(struct nouveau_crtc *nv_crtc, int x, int y) in nv50_crtc_cursor_restore() argument
1344 nv50_crtc_cursor_move(&nv_crtc->base, x, y); in nv50_crtc_cursor_restore()
1346 nv50_crtc_cursor_show_hide(nv_crtc, true, true); in nv50_crtc_cursor_restore()
1352 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_destroy() local
1358 nvif_object_fini(&fbdma->base[nv_crtc->index]); in nv50_crtc_destroy()
1374 if (nv_crtc->cursor.nvbo) in nv50_crtc_destroy()
1375 nouveau_bo_unpin(nv_crtc->cursor.nvbo); in nv50_crtc_destroy()
1376 nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); in nv50_crtc_destroy()
1378 nouveau_bo_unmap(nv_crtc->lut.nvbo); in nv50_crtc_destroy()
1379 if (nv_crtc->lut.nvbo) in nv50_crtc_destroy()
1380 nouveau_bo_unpin(nv_crtc->lut.nvbo); in nv50_crtc_destroy()
1381 nouveau_bo_ref(NULL, &nv_crtc->lut.nvbo); in nv50_crtc_destroy()
1557 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_dac_mode_set() local
1573 evo_data(push, 1 << nv_crtc->index); in nv50_dac_mode_set()
1576 u32 magic = 0x31ec6000 | (nv_crtc->index << 25); in nv50_dac_mode_set()
1587 evo_mthd(push, 0x0404 + (nv_crtc->index * 0x300), 2); in nv50_dac_mode_set()
1591 evo_data(push, 1 << nv_crtc->index); in nv50_dac_mode_set()
1709 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_audio_mode_set() local
1723 (0x0100 << nv_crtc->index), in nv50_audio_mode_set()
1738 nv50_audio_disconnect(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc) in nv50_audio_disconnect() argument
1750 (0x0100 << nv_crtc->index), in nv50_audio_disconnect()
1763 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_hdmi_mode_set() local
1773 (0x0100 << nv_crtc->index), in nv50_hdmi_mode_set()
1794 nv50_hdmi_disconnect(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc) in nv50_hdmi_disconnect() argument
1806 (0x0100 << nv_crtc->index), in nv50_hdmi_disconnect()
1889 struct nouveau_crtc *nv_crtc = nouveau_crtc(nv_encoder->crtc); in nv50_sor_disconnect() local
1894 if (nv_crtc) { in nv50_sor_disconnect()
1895 nv50_crtc_prepare(&nv_crtc->base); in nv50_sor_disconnect()
1896 nv50_sor_ctrl(nv_encoder, 1 << nv_crtc->index, 0); in nv50_sor_disconnect()
1897 nv50_audio_disconnect(encoder, nv_crtc); in nv50_sor_disconnect()
1898 nv50_hdmi_disconnect(&nv_encoder->base.base, nv_crtc); in nv50_sor_disconnect()
1912 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_sor_mode_set() local
1929 u8 owner = 1 << nv_crtc->index; in nv50_sor_mode_set()
2009 u32 magic = 0x31ec6000 | (nv_crtc->index << 25); in nv50_sor_mode_set()
2020 evo_mthd(push, 0x0404 + (nv_crtc->index * 0x300), 2); in nv50_sor_mode_set()
2143 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_pior_mode_set() local
2145 u8 owner = 1 << nv_crtc->index; in nv50_pior_mode_set()