[PATCH] drm/vmwgfx: Fix incorrect write to read-only register

Jakob Bornecrantz jakob at vmware.com
Thu Jul 3 02:30:40 PDT 2014



----- Original Message -----
> Commit "drm/vmwgfx: correct fb_fix_screeninfo.line_length", while fixing a
> vmwgfx fbdev bug, also writes the pitch to a supposedly read-only register:
> SVGA_REG_BYTES_PER_LINE, while it should be (and also in fact is) written to
> SVGA_REG_PITCHLOCK.
> 
> There has been some reports of incorrect rendering with the mentioned commit
> and Ubuntu 12.04. While hard to reproduce, hopefully this patch will correct
> that issue.
> 
> Cc: stable at vger.kernel.org
> Cc: Christopher Friedt <chrisfriedt at gmail.com>
> Tested-by: Christopher Friedt <chrisfriedt at gmail.com>
> Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 1 -
>  1 file changed, 1 deletion(-)

Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>

> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> index a89ad93..b031b48 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> @@ -179,7 +179,6 @@ static int vmw_fb_set_par(struct fb_info *info)
>  		vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, info->var.yoffset);
>  		vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, info->var.xres);
>  		vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, info->var.yres);
> -		vmw_write(vmw_priv, SVGA_REG_BYTES_PER_LINE, info->fix.line_length);
>  		vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID);
>  	}
>  
> --
> 1.8.3.2
> 


More information about the dri-devel mailing list