<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - LVDS blank screen on GM45"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94825#c22">Comment # 22</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - LVDS blank screen on GM45"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94825">bug 94825</a>
              from <span class="vcard"><a class="email" href="mailto:rob@solution-space.com" title="Rob Kramer <rob@solution-space.com>"> <span class="fn">Rob Kramer</span></a>
</span></b>
        <pre>(In reply to Ville Syrjala from <a href="show_bug.cgi?id=94825#c21">comment #21</a>)
<span class="quote">> I found something interesting in the opregion spec. Based on that I posted a
> few patches that could help here:
> <a href="https://lists.freedesktop.org/archives/intel-gfx/2016-April/091988.html">https://lists.freedesktop.org/archives/intel-gfx/2016-April/091988.html</a>

> Please test and report back.</span >

OK, reverted your previous _DDC patch, applied these three. The result is a
blank screen. I added some debug statements in your opregion.c patch:

    ret = swsci(dev, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
    if (ret)
    {
        DRM_DEBUG_KMS ("Rob: return %d\n", ret);
        return ret;
    }

    DRM_DEBUG_KMS ("Rob: panel details 0x%x\n", panel_details);

And in the log:

  [drm:intel_opregion_get_panel_type] Rob: panel details 0x21000

Which would mean panel 0x10 according to the spec in your mail, which would be
good if you'd started counting at 1 :)

Next, I tried setting the mode to <a href="mailto:1366x768@73.8M">1366x768@73.8M</a> in the bios, and the output
changes to:

  [drm:intel_opregion_get_panel_type] Rob: panel details 0x20d00

That is off by one too, but is still good news since it follows the BIOS
setting.. Trying the obvious fix works:

   return ((panel_details >> 8) & 0xff) - 1;

<span class="quote">> "Bits [15:8] - Panel Type
>  Bits contain the panel type user setting from CMOS
>  00h = Not Valid, use default Panel Type & Timings from VBT
>  01h - 0Fh = Panel Number"</span >

That would mean only 15 possible valid modes, right? But my BIOS has 16 in its
list already, and the correct mode happens to be the last one.

[No log attached, because nothing further of interest]</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 assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>