<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - [GLK DSI] Black screen after grub - Ubuntu 18.04 - kernel latest tip 21.11.2018"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=108826#c119">Comment # 119</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - [GLK DSI] Black screen after grub - Ubuntu 18.04 - kernel latest tip 21.11.2018"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=108826">bug 108826</a>
              from <span class="vcard"><a class="email" href="mailto:stanislav.lisovskiy@intel.com" title="Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>"> <span class="fn">Stanislav Lisovskiy</span></a>
</span></b>
        <pre>(In reply to Mark Wynn Garcia from <a href="show_bug.cgi?id=108826#c118">comment #118</a>)
<span class="quote">> Hello Stanislav. It's very good to know you're considering looking into the
> Windows driver sources. This will definitely speed things up. :D

> Could you please share with us a patch of your hack? I want to try it on my
> device (D330), and looking into the VBT it seems it does touch GPIO index 3
> on MIPI_SEQ_POWER_ON, though there's no sequence with GPIO index 6.</span >

GPIO index 6 is the reset:

BDB block 53 - MIPI sequence block:
        Sequence block version v3
        Sequence 1 - MIPI_SEQ_ASSERT_RESET
                GPIO index 6, number 135, set 1 (0x01)
                Delay: 12000 us
                GPIO index 6, number 135, set 0 (0x00)
                Delay: 5000 us
                GPIO index 6, number 135, set 1 (0x01)
        Sequence 3 - MIPI_SEQ_DISPLAY_ON
                Send DCS: Port A, VC 0, LP, Type 05, Length 1, Data 11
                Send DCS: Port A, VC 0, LP, Type 15, Length 2, Data b0 5a
                Send DCS: Port A, VC 0, LP, Type 15, Length 2, Data b1 02
                Send DCS: Port A, VC 0, LP, Type 15, Length 2, Data 39 49
                Send DCS: Port A, VC 0, LP, Type 05, Length 1, Data 29
        Sequence 4 - MIPI_SEQ_DISPLAY_OFF
                Send DCS: Port A, VC 0, LP, Type 05, Length 1, Data 28
                Delay: 120000 us
                Send DCS: Port A, VC 0, LP, Type 05, Length 1, Data 10
                Delay: 34000 us
        Sequence 5 - MIPI_SEQ_DEASSERT_RESET
                Delay: 10000 us
                GPIO index 6, number 135, set 0 (0x00)
        Sequence 6 - MIPI_SEQ_BACKLIGHT_ON
                GPIO index 4, number 145, set 1 (0x01)
                Delay: 2000 us
        Sequence 7 - MIPI_SEQ_BACKLIGHT_OFF
                GPIO index 4, number 145, set 0 (0x00)
                Delay: 1000 us
        Sequence 10 - MIPI_SEQ_POWER_ON
                GPIO index 3, number 144, set 1 (0x01)
                Delay: 5000 us
        Sequence 11 - MIPI_SEQ_POWER_OFF
                GPIO index 3, number 144, set 0 (0x00)

The hack is as simple as doing something like this:

git diff intel_dsi_vbt.c 
diff --git a/drivers/gpu/drm/i915/intel_dsi_vbt.c
b/drivers/gpu/drm/i915/intel_dsi_vbt.c
index fbed9064ac7e..f9a2e351184f 100644
--- a/drivers/gpu/drm/i915/intel_dsi_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_vbt.c
@@ -324,6 +324,9 @@ static void bxt_exec_gpio(struct drm_i915_private
*dev_priv,
        struct gpio_desc *gpio_desc = bxt_gpio_table[gpio_index];

        if (!gpio_desc) {
+               if (gpio_index == 3 || gpio_index == 6) {
+                       return;
+               }
                gpio_desc = devm_gpiod_get_index(dev_priv->drm.dev,
                                                 NULL, gpio_index,
                                                 value ? GPIOD_OUT_LOW :

Which is of course quite symptomatic treatment and suspend fails to recover
still..</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>