From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakob Bornecrantz Subject: Re: [PATCH] drm/vmwgfx: Fix incorrect write to read-only register Date: Thu, 3 Jul 2014 02:30:40 -0700 (PDT) Message-ID: <1677685115.32616191.1404379840546.JavaMail.root@vmware.com> References: <1404371673-6042-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from smtp-outbound-2.vmware.com (smtp-outbound-2.vmware.com [208.91.2.13]) by gabe.freedesktop.org (Postfix) with ESMTP id 3DF4E89FD7 for ; Thu, 3 Jul 2014 02:30:41 -0700 (PDT) In-Reply-To: <1404371673-6042-1-git-send-email-thellstrom@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thomas Hellstrom Cc: Christopher Friedt , stable@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org ----- 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@vger.kernel.org > Cc: Christopher Friedt > Tested-by: Christopher Friedt > Signed-off-by: Thomas Hellstrom > --- > drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 1 - > 1 file changed, 1 deletion(-) Reviewed-by: Jakob Bornecrantz > > 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 >