Lines Matching refs:nv_crtc
565 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_display_flip_next() local
591 OUT_RING (chan, NvEvoSema0 + nv_crtc->index); in nv50_display_flip_next()
600 u64 addr = nv84_fence_crtc(chan, nv_crtc->index) + sync->addr; in nv50_display_flip_next()
619 u64 addr = nv84_fence_crtc(chan, nv_crtc->index) + sync->addr; in nv50_display_flip_next()
693 nv50_crtc_set_dither(struct nouveau_crtc *nv_crtc, bool update) in nv50_crtc_set_dither() argument
695 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_dither()
700 nv_connector = nouveau_crtc_connector_get(nv_crtc); in nv50_crtc_set_dither()
703 if (nv_crtc->base.primary->fb->depth > connector->display_info.bpc * 3) in nv50_crtc_set_dither()
719 evo_mthd(push, 0x08a0 + (nv_crtc->index * 0x0400), 1); in nv50_crtc_set_dither()
723 evo_mthd(push, 0x0490 + (nv_crtc->index * 0x0300), 1); in nv50_crtc_set_dither()
726 evo_mthd(push, 0x04a0 + (nv_crtc->index * 0x0300), 1); in nv50_crtc_set_dither()
741 nv50_crtc_set_scale(struct nouveau_crtc *nv_crtc, bool update) in nv50_crtc_set_scale() argument
743 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_scale()
744 struct drm_display_mode *omode, *umode = &nv_crtc->base.mode; in nv50_crtc_set_scale()
745 struct drm_crtc *crtc = &nv_crtc->base; in nv50_crtc_set_scale()
753 nv_connector = nouveau_crtc_connector_get(nv_crtc); in nv50_crtc_set_scale()
818 evo_mthd(push, 0x08d8 + (nv_crtc->index * 0x400), 2); in nv50_crtc_set_scale()
821 evo_mthd(push, 0x08a4 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_scale()
823 evo_mthd(push, 0x08c8 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_scale()
826 evo_mthd(push, 0x04c0 + (nv_crtc->index * 0x300), 3); in nv50_crtc_set_scale()
830 evo_mthd(push, 0x0494 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_scale()
832 evo_mthd(push, 0x04b8 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_scale()
849 nv50_crtc_set_raster_vblank_dmi(struct nouveau_crtc *nv_crtc, u32 usec) in nv50_crtc_set_raster_vblank_dmi() argument
851 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_raster_vblank_dmi()
858 evo_mthd(push, 0x0828 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_raster_vblank_dmi()
865 nv50_crtc_set_color_vibrance(struct nouveau_crtc *nv_crtc, bool update) in nv50_crtc_set_color_vibrance() argument
867 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_color_vibrance()
871 adj = (nv_crtc->color_vibrance > 0) ? 50 : 0; in nv50_crtc_set_color_vibrance()
872 vib = ((nv_crtc->color_vibrance * 2047 + adj) / 100) & 0xfff; in nv50_crtc_set_color_vibrance()
873 hue = ((nv_crtc->vibrant_hue * 2047) / 100) & 0xfff; in nv50_crtc_set_color_vibrance()
878 evo_mthd(push, 0x08a8 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_color_vibrance()
881 evo_mthd(push, 0x0498 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_color_vibrance()
896 nv50_crtc_set_image(struct nouveau_crtc *nv_crtc, struct drm_framebuffer *fb, in nv50_crtc_set_image() argument
900 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_set_image()
906 evo_mthd(push, 0x0860 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_image()
908 evo_mthd(push, 0x0868 + (nv_crtc->index * 0x400), 3); in nv50_crtc_set_image()
912 evo_mthd(push, 0x08c0 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_image()
915 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_set_image()
919 evo_mthd(push, 0x0460 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_image()
921 evo_mthd(push, 0x0468 + (nv_crtc->index * 0x300), 4); in nv50_crtc_set_image()
926 evo_mthd(push, 0x04b0 + (nv_crtc->index * 0x300), 1); in nv50_crtc_set_image()
937 nv_crtc->fb.handle = nvfb->r_handle; in nv50_crtc_set_image()
942 nv50_crtc_cursor_show(struct nouveau_crtc *nv_crtc) in nv50_crtc_cursor_show() argument
944 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_cursor_show()
948 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 2); in nv50_crtc_cursor_show()
950 evo_data(push, nv_crtc->cursor.nvbo->bo.offset >> 8); in nv50_crtc_cursor_show()
953 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 2); in nv50_crtc_cursor_show()
955 evo_data(push, nv_crtc->cursor.nvbo->bo.offset >> 8); in nv50_crtc_cursor_show()
956 evo_mthd(push, 0x089c + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_show()
959 evo_mthd(push, 0x0480 + (nv_crtc->index * 0x300), 2); in nv50_crtc_cursor_show()
961 evo_data(push, nv_crtc->cursor.nvbo->bo.offset >> 8); in nv50_crtc_cursor_show()
962 evo_mthd(push, 0x048c + (nv_crtc->index * 0x300), 1); in nv50_crtc_cursor_show()
967 nv_crtc->cursor.visible = true; in nv50_crtc_cursor_show()
971 nv50_crtc_cursor_hide(struct nouveau_crtc *nv_crtc) in nv50_crtc_cursor_hide() argument
973 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_cursor_hide()
977 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_hide()
981 evo_mthd(push, 0x0880 + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_hide()
983 evo_mthd(push, 0x089c + (nv_crtc->index * 0x400), 1); in nv50_crtc_cursor_hide()
986 evo_mthd(push, 0x0480 + (nv_crtc->index * 0x300), 1); in nv50_crtc_cursor_hide()
988 evo_mthd(push, 0x048c + (nv_crtc->index * 0x300), 1); in nv50_crtc_cursor_hide()
993 nv_crtc->cursor.visible = false; in nv50_crtc_cursor_hide()
997 nv50_crtc_cursor_show_hide(struct nouveau_crtc *nv_crtc, bool show, bool update) in nv50_crtc_cursor_show_hide() argument
999 struct nv50_mast *mast = nv50_mast(nv_crtc->base.dev); in nv50_crtc_cursor_show_hide()
1001 if (show && nv_crtc->cursor.nvbo && nv_crtc->base.enabled) in nv50_crtc_cursor_show_hide()
1002 nv50_crtc_cursor_show(nv_crtc); in nv50_crtc_cursor_show_hide()
1004 nv50_crtc_cursor_hide(nv_crtc); in nv50_crtc_cursor_show_hide()
1024 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_prepare() local
1033 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1035 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1039 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1041 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1043 evo_mthd(push, 0x085c + (nv_crtc->index * 0x400), 1); in nv50_crtc_prepare()
1046 evo_mthd(push, 0x0474 + (nv_crtc->index * 0x300), 1); in nv50_crtc_prepare()
1048 evo_mthd(push, 0x0440 + (nv_crtc->index * 0x300), 1); in nv50_crtc_prepare()
1050 evo_mthd(push, 0x045c + (nv_crtc->index * 0x300), 1); in nv50_crtc_prepare()
1057 nv50_crtc_cursor_show_hide(nv_crtc, false, false); in nv50_crtc_prepare()
1063 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_commit() local
1070 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_commit()
1071 evo_data(push, nv_crtc->fb.handle); in nv50_crtc_commit()
1072 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 2); in nv50_crtc_commit()
1074 evo_data(push, nv_crtc->lut.nvbo->bo.offset >> 8); in nv50_crtc_commit()
1077 evo_mthd(push, 0x0874 + (nv_crtc->index * 0x400), 1); in nv50_crtc_commit()
1078 evo_data(push, nv_crtc->fb.handle); in nv50_crtc_commit()
1079 evo_mthd(push, 0x0840 + (nv_crtc->index * 0x400), 2); in nv50_crtc_commit()
1081 evo_data(push, nv_crtc->lut.nvbo->bo.offset >> 8); in nv50_crtc_commit()
1082 evo_mthd(push, 0x085c + (nv_crtc->index * 0x400), 1); in nv50_crtc_commit()
1085 evo_mthd(push, 0x0474 + (nv_crtc->index * 0x300), 1); in nv50_crtc_commit()
1086 evo_data(push, nv_crtc->fb.handle); in nv50_crtc_commit()
1087 evo_mthd(push, 0x0440 + (nv_crtc->index * 0x300), 4); in nv50_crtc_commit()
1089 evo_data(push, nv_crtc->lut.nvbo->bo.offset >> 8); in nv50_crtc_commit()
1092 evo_mthd(push, 0x045c + (nv_crtc->index * 0x300), 1); in nv50_crtc_commit()
1094 evo_mthd(push, 0x0430 + (nv_crtc->index * 0x300), 1); in nv50_crtc_commit()
1101 nv50_crtc_cursor_show_hide(nv_crtc, true, true); in nv50_crtc_commit()
1136 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_mode_set() local
1177 evo_mthd(push, 0x0804 + (nv_crtc->index * 0x400), 2); in nv50_crtc_mode_set()
1180 evo_mthd(push, 0x0810 + (nv_crtc->index * 0x400), 6); in nv50_crtc_mode_set()
1187 evo_mthd(push, 0x082c + (nv_crtc->index * 0x400), 1); in nv50_crtc_mode_set()
1189 evo_mthd(push, 0x0900 + (nv_crtc->index * 0x400), 2); in nv50_crtc_mode_set()
1193 evo_mthd(push, 0x0410 + (nv_crtc->index * 0x300), 6); in nv50_crtc_mode_set()
1200 evo_mthd(push, 0x042c + (nv_crtc->index * 0x300), 1); in nv50_crtc_mode_set()
1202 evo_mthd(push, 0x0450 + (nv_crtc->index * 0x300), 3); in nv50_crtc_mode_set()
1206 evo_mthd(push, 0x04d0 + (nv_crtc->index * 0x300), 2); in nv50_crtc_mode_set()
1214 nv_connector = nouveau_crtc_connector_get(nv_crtc); in nv50_crtc_mode_set()
1215 nv50_crtc_set_dither(nv_crtc, false); in nv50_crtc_mode_set()
1216 nv50_crtc_set_scale(nv_crtc, false); in nv50_crtc_mode_set()
1220 nv50_crtc_set_raster_vblank_dmi(nv_crtc, vblankus); in nv50_crtc_mode_set()
1222 nv50_crtc_set_color_vibrance(nv_crtc, false); in nv50_crtc_mode_set()
1223 nv50_crtc_set_image(nv_crtc, crtc->primary->fb, x, y, false); in nv50_crtc_mode_set()
1232 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_mode_set_base() local
1245 nv50_crtc_set_image(nv_crtc, crtc->primary->fb, x, y, true); in nv50_crtc_mode_set_base()
1255 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_mode_set_base_atomic() local
1257 nv50_crtc_set_image(nv_crtc, fb, x, y, true); in nv50_crtc_mode_set_base_atomic()
1265 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_lut_load() local
1266 void __iomem *lut = nvbo_kmap_obj_iovirtual(nv_crtc->lut.nvbo); in nv50_crtc_lut_load()
1270 u16 r = nv_crtc->lut.r[i] >> 2; in nv50_crtc_lut_load()
1271 u16 g = nv_crtc->lut.g[i] >> 2; in nv50_crtc_lut_load()
1272 u16 b = nv_crtc->lut.b[i] >> 2; in nv50_crtc_lut_load()
1300 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_cursor_set() local
1319 if (nv_crtc->cursor.nvbo) in nv50_crtc_cursor_set()
1320 nouveau_bo_unpin(nv_crtc->cursor.nvbo); in nv50_crtc_cursor_set()
1321 nouveau_bo_ref(nvbo, &nv_crtc->cursor.nvbo); in nv50_crtc_cursor_set()
1325 nv50_crtc_cursor_show_hide(nv_crtc, true, true); in nv50_crtc_cursor_set()
1332 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_cursor_move() local
1338 nv_crtc->cursor_saved_x = x; in nv50_crtc_cursor_move()
1339 nv_crtc->cursor_saved_y = y; in nv50_crtc_cursor_move()
1347 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_gamma_set() local
1352 nv_crtc->lut.r[i] = r[i]; in nv50_crtc_gamma_set()
1353 nv_crtc->lut.g[i] = g[i]; in nv50_crtc_gamma_set()
1354 nv_crtc->lut.b[i] = b[i]; in nv50_crtc_gamma_set()
1361 nv50_crtc_cursor_restore(struct nouveau_crtc *nv_crtc, int x, int y) in nv50_crtc_cursor_restore() argument
1363 nv50_crtc_cursor_move(&nv_crtc->base, x, y); in nv50_crtc_cursor_restore()
1365 nv50_crtc_cursor_show_hide(nv_crtc, true, true); in nv50_crtc_cursor_restore()
1371 struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); in nv50_crtc_destroy() local
1377 nvif_object_fini(&fbdma->base[nv_crtc->index]); in nv50_crtc_destroy()
1393 if (nv_crtc->cursor.nvbo) in nv50_crtc_destroy()
1394 nouveau_bo_unpin(nv_crtc->cursor.nvbo); in nv50_crtc_destroy()
1395 nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); in nv50_crtc_destroy()
1397 nouveau_bo_unmap(nv_crtc->lut.nvbo); in nv50_crtc_destroy()
1398 if (nv_crtc->lut.nvbo) in nv50_crtc_destroy()
1399 nouveau_bo_unpin(nv_crtc->lut.nvbo); in nv50_crtc_destroy()
1400 nouveau_bo_ref(NULL, &nv_crtc->lut.nvbo); in nv50_crtc_destroy()
1578 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_dac_mode_set() local
1594 evo_data(push, 1 << nv_crtc->index); in nv50_dac_mode_set()
1597 u32 magic = 0x31ec6000 | (nv_crtc->index << 25); in nv50_dac_mode_set()
1608 evo_mthd(push, 0x0404 + (nv_crtc->index * 0x300), 2); in nv50_dac_mode_set()
1612 evo_data(push, 1 << nv_crtc->index); in nv50_dac_mode_set()
1734 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_audio_mode_set() local
1748 (0x0100 << nv_crtc->index), in nv50_audio_mode_set()
1763 nv50_audio_disconnect(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc) in nv50_audio_disconnect() argument
1775 (0x0100 << nv_crtc->index), in nv50_audio_disconnect()
1788 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_hdmi_mode_set() local
1798 (0x0100 << nv_crtc->index), in nv50_hdmi_mode_set()
1819 nv50_hdmi_disconnect(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc) in nv50_hdmi_disconnect() argument
1831 (0x0100 << nv_crtc->index), in nv50_hdmi_disconnect()
1914 struct nouveau_crtc *nv_crtc = nouveau_crtc(nv_encoder->crtc); in nv50_sor_disconnect() local
1919 if (nv_crtc) { in nv50_sor_disconnect()
1920 nv50_crtc_prepare(&nv_crtc->base); in nv50_sor_disconnect()
1921 nv50_sor_ctrl(nv_encoder, 1 << nv_crtc->index, 0); in nv50_sor_disconnect()
1922 nv50_audio_disconnect(encoder, nv_crtc); in nv50_sor_disconnect()
1923 nv50_hdmi_disconnect(&nv_encoder->base.base, nv_crtc); in nv50_sor_disconnect()
1937 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_sor_mode_set() local
1954 u8 owner = 1 << nv_crtc->index; in nv50_sor_mode_set()
2034 u32 magic = 0x31ec6000 | (nv_crtc->index << 25); in nv50_sor_mode_set()
2045 evo_mthd(push, 0x0404 + (nv_crtc->index * 0x300), 2); in nv50_sor_mode_set()
2181 struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); in nv50_pior_mode_set() local
2183 u8 owner = 1 << nv_crtc->index; in nv50_pior_mode_set()