Patch "drm/i915/vbt: split out defaults that are set when there is no VBT" has been added to the 4.11-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915/vbt: split out defaults that are set when there is no VBT
to the 4.11-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-i915-vbt-split-out-defaults-that-are-set-when-there-is-no-vbt.patch
and it can be found in the queue-4.11 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
bb1d132935c2f87cd261eb559759fe49d5e5dc43Mon Sep 17 00:00:00 2001
From: Jani Nikula <[email protected]>
Date: Fri, 10 Mar 2017 15:27:58 +0200
Subject: drm/i915/vbt: split out defaults that are set when there is no VBT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Jani Nikula <[email protected]>
commit bb1d132935c2f87cd261eb559759fe49d5e5dc43 upstream.
The main thing are the DDI ports. If there's a VBT that says there are no outputs, we should trust that, and not have semi-random defaults. Unfortunately, the defaults have resulted in some Chromebooks without VBT to rely on this behaviour, so we split out the defaults for the missing VBT case.
--- drivers/gpu/drm/i915/intel_bios.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_bios.c +16 -1
@@ -1341,6 +1341,7 @@ parse_device_mapping(struct drm_i915_prireturn ; } +/* Common defaults which may be overridden by VBT. */ static void init_vbt_defaults (struct drm_i915_private *dev_priv) {
@@ -1377,6 +1378,18 @@ init_vbt_defaults(struct drm_i915_privat &dev_priv->vbt.ddi_port_info[port]; info->hdmi_level_shift =HDMI_LEVEL_SHIFT_UNKNOWN ; + } +} + +/* Defaults to initialize only if there is no VBT. */ +static void +init_vbt_missing_defaults (struct drm_i915_private *dev_priv) +{ +enum port port; + +for (port =PORT_A ; port <I915_MAX_PORTS ; port++) { +struct ddi_vbt_port_info *info = + &dev_priv->vbt.ddi_port_info[port]; info->supports_dvi = (port !=PORT_A && port !=PORT_E ); info->supports_hdmi = info->supports_dvi;
@@ -1516,8 +1529,10 @@ void intel_bios_init(struct drm_i915_priparse_ddi_ports (dev_priv, bdb); out: -if (!vbt) +if (!vbt) {DRM_INFO ("Failed to find VBIOS tables (VBT)\n" ); +init_vbt_missing_defaults (dev_priv); + }if (bios)pci_unmap_rom (pdev, bios);
Patches currently in stable-queue which might be from [email protected] are
queue-4.11/drm-i915-vbt-don-t-propagate-errors-from-intel_bios_init.patch queue-4.11/drm-i915-vbt-split-out-defaults-that-are-set-when-there-is-no-vbt.patch queue-4.11/drm-i915-fix-runtime-pm-for-lpe-audio.patch