<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello Ankit, <br>
    </p>
    <div class="moz-cite-prefix">On 8/27/2019 11:59 AM, Nautiyal, Ankit
      K wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1566887370-21780-1-git-send-email-ankit.k.nautiyal@intel.com">
      <pre class="moz-quote-pre" wrap="">From: Ankit Nautiyal <a class="moz-txt-link-rfc2396E" href="mailto:ankit.k.nautiyal@intel.com"><ankit.k.nautiyal@intel.com></a>

Currently, the transcoder port sync feature is not available, due to
which the 5K-tiled dual DP monitors experience corruption when
2560x2880 mode is applied for both of the tiled DP connectors.
Bugzilla: <a class="moz-txt-link-freetext" href="https://bugs.freedesktop.org/show_bug.cgi?id=97244">https://bugs.freedesktop.org/show_bug.cgi?id=97244</a>

There is a patch series to enable transcode port sync feature for
tiled display for ICL+, which is under review:
<a class="moz-txt-link-freetext" href="https://patchwork.kernel.org/project/intel-gfx/list/?series=137339">https://patchwork.kernel.org/project/intel-gfx/list/?series=137339</a>

For the older platforms, we need to remove the 2560x2880 mode to avoid
a possibility of userspace choosing 2560x2880 mode for both tiled
displays, resulting in corruption.

This patch prunes 2560x2880 mode for one of the tiled DP connector.
Since both the tiled DP connectors have different tile_h_loc and
tile_v_loc, the tiled connector with tile_h_loc and tile_v_loc as '0',
is chosen, for which the given resolution is removed.

Signed-off-by: Ankit Nautiyal <a class="moz-txt-link-rfc2396E" href="mailto:ankit.k.nautiyal@intel.com"><ankit.k.nautiyal@intel.com></a>
CC: Manasi Navare <a class="moz-txt-link-rfc2396E" href="mailto:manasi.d.navare@intel.com"><manasi.d.navare@intel.com></a>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 5c45a3b..aa43a3b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -564,6 +564,17 @@ intel_dp_mode_valid(struct drm_connector *connector,
        if (mode->flags & DRM_MODE_FLAG_DBLCLK)
                return MODE_H_ILLEGAL;
 
+       /*
+        * For 5K tiled dual DP monitors, dual-DP sync is not yet supported.
+        * This results in display sync issues, when both tiled connectors run
+        * on 2560x2880 resolution. Therefore prune the 2560x2880 mode on one
+        * of the tiled connector, to avoid such a case.
+        */
+       if (connector->has_tile &&
+           (connector->tile_h_loc == 0 && connector->tile_v_loc == 0) &&
+           (mode->hdisplay == 2560 && mode->vdisplay == 2880))</pre>
    </blockquote>
    <p>Shouldn't this be for >= 2560/2880 than == ? Also, do we want
      (mode->hdisplay >= 2560 <b>||</b> mode->vdisplay >=
      2880
      )</p>
    <p>- Shashank<br>
    </p>
    <blockquote type="cite"
      cite="mid:1566887370-21780-1-git-send-email-ankit.k.nautiyal@intel.com">
      <pre class="moz-quote-pre" wrap="">
+               return MODE_PANEL;
+
        return MODE_OK;
 }
 
</pre>
    </blockquote>
  </body>
</html>