diff options
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c index 181f47222580..b0866f04ec76 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | |||
| @@ -152,20 +152,12 @@ static int vmw_fb_set_par(struct fb_info *info) | |||
| 152 | struct vmw_fb_par *par = info->par; | 152 | struct vmw_fb_par *par = info->par; |
| 153 | struct vmw_private *vmw_priv = par->vmw_priv; | 153 | struct vmw_private *vmw_priv = par->vmw_priv; |
| 154 | 154 | ||
| 155 | vmw_kms_write_svga(vmw_priv, info->var.xres, info->var.yres, | ||
| 156 | info->fix.line_length, | ||
| 157 | par->bpp, par->depth); | ||
| 155 | if (vmw_priv->capabilities & SVGA_CAP_DISPLAY_TOPOLOGY) { | 158 | if (vmw_priv->capabilities & SVGA_CAP_DISPLAY_TOPOLOGY) { |
| 156 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, 0); | ||
| 157 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); | ||
| 158 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, 0); | ||
| 159 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, 0); | ||
| 160 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, 0); | ||
| 161 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, 0); | ||
| 162 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); | ||
| 163 | |||
| 164 | vmw_kms_write_svga(vmw_priv, info->var.xres, info->var.yres, | ||
| 165 | info->fix.line_length, | ||
| 166 | par->bpp, par->depth); | ||
| 167 | |||
| 168 | /* TODO check if pitch and offset changes */ | 159 | /* TODO check if pitch and offset changes */ |
| 160 | vmw_write(vmw_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 1); | ||
| 169 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, 0); | 161 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, 0); |
| 170 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); | 162 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); |
| 171 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, info->var.xoffset); | 163 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, info->var.xoffset); |
| @@ -173,12 +165,6 @@ static int vmw_fb_set_par(struct fb_info *info) | |||
| 173 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, info->var.xres); | 165 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, info->var.xres); |
| 174 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, info->var.yres); | 166 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, info->var.yres); |
| 175 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); | 167 | vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); |
| 176 | vmw_write(vmw_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 1); | ||
| 177 | } else { | ||
| 178 | vmw_kms_write_svga(vmw_priv, info->var.xres, info->var.yres, | ||
| 179 | info->fix.line_length, | ||
| 180 | par->bpp, par->depth); | ||
| 181 | |||
| 182 | } | 168 | } |
| 183 | 169 | ||
| 184 | /* This is really helpful since if this fails the user | 170 | /* This is really helpful since if this fails the user |
