<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>