forked from Minki/linux
drm/vmwgfx: Some modesetting cleanups and fixes.
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
d451f62a7c
commit
259600d593
@ -113,16 +113,6 @@ static int vmw_ldu_commit_list(struct vmw_private *dev_priv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < lds->last_num_active; i++) {
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, i);
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_IS_PRIMARY, !i);
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_X, 0);
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_Y, 0);
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_WIDTH, 0);
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_HEIGHT, 0);
|
||||
vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID);
|
||||
}
|
||||
|
||||
if (!list_empty(&lds->active)) {
|
||||
entry = list_entry(lds->active.next, typeof(*entry), active);
|
||||
fb = entry->base.crtc.fb;
|
||||
@ -131,6 +121,10 @@ static int vmw_ldu_commit_list(struct vmw_private *dev_priv)
|
||||
fb->bits_per_pixel, fb->depth);
|
||||
}
|
||||
|
||||
/* Make sure we always show something. */
|
||||
vmw_write(dev_priv, SVGA_REG_NUM_GUEST_DISPLAYS,
|
||||
lds->num_active ? lds->num_active : 1);
|
||||
|
||||
i = 0;
|
||||
list_for_each_entry(entry, &lds->active, active) {
|
||||
crtc = &entry->base.crtc;
|
||||
@ -146,9 +140,6 @@ static int vmw_ldu_commit_list(struct vmw_private *dev_priv)
|
||||
i++;
|
||||
}
|
||||
|
||||
/* Make sure we always show something. */
|
||||
vmw_write(dev_priv, SVGA_REG_NUM_GUEST_DISPLAYS, i ? i : 1);
|
||||
|
||||
BUG_ON(i != lds->num_active);
|
||||
|
||||
lds->last_num_active = lds->num_active;
|
||||
|
Loading…
Reference in New Issue
Block a user