Lines Matching refs:dev_priv

88 int vmw_cursor_update_image(struct vmw_private *dev_priv,  in vmw_cursor_update_image()  argument
102 cmd = vmw_fifo_reserve(dev_priv, cmd_size); in vmw_cursor_update_image()
119 vmw_fifo_commit(dev_priv, cmd_size); in vmw_cursor_update_image()
124 int vmw_cursor_update_dmabuf(struct vmw_private *dev_priv, in vmw_cursor_update_dmabuf() argument
150 ret = vmw_cursor_update_image(dev_priv, virtual, width, height, in vmw_cursor_update_dmabuf()
161 void vmw_cursor_update_position(struct vmw_private *dev_priv, in vmw_cursor_update_position() argument
164 __le32 __iomem *fifo_mem = dev_priv->mmio_virt; in vmw_cursor_update_position()
177 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_cursor_set() local
191 drm_modeset_lock_all(dev_priv->dev); in vmw_du_crtc_cursor_set()
202 ret = vmw_user_lookup_handle(dev_priv, tfile, in vmw_du_crtc_cursor_set()
234 vmw_cursor_update_image(dev_priv, surface->snooper.image, in vmw_du_crtc_cursor_set()
240 ret = vmw_cursor_update_dmabuf(dev_priv, dmabuf, width, height, in vmw_du_crtc_cursor_set()
243 vmw_cursor_update_position(dev_priv, false, 0, 0); in vmw_du_crtc_cursor_set()
248 vmw_cursor_update_position(dev_priv, true, in vmw_du_crtc_cursor_set()
254 drm_modeset_unlock_all(dev_priv->dev); in vmw_du_crtc_cursor_set()
262 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_cursor_move() local
277 drm_modeset_lock_all(dev_priv->dev); in vmw_du_crtc_cursor_move()
279 vmw_cursor_update_position(dev_priv, shown, in vmw_du_crtc_cursor_move()
283 drm_modeset_unlock_all(dev_priv->dev); in vmw_du_crtc_cursor_move()
384 void vmw_kms_cursor_post_execbuf(struct vmw_private *dev_priv) in vmw_kms_cursor_post_execbuf() argument
386 struct drm_device *dev = dev_priv->dev; in vmw_kms_cursor_post_execbuf()
399 vmw_cursor_update_image(dev_priv, in vmw_kms_cursor_post_execbuf()
445 static int do_surface_dirty_sou(struct vmw_private *dev_priv, in do_surface_dirty_sou() argument
469 list_for_each_entry(crtc, &dev_priv->dev->mode_config.crtc_list, in do_surface_dirty_sou()
577 ret = vmw_execbuf_process(file_priv, dev_priv, NULL, cmd, in do_surface_dirty_sou()
598 struct vmw_private *dev_priv = vmw_priv(framebuffer->dev); in vmw_framebuffer_surface_dirty() local
608 if (!dev_priv->sou_priv) in vmw_framebuffer_surface_dirty()
611 drm_modeset_lock_all(dev_priv->dev); in vmw_framebuffer_surface_dirty()
613 ret = ttm_read_lock(&dev_priv->reservation_sem, true); in vmw_framebuffer_surface_dirty()
615 drm_modeset_unlock_all(dev_priv->dev); in vmw_framebuffer_surface_dirty()
630 ret = do_surface_dirty_sou(dev_priv, file_priv, &vfbs->base, in vmw_framebuffer_surface_dirty()
634 ttm_read_unlock(&dev_priv->reservation_sem); in vmw_framebuffer_surface_dirty()
636 drm_modeset_unlock_all(dev_priv->dev); in vmw_framebuffer_surface_dirty()
646 static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv, in vmw_kms_new_framebuffer_surface() argument
654 struct drm_device *dev = dev_priv->dev; in vmw_kms_new_framebuffer_surface()
661 if (!dev_priv->sou_priv) in vmw_kms_new_framebuffer_surface()
775 static int do_dmabuf_dirty_ldu(struct vmw_private *dev_priv, in do_dmabuf_dirty_ldu() argument
790 cmd = vmw_fifo_reserve(dev_priv, fifo_size); in do_dmabuf_dirty_ldu()
805 vmw_fifo_commit(dev_priv, fifo_size); in do_dmabuf_dirty_ldu()
810 struct vmw_private *dev_priv, in do_dmabuf_define_gmrfb() argument
845 ret = vmw_execbuf_process(file_priv, dev_priv, NULL, cmd, in do_dmabuf_define_gmrfb()
854 struct vmw_private *dev_priv, in do_dmabuf_dirty_sou() argument
872 ret = do_dmabuf_define_gmrfb(file_priv, dev_priv, framebuffer); in do_dmabuf_dirty_sou()
884 list_for_each_entry(crtc, &dev_priv->dev->mode_config.crtc_list, head) { in do_dmabuf_dirty_sou()
937 ret = vmw_execbuf_process(file_priv, dev_priv, NULL, blits, in do_dmabuf_dirty_sou()
955 struct vmw_private *dev_priv = vmw_priv(framebuffer->dev); in vmw_framebuffer_dmabuf_dirty() local
961 drm_modeset_lock_all(dev_priv->dev); in vmw_framebuffer_dmabuf_dirty()
963 ret = ttm_read_lock(&dev_priv->reservation_sem, true); in vmw_framebuffer_dmabuf_dirty()
965 drm_modeset_unlock_all(dev_priv->dev); in vmw_framebuffer_dmabuf_dirty()
980 if (dev_priv->ldu_priv) { in vmw_framebuffer_dmabuf_dirty()
981 ret = do_dmabuf_dirty_ldu(dev_priv, &vfbd->base, in vmw_framebuffer_dmabuf_dirty()
985 ret = do_dmabuf_dirty_sou(file_priv, dev_priv, &vfbd->base, in vmw_framebuffer_dmabuf_dirty()
990 ttm_read_unlock(&dev_priv->reservation_sem); in vmw_framebuffer_dmabuf_dirty()
992 drm_modeset_unlock_all(dev_priv->dev); in vmw_framebuffer_dmabuf_dirty()
1007 struct vmw_private *dev_priv = vmw_priv(vfb->base.dev); in vmw_framebuffer_dmabuf_pin() local
1013 BUG_ON(dev_priv->sou_priv); in vmw_framebuffer_dmabuf_pin()
1015 vmw_overlay_pause_all(dev_priv); in vmw_framebuffer_dmabuf_pin()
1017 ret = vmw_dmabuf_to_start_of_vram(dev_priv, vfbd->buffer, true, false); in vmw_framebuffer_dmabuf_pin()
1019 vmw_overlay_resume_all(dev_priv); in vmw_framebuffer_dmabuf_pin()
1028 struct vmw_private *dev_priv = vmw_priv(vfb->base.dev); in vmw_framebuffer_dmabuf_unpin() local
1037 return vmw_dmabuf_unpin(dev_priv, vfbd->buffer, false); in vmw_framebuffer_dmabuf_unpin()
1040 static int vmw_kms_new_framebuffer_dmabuf(struct vmw_private *dev_priv, in vmw_kms_new_framebuffer_dmabuf() argument
1047 struct drm_device *dev = dev_priv->dev; in vmw_kms_new_framebuffer_dmabuf()
1060 if (dev_priv->sou_priv) { in vmw_kms_new_framebuffer_dmabuf()
1103 if (!dev_priv->sou_priv) { in vmw_kms_new_framebuffer_dmabuf()
1135 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_kms_fb_create() local
1157 if (!vmw_kms_validate_mode_vram(dev_priv, in vmw_kms_fb_create()
1184 ret = vmw_user_lookup_handle(dev_priv, tfile, in vmw_kms_fb_create()
1192 ret = vmw_kms_new_framebuffer_dmabuf(dev_priv, bo, &vfb, in vmw_kms_fb_create()
1195 ret = vmw_kms_new_framebuffer_surface(dev_priv, file_priv, in vmw_kms_fb_create()
1221 int vmw_kms_present(struct vmw_private *dev_priv, in vmw_kms_present() argument
1245 list_for_each_entry(crtc, &dev_priv->dev->mode_config.crtc_list, head) { in vmw_kms_present()
1343 ret = vmw_execbuf_process(file_priv, dev_priv, NULL, cmd, in vmw_kms_present()
1357 int vmw_kms_readback(struct vmw_private *dev_priv, in vmw_kms_readback() argument
1382 list_for_each_entry(crtc, &dev_priv->dev->mode_config.crtc_list, head) { in vmw_kms_readback()
1456 ret = vmw_execbuf_process(file_priv, dev_priv, NULL, cmd, fifo_size, in vmw_kms_readback()
1464 int vmw_kms_init(struct vmw_private *dev_priv) in vmw_kms_init() argument
1466 struct drm_device *dev = dev_priv->dev; in vmw_kms_init()
1477 ret = vmw_kms_init_screen_object_display(dev_priv); in vmw_kms_init()
1479 (void)vmw_kms_init_legacy_display_system(dev_priv); in vmw_kms_init()
1484 int vmw_kms_close(struct vmw_private *dev_priv) in vmw_kms_close() argument
1491 drm_mode_config_cleanup(dev_priv->dev); in vmw_kms_close()
1492 if (dev_priv->sou_priv) in vmw_kms_close()
1493 vmw_kms_close_screen_object_display(dev_priv); in vmw_kms_close()
1495 vmw_kms_close_legacy_display_system(dev_priv); in vmw_kms_close()
1640 bool vmw_kms_validate_mode_vram(struct vmw_private *dev_priv, in vmw_kms_validate_mode_vram() argument
1644 return ((u64) pitch * (u64) height) < (u64) dev_priv->prim_bb_mem; in vmw_kms_validate_mode_vram()
1676 static int vmw_du_update_layout(struct vmw_private *dev_priv, unsigned num, in vmw_du_update_layout() argument
1679 struct drm_device *dev = dev_priv->dev; in vmw_du_update_layout()
1723 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_page_flip() local
1735 if (!dev_priv->sou_priv) in vmw_du_page_flip()
1739 if (!vmw_kms_screen_object_flippable(dev_priv, crtc)) in vmw_du_page_flip()
1750 ret = do_dmabuf_dirty_sou(file_priv, dev_priv, vfb, in vmw_du_page_flip()
1753 ret = do_surface_dirty_sou(dev_priv, file_priv, vfb, in vmw_du_page_flip()
1777 vmw_kms_screen_object_update_implicit_fb(dev_priv, crtc); in vmw_du_page_flip()
1799 struct vmw_private *dev_priv = vmw_priv(crtc->dev); in vmw_du_crtc_gamma_set() local
1805 vmw_write(dev_priv, SVGA_PALETTE_BASE + i * 3 + 0, r[i] >> 8); in vmw_du_crtc_gamma_set()
1806 vmw_write(dev_priv, SVGA_PALETTE_BASE + i * 3 + 1, g[i] >> 8); in vmw_du_crtc_gamma_set()
1807 vmw_write(dev_priv, SVGA_PALETTE_BASE + i * 3 + 2, b[i] >> 8); in vmw_du_crtc_gamma_set()
1828 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_du_connector_detect() local
1831 num_displays = vmw_read(dev_priv, SVGA_REG_NUM_DISPLAYS); in vmw_du_connector_detect()
1942 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_du_connector_fill_modes() local
1957 if (dev_priv->sou_priv) in vmw_du_connector_fill_modes()
1969 if (vmw_kms_validate_mode_vram(dev_priv, in vmw_du_connector_fill_modes()
1993 if (!vmw_kms_validate_mode_vram(dev_priv, in vmw_du_connector_fill_modes()
2026 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_kms_update_layout_ioctl() local
2038 vmw_du_update_layout(dev_priv, 1, &def_rect); in vmw_kms_update_layout_ioctl()
2067 vmw_du_update_layout(dev_priv, arg->num_outputs, rects); in vmw_kms_update_layout_ioctl()