Lines Matching refs:dev_priv

74 static int vmw_ldu_commit_list(struct vmw_private *dev_priv)  in vmw_ldu_commit_list()  argument
76 struct vmw_legacy_display *lds = dev_priv->ldu_priv; in vmw_ldu_commit_list()
86 if (!(dev_priv->capabilities & SVGA_CAP_DISPLAY_TOPOLOGY)) { in vmw_ldu_commit_list()
99 return vmw_kms_write_svga(dev_priv, w, h, fb->pitches[0], in vmw_ldu_commit_list()
107 vmw_kms_write_svga(dev_priv, fb->width, fb->height, fb->pitches[0], in vmw_ldu_commit_list()
112 vmw_write(dev_priv, SVGA_REG_NUM_GUEST_DISPLAYS, in vmw_ldu_commit_list()
119 vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, i); in vmw_ldu_commit_list()
120 vmw_write(dev_priv, SVGA_REG_DISPLAY_IS_PRIMARY, !i); in vmw_ldu_commit_list()
121 vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_X, crtc->x); in vmw_ldu_commit_list()
122 vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_Y, crtc->y); in vmw_ldu_commit_list()
123 vmw_write(dev_priv, SVGA_REG_DISPLAY_WIDTH, crtc->mode.hdisplay); in vmw_ldu_commit_list()
124 vmw_write(dev_priv, SVGA_REG_DISPLAY_HEIGHT, crtc->mode.vdisplay); in vmw_ldu_commit_list()
125 vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); in vmw_ldu_commit_list()
142 ret = vmw_cursor_update_dmabuf(dev_priv, in vmw_ldu_commit_list()
212 struct vmw_private *dev_priv; in vmw_ldu_crtc_set_config() local
231 dev_priv = vmw_priv(crtc->dev); in vmw_ldu_crtc_set_config()
246 if (dev_priv->ldu_priv->fb && vfb && in vmw_ldu_crtc_set_config()
247 !(dev_priv->ldu_priv->num_active == 1 && in vmw_ldu_crtc_set_config()
249 dev_priv->ldu_priv->fb != vfb) { in vmw_ldu_crtc_set_config()
266 vmw_ldu_del_active(dev_priv, ldu); in vmw_ldu_crtc_set_config()
268 return vmw_ldu_commit_list(dev_priv); in vmw_ldu_crtc_set_config()
282 vmw_svga_enable(dev_priv); in vmw_ldu_crtc_set_config()
292 vmw_ldu_add_active(dev_priv, ldu, vfb); in vmw_ldu_crtc_set_config()
294 return vmw_ldu_commit_list(dev_priv); in vmw_ldu_crtc_set_config()
340 static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit) in vmw_ldu_init() argument
343 struct drm_device *dev = dev_priv->dev; in vmw_ldu_init()
360 ldu->base.pref_width = dev_priv->initial_width; in vmw_ldu_init()
361 ldu->base.pref_height = dev_priv->initial_height; in vmw_ldu_init()
388 int vmw_kms_ldu_init_display(struct vmw_private *dev_priv) in vmw_kms_ldu_init_display() argument
390 struct drm_device *dev = dev_priv->dev; in vmw_kms_ldu_init_display()
393 if (dev_priv->ldu_priv) { in vmw_kms_ldu_init_display()
398 dev_priv->ldu_priv = kmalloc(sizeof(*dev_priv->ldu_priv), GFP_KERNEL); in vmw_kms_ldu_init_display()
399 if (!dev_priv->ldu_priv) in vmw_kms_ldu_init_display()
402 INIT_LIST_HEAD(&dev_priv->ldu_priv->active); in vmw_kms_ldu_init_display()
403 dev_priv->ldu_priv->num_active = 0; in vmw_kms_ldu_init_display()
404 dev_priv->ldu_priv->last_num_active = 0; in vmw_kms_ldu_init_display()
405 dev_priv->ldu_priv->fb = NULL; in vmw_kms_ldu_init_display()
408 if (dev_priv->capabilities & SVGA_CAP_MULTIMON) in vmw_kms_ldu_init_display()
419 if (dev_priv->capabilities & SVGA_CAP_MULTIMON) in vmw_kms_ldu_init_display()
421 vmw_ldu_init(dev_priv, i); in vmw_kms_ldu_init_display()
423 vmw_ldu_init(dev_priv, 0); in vmw_kms_ldu_init_display()
425 dev_priv->active_display_unit = vmw_du_legacy; in vmw_kms_ldu_init_display()
434 kfree(dev_priv->ldu_priv); in vmw_kms_ldu_init_display()
435 dev_priv->ldu_priv = NULL; in vmw_kms_ldu_init_display()
439 int vmw_kms_ldu_close_display(struct vmw_private *dev_priv) in vmw_kms_ldu_close_display() argument
441 struct drm_device *dev = dev_priv->dev; in vmw_kms_ldu_close_display()
443 if (!dev_priv->ldu_priv) in vmw_kms_ldu_close_display()
448 BUG_ON(!list_empty(&dev_priv->ldu_priv->active)); in vmw_kms_ldu_close_display()
450 kfree(dev_priv->ldu_priv); in vmw_kms_ldu_close_display()
456 int vmw_kms_ldu_do_dmabuf_dirty(struct vmw_private *dev_priv, in vmw_kms_ldu_do_dmabuf_dirty() argument
471 cmd = vmw_fifo_reserve(dev_priv, fifo_size); in vmw_kms_ldu_do_dmabuf_dirty()
486 vmw_fifo_commit(dev_priv, fifo_size); in vmw_kms_ldu_do_dmabuf_dirty()