From 93473edb003d145172a7f22fc52552db3c916ced Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 21 May 2014 15:59:00 +0900 Subject: [PATCH] 3.4-stable patches added patches: drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch --- ..._edid_to_eld-when-we-update-the-edid.patch | 35 +++++++++++++ ...orrect-fb_fix_screeninfo.line_length.patch | 50 +++++++++++++++++++ queue-3.4/series | 2 + 3 files changed, 87 insertions(+) create mode 100644 queue-3.4/drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch create mode 100644 queue-3.4/drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch 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 index 00000000000..b420b25a7cc --- /dev/null +++ b/queue-3.4/drm-radeon-call-drm_edid_to_eld-when-we-update-the-edid.patch @@ -0,0 +1,35 @@ +From 16086279353cbfecbb3ead474072dced17b97ddc Mon Sep 17 00:00:00 2001 +From: Alex Deucher +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 + +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 +Signed-off-by: Christian König +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..ad0f39cd43b --- /dev/null +++ b/queue-3.4/drm-vmwgfx-correct-fb_fix_screeninfo.line_length.patch @@ -0,0 +1,50 @@ +From aa6de142c901cd2d90ef08db30ae87da214bedcc Mon Sep 17 00:00:00 2001 +From: Christopher Friedt +Date: Sat, 1 Feb 2014 10:01:15 -0500 +Subject: drm/vmwgfx: correct fb_fix_screeninfo.line_length + +From: Christopher Friedt + +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 +Reviewed-by: Thomas Hellstrom +Signed-off-by: Greg Kroah-Hartman + +--- + 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); + } + diff --git a/queue-3.4/series b/queue-3.4/series index 16489a15262..728eae2244b 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -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 -- 2.47.3