<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [regression, bisected] [i915] setting initial watermarks on gen 7 IVYBRIDGE causes blank lines on monitor"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=109477">109477</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[regression, bisected] [i915] setting initial watermarks on gen 7 IVYBRIDGE causes blank lines on monitor
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>DRI git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/Intel
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>andreatclist@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>i915 platform</th>
          <td>IVB
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=143236" name="attach_143236" title="output corruption">attachment 143236</a> <a href="attachment.cgi?id=143236&action=edit" title="output corruption">[details]</a></span>
output corruption

I've seen a regression on linux-stable since this commit (merged on stable
between 4.19.2 and 4.19.3)

# first bad commit: [a46a7350b1e85fe78580f6a4c809a876867a9df8] drm/i915: Fix
ilk+ watermarks when disabling pipes

I've a gen 7:

Platform: IVYBRIDGE
PCI ID: 0x0166
PCI Revision: 0x09
PCI Subsystem: 17aa:2208

graphic card on a Lenovo T431s, which has "has_gmch_display: no", but
apparently it doesn't fully support setting the initial_watermarks().

See screenshot for the output corruption. See git bisect log, and the lspci for
the card.

Excluding the call to initial_watermarks() "fixes" the issue:

diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 3bd44d042a1d..1c1b2ee556ef 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12639,12 +12639,14 @@ static void intel_atomic_commit_tail(struct
drm_atomic_state *state)
                        intel_check_cpu_fifo_underruns(dev_priv);
                        intel_check_pch_fifo_underruns(dev_priv);

+#if 0
                        /* FIXME unify this for all platforms */
                        if (!new_crtc_state->active &&
                            !HAS_GMCH_DISPLAY(dev_priv) &&
                            dev_priv->display.initial_watermarks)
                               
dev_priv->display.initial_watermarks(intel_state,
                                                                    
to_intel_crtc_state(new_crtc_state));
+#endif
                }
        }

For completeness, I've tried the drm-tip:

commit bc2fcdf82a5b94f015126dfa9db03f88feb9ae17
Date:   Mon Jan 28 11:15:42 2019 +0100

but the issue is still present.


### git bisect log
git bisect start
# bad: [73aa1c86c6ec67931abf0c6b96b6853578b07db5] Linux 4.19.3
git bisect bad 73aa1c86c6ec67931abf0c6b96b6853578b07db5
# good: [7950eb316adf792283cac5743dfe5a11e74833dc] Linux 4.19.2
git bisect good 7950eb316adf792283cac5743dfe5a11e74833dc
# good: [67a19f87a02beec6a676ed427fbe3c1f5f00d9f4] mm: thp: relax
__GFP_THISNODE for MADV_HUGEPAGE mappings
git bisect good 67a19f87a02beec6a676ed427fbe3c1f5f00d9f4
# good: [401182ae096bfb16693bcfb8fcab1bc128a5c6bc] kdb: print real address of
pointers instead of hashed addresses
git bisect good 401182ae096bfb16693bcfb8fcab1bc128a5c6bc
# good: [3ff21b59ffd294c04fd83994e71417247f0d2ee7] drm/etnaviv: fix bogus fence
complete check in timeout handler
git bisect good 3ff21b59ffd294c04fd83994e71417247f0d2ee7
# good: [1a25e1a1be71a49ee7f34fb14b5a26191e6cf501] drm/i915: Mark up GTT sizes
as u64
git bisect good 1a25e1a1be71a49ee7f34fb14b5a26191e6cf501
# bad: [828271c43b7850748b3cd18e769367a244875acf] drm/i915/ringbuffer: Delay
after EMIT_INVALIDATE for gen4/gen5
git bisect bad 828271c43b7850748b3cd18e769367a244875acf
# bad: [b4aa9db0b24f8504ee8e4de36bc84eae4f9fad63] drm/i915: Compare user's 64b
GTT offset even on 32b
git bisect bad b4aa9db0b24f8504ee8e4de36bc84eae4f9fad63
# bad: [a46a7350b1e85fe78580f6a4c809a876867a9df8] drm/i915: Fix ilk+ watermarks
when disabling pipes
git bisect bad a46a7350b1e85fe78580f6a4c809a876867a9df8
# good: [6d6e718e454b65448bbb50c876e5040f5d05db6d] drm/i915: Fix error handling
for the NV12 fb dimensions check
git bisect good 6d6e718e454b65448bbb50c876e5040f5d05db6d
# first bad commit: [a46a7350b1e85fe78580f6a4c809a876867a9df8] drm/i915: Fix
ilk+ watermarks when disabling pipes

### lspci -vvv -x
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor
Graphics Controller (rev 09) (prog-if 00 [VGA controller])
        Subsystem: Lenovo 3rd Gen Core processor Graphics Controller
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 26
        Region 0: Memory at f0000000 (64-bit, non-prefetchable) [size=4M]
        Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Region 4: I/O ports at 4000 [size=64]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
                Address: fee08004  Data: 4025
        Capabilities: [d0] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [a4] PCI Advanced Features
                AFCap: TP+ FLR+
                AFCtrl: FLR-
                AFStatus: TP-
        Kernel driver in use: i915
00: 86 80 66 01 07 04 90 00 09 00 00 03 00 00 00 00
10: 04 00 00 f0 00 00 00 00 0c 00 00 e0 00 00 00 00
20: 01 40 00 00 00 00 00 00 00 00 00 00 aa 17 08 22
30: 00 00 00 00 90 00 00 00 00 00 00 00 ff 01 00 00</pre>
        </div>
      </p>


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

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