<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [915] Linux v3.15 regression with bisection: Chromebook loses backlight control"
href="https://bugs.freedesktop.org/show_bug.cgi?id=79813">79813</a>
</td>
</tr>
<tr>
<th>CC</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Assignee</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>[915] Linux v3.15 regression with bisection: Chromebook loses backlight control
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Severity</th>
<td>critical
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Reporter</th>
<td>lkml14@scotdoyle.com
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Component</th>
<td>DRM/Intel
</td>
</tr>
<tr>
<th>Product</th>
<td>DRI
</td>
</tr></table>
<p>
<div>
<pre>/sys/class/backlight/intel_backlight was available on a Toshiba CB35 Chromebook
during the 3.14 series kernels, but disappeared with the release of 3.15.
Bisecting identified the cause as:
commit b93124202fc10450a923e24cb052cacb40b2aa46 Merge branch 'drm-fixes' of
git://people.freedesktop.org/~airlied/linux
With the following patch (just for testing), the backlight is available again
and works as expected.
diff --git a/drivers/gpu/drm/i915/intel_bios.c
b/drivers/gpu/drm/i915/intel_bios.c
index aff4a11..6743817 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -302,7 +302,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
struct bdb_header *bdb)
entry = &backlight_data->data[panel_type];
- dev_priv->vbt.backlight.present = entry->type ==
BDB_BACKLIGHT_TYPE_PWM;
+ dev_priv->vbt.backlight.present = entry->type ==
BDB_BACKLIGHT_TYPE_NONE;
if (!dev_priv->vbt.backlight.present) {
DRM_DEBUG_KMS("PWM backlight not present in VBT (type %u)\n",
entry->type);
Linux 3.15 dmesg
----------------
Jun 08 23:28:00 pc kernel: [drm:i915_dump_device_info] i915 device info: gen=7,
pciid=0x0a06
flags=is_mobile,need_gfx_hws,is_haswell,has_fbc,has_hotplug,has_llc,has_ddi,has_fpga_dbg,
...
Jun 08 23:28:00 pc kernel: [drm:parse_general_features] BDB_GENERAL_FEATURES
int_tv_support 0 int_crt_support 0 lvds_use_ssc 0 lvds_ssc_freq 120000
display_clock_mode 0 fdi_rx_polarity_inverted 0
Jun 08 23:28:00 pc kernel: [drm:parse_general_definitions] crt_ddc_bus_pin: 0
Jun 08 23:28:00 pc kernel: [drm:parse_lfp_panel_data] Found panel mode in BIOS
VBT tables:
Jun 08 23:28:00 pc kernel: [drm:drm_mode_debug_printmodeline] Modeline
0:"1366x768" 0 70000 1366 1402 1438 1476 768 772 780 790 0x8 0xa
Jun 08 23:28:00 pc kernel: [drm:parse_lfp_panel_data] VBT initial LVDS value
300300
Jun 08 23:28:00 pc kernel: [drm:parse_lfp_backlight] PWM backlight not present
in VBT (type 0)
Jun 08 23:28:00 pc kernel: [drm:parse_sdvo_panel_data] Found SDVO panel mode in
BIOS VBT tables:
Jun 08 23:28:00 pc kernel: [drm:drm_mode_debug_printmodeline] Modeline
0:"1600x1200" 0 162000 1600 1664 1856 2160 1200 1201 1204 1250 0x8 0xa
Jun 08 23:28:00 pc kernel: [drm:parse_sdvo_device_mapping] No SDVO device info
is found in VBT
Jun 08 23:28:00 pc kernel: [drm:parse_mipi] No MIPI BDB found
Jun 08 23:28:00 pc kernel: [drm:parse_ddi_port] Port A VBT info: DP:1 HDMI:0
DVI:0 EDP:1 CRT:0
Jun 08 23:28:00 pc kernel: [drm:parse_ddi_port] VBT HDMI level shift for port
A: 0
Jun 08 23:28:00 pc kernel: [drm:parse_ddi_port] Port B VBT info: DP:0 HDMI:1
DVI:1 EDP:0 CRT:0
Jun 08 23:28:00 pc kernel: [drm:parse_ddi_port] VBT HDMI level shift for port
B: 6
...
Jun 08 23:28:00 pc kernel: [drm:_edp_panel_vdd_on] Turning eDP VDD on
Jun 08 23:28:00 pc kernel: [drm:_edp_panel_vdd_on] PP_STATUS: 0x80000008
PP_CONTROL: 0xabcd000f
Jun 08 23:28:00 pc kernel: [drm:intel_dp_get_dpcd] DPCD: 11 0a 81 01 00 00 01
80 02 00 00 00 00 01 00
Jun 08 23:28:00 pc kernel: [drm:intel_dp_init_panel_power_sequencer_registers]
panel power sequencer register settings: PP_ON 0x7d00001, PP_OFF 0x1f40001,
PP_DIV 0x4af06
Jun 08 23:28:00 pc kernel: [drm:drm_edid_to_eld] ELD: no CEA Extension found
Jun 08 23:28:00 pc kernel: [drm:intel_panel_setup_backlight] native backlight
control not available per VBT
Linux 3.15 dmesg with patch
---------------------------
Jun 09 00:23:59 pc kernel: [drm:i915_dump_device_info] i915 device info: gen=7,
pciid=0x0a06
flags=is_mobile,need_gfx_hws,is_haswell,has_fbc,has_hotplug,has_llc,has_ddi,has_fpga_dbg,
...
Jun 09 00:23:59 pc kernel: [drm:parse_general_features] BDB_GENERAL_FEATURES
int_tv_support 0 int_crt_support 0 lvds_use_ssc 0 lvds_ssc_freq 120000
display_clock_mode 0 fdi_rx_polarity_inverted 0
Jun 09 00:23:59 pc kernel: [drm:parse_general_definitions] crt_ddc_bus_pin: 0
Jun 09 00:23:59 pc kernel: [drm:parse_lfp_panel_data] Found panel mode in BIOS
VBT tables:
Jun 09 00:23:59 pc kernel: [drm:drm_mode_debug_printmodeline] Modeline
0:"1366x768" 0 70000 1366 1402 1438 1476 768 772 780 790 0x8 0xa
Jun 09 00:23:59 pc kernel: [drm:parse_lfp_panel_data] VBT initial LVDS value
300300
Jun 09 00:23:59 pc kernel: [drm:parse_lfp_backlight] VBT backlight PWM
modulation frequency 200 Hz, active high, min brightness 0, level 255
Jun 09 00:23:59 pc kernel: [drm:parse_sdvo_panel_data] Found SDVO panel mode in
BIOS VBT tables:
Jun 09 00:23:59 pc kernel: [drm:drm_mode_debug_printmodeline] Modeline
0:"1600x1200" 0 162000 1600 1664 1856 2160 1200 1201 1204 1250 0x8 0xa
Jun 09 00:23:59 pc kernel: [drm:parse_sdvo_device_mapping] No SDVO device info
is found in VBT
Jun 09 00:23:59 pc kernel: [drm:parse_mipi] No MIPI BDB found
Jun 09 00:23:59 pc kernel: [drm:parse_ddi_port] Port A VBT info: DP:1 HDMI:0
DVI:0 EDP:1 CRT:0
Jun 09 00:23:59 pc kernel: [drm:parse_ddi_port] VBT HDMI level shift for port
A: 0
Jun 09 00:23:59 pc kernel: [drm:parse_ddi_port] Port B VBT info: DP:0 HDMI:1
DVI:1 EDP:0 CRT:0
Jun 09 00:23:59 pc kernel: [drm:parse_ddi_port] VBT HDMI level shift for port
B: 6
...
Jun 09 00:23:59 pc kernel: [drm:intel_panel_setup_backlight] backlight
initialized, enabled, brightness 937/937, sysfs interface registered
...
Jun 09 00:23:59 pc kernel: [drm:intel_panel_actually_set_backlight] set
backlight PWM = 0
...
Jun 09 00:24:00 pc kernel: [drm:intel_panel_actually_set_backlight] set
backlight PWM = 937
...
Jun 09 00:24:00 pc kernel: [drm:intel_backlight_device_update_status] updating
intel_backlight, brightness=900/937
Jun 09 00:24:00 pc kernel: [drm:intel_panel_actually_set_backlight] set
backlight PWM = 900</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>