Patch "drm/gma500/psb: Actually use VBT mode when it is found" has been added to the 4.4-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
drm/gma500/psb: Actually use VBT mode when it is found
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-gma500-psb-actually-use-vbt-mode-when-it-is-found.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
82bc9a42cf854fdf63155759c0aa790bd1f361b0Mon Sep 17 00:00:00 2001
From: Patrik Jakobsson <[email protected]>
Date: Tue, 18 Apr 2017 13:43:32 +0200
Subject: drm/gma500/psb: Actually use VBT mode when it is found
From: Patrik Jakobsson <[email protected]>
commit 82bc9a42cf854fdf63155759c0aa790bd1f361b0 upstream.
With LVDS we were incorrectly picking the pre-programmed mode instead of the prefered mode provided by VBT. Make sure we pick the VBT mode if one is provided. It is likely that the mode read-out code is still wrong but this patch fixes the immediate problem on most machines.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78562
--- drivers/gpu/drm/gma500/psb_intel_lvds.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
drivers/gpu/drm/gma500/psb_intel_lvds.c +11 -7
@@ -783,20 +783,23 @@ void psb_intel_lvds_init(struct drm_deviif (scan->type &DRM_MODE_TYPE_PREFERRED ) { mode_dev->panel_fixed_mode =drm_mode_duplicate (dev, scan); +DRM_DEBUG_KMS ("Using mode from DDC\n" ); goto out;/* FIXME: check for quirks */ } }/* Failed to get EDID, what about VBT? do we need this? */ -if (mode_dev->vbt_mode) +if (dev_priv->lfp_lvds_vbt_mode) { mode_dev->panel_fixed_mode = -drm_mode_duplicate (dev, mode_dev->vbt_mode); +drm_mode_duplicate (dev, dev_priv->lfp_lvds_vbt_mode); -if (!mode_dev->panel_fixed_mode) -if (dev_priv->lfp_lvds_vbt_mode) - mode_dev->panel_fixed_mode = -drm_mode_duplicate (dev, - dev_priv->lfp_lvds_vbt_mode); +if (mode_dev->panel_fixed_mode) { + mode_dev->panel_fixed_mode->type |= +DRM_MODE_TYPE_PREFERRED ; +DRM_DEBUG_KMS ("Using mode from VBT\n" ); + goto out; + } + }/* * If we didn't get EDID, try checking if the panel is already turned
@@ -813,6 +816,7 @@ void psb_intel_lvds_init(struct drm_deviif (mode_dev->panel_fixed_mode) { mode_dev->panel_fixed_mode->type |=DRM_MODE_TYPE_PREFERRED ; +DRM_DEBUG_KMS ("Using pre-programmed mode\n" ); goto out;/* FIXME: check for quirks */ } }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/drm-gma500-psb-actually-use-vbt-mode-when-it-is-found.patch