public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Manasi Navare <manasi.d.navare@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Prune 2560x2880 mode for 5K tiled dual DP monitors
Date: Tue, 27 Aug 2019 09:59:26 -0700	[thread overview]
Message-ID: <20190827165926.GA4122@intel.com> (raw)
In-Reply-To: <87o90a99so.fsf@intel.com>

On Tue, Aug 27, 2019 at 01:34:15PM +0300, Jani Nikula wrote:
> On Tue, 27 Aug 2019, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> > From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> >
> > 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: https://bugs.freedesktop.org/show_bug.cgi?id=97244
> >
> > There is a patch series to enable transcode port sync feature for
> > tiled display for ICL+, which is under review:
> > https://patchwork.kernel.org/project/intel-gfx/list/?series=137339
> >
> > 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 <ankit.k.nautiyal@intel.com>
> > CC: Manasi Navare <manasi.d.navare@intel.com>
> > ---
> >  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))
> > +		return MODE_PANEL;
> > +
> 
> This assumes all tiled cases with specific resolutions fail. You don't
> know that. You only know this fails on a specific display. Instead of
> coming up with various rules on tiles and resolutions that match the
> display (but might *also* match any number of *other* displays!), you
> need to actually identify and match that specific display instead.
>

Actually without the transcoder port sync feature, we do not expect any tiled display
over two separate ports to work correctly, so if it is two connectors in state with tile props set
then we should reject the tiled mode on both those connectors since that might cause the artifacts
without proper sync between two ports which is supported only on ICL+
 
> There are two ways to add display specific quirks: based on EDID
> (edid_quirk_list in drm_edid.c) and based on DPCD (dpcd_quirk_list in
> drm_dp_helper.c). You identify the display, and then prune the modes
> that require port sync to work, for *that* display.

We have seen this issue on multiple 5K tiled displays IMH, so just adding a quirk for specific monitors
will not suffice.

But we would need to make sure that the mode gets rejected only if there are multiple SST connectors with
tile prop or connector->has_tile set because MST tiled displays still work correctly.

Ville, you had played a little bit with this 5K display I believe, do you think pruning the tiled mode
if there are tiled SST connectors and platform < ICL is a good solution?

Regards
Manasi
> 
> Blanket filters like this are a no-go.
> 
> BR,
> Jani.
> 
> 
> >  	return MODE_OK;
> >  }
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-08-27 16:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-27  6:29 [PATCH] drm/i915: Prune 2560x2880 mode for 5K tiled dual DP monitors Nautiyal, Ankit K
2019-08-27  7:39 ` Sharma, Shashank
2019-08-27  9:34   ` Nautiyal, Ankit K
2019-08-27  9:51 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-08-27 10:34 ` [PATCH] " Jani Nikula
2019-08-27 16:59   ` Manasi Navare [this message]
2019-08-28  7:46     ` Jani Nikula
2019-08-28 19:53       ` Manasi Navare
2019-08-29  6:44         ` Jani Nikula
2019-08-29  9:09           ` Nautiyal, Ankit K
2019-08-29 11:36             ` Jani Nikula
2019-08-29 18:36               ` Manasi Navare
2019-08-30  4:18                 ` Nautiyal, Ankit K
2019-09-05  5:33                   ` Nautiyal, Ankit K
2019-09-09 18:42                     ` Manasi Navare
2019-09-10  9:20                       ` Jani Nikula
2019-09-10 21:32                         ` Manasi Navare
2019-08-27 18:44 ` ✓ Fi.CI.IGT: success for " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190827165926.GA4122@intel.com \
    --to=manasi.d.navare@intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox