]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 May 2014 06:59:00 +0000 (15:59 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 May 2014 06:59:00 +0000 (15:59 +0900)
added patches:
drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch
drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch

queue-3.4/drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch [new file with mode: 0644]
queue-3.4/drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch b/queue-3.4/drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch
new file mode 100644 (file)
index 0000000..b420b25
--- /dev/null
@@ -0,0 +1,35 @@
+From 16086279353cbfecbb3ead474072dced17b97ddc Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon, 31 Mar 2014 11:19:46 -0400
+Subject: drm/radeon: call drm_edid_to_eld when we update the edid
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 16086279353cbfecbb3ead474072dced17b97ddc upstream.
+
+This needs to be done to update some of the fields in
+the connector structure used by the audio code.
+
+Noticed by several users on irc.
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/radeon_display.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpu/drm/radeon/radeon_display.c
++++ b/drivers/gpu/drm/radeon/radeon_display.c
+@@ -750,6 +750,7 @@ int radeon_ddc_get_modes(struct radeon_c
+       if (radeon_connector->edid) {
+               drm_mode_connector_update_edid_property(&radeon_connector->base, radeon_connector->edid);
+               ret = drm_add_edid_modes(&radeon_connector->base, radeon_connector->edid);
++              drm_edid_to_eld(&radeon_connector->base, radeon_connector->edid);
+               return ret;
+       }
+       drm_mode_connector_update_edid_property(&radeon_connector->base, NULL);
diff --git a/queue-3.4/drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch b/queue-3.4/drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch
new file mode 100644 (file)
index 0000000..ad0f39c
--- /dev/null
@@ -0,0 +1,50 @@
+From aa6de142c901cd2d90ef08db30ae87da214bedcc Mon Sep 17 00:00:00 2001
+From: Christopher Friedt <chrisfriedt@gmail.com>
+Date: Sat, 1 Feb 2014 10:01:15 -0500
+Subject: drm/vmwgfx: correct fb_fix_screeninfo.line_length
+
+From: Christopher Friedt <chrisfriedt@gmail.com>
+
+commit aa6de142c901cd2d90ef08db30ae87da214bedcc upstream.
+
+Previously, the vmwgfx_fb driver would allow users to call FBIOSET_VINFO, but it would not adjust
+the FINFO properly, resulting in distorted screen rendering. The patch corrects that behaviour.
+
+See https://bugs.gentoo.org/show_bug.cgi?id=494794 for examples.
+
+Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
+Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_fb.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
+@@ -147,7 +147,7 @@ static int vmw_fb_check_var(struct fb_va
+       }
+       if (!vmw_kms_validate_mode_vram(vmw_priv,
+-                                      info->fix.line_length,
++                                      var->xres * var->bits_per_pixel/8,
+                                       var->yoffset + var->yres)) {
+               DRM_ERROR("Requested geom can not fit in framebuffer\n");
+               return -EINVAL;
+@@ -162,6 +162,8 @@ static int vmw_fb_set_par(struct fb_info
+       struct vmw_private *vmw_priv = par->vmw_priv;
+       int ret;
++      info->fix.line_length = info->var.xres * info->var.bits_per_pixel/8;
++
+       ret = vmw_kms_write_svga(vmw_priv, info->var.xres, info->var.yres,
+                                info->fix.line_length,
+                                par->bpp, par->depth);
+@@ -177,6 +179,7 @@ static int vmw_fb_set_par(struct fb_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);
+       }
index 16489a1526220bb1ac6e84c2dc7a55df89a6dc90..728eae2244b510668918db20f29398bc7c166db5 100644 (file)
@@ -9,3 +9,5 @@ usb-io_ti-fix-firmware-download-on-big-endian-machines.patch
 usb-option-add-olivetti-olicard-500.patch
 usb-option-add-alcatel-l800ma.patch
 usb-option-add-and-update-a-number-of-cmotech-devices.patch
+drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch
+drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch