All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Roper <matthew.d.roper@intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: Kalyan Kondapally <kalyan.kondapally@intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/skl: Increase ddb blocks to support large cursor sizes
Date: Fri, 18 Dec 2015 07:14:17 -0800	[thread overview]
Message-ID: <20151218151417.GL2778@intel.com> (raw)
In-Reply-To: <20151218151012.GS4437@intel.com>

On Fri, Dec 18, 2015 at 05:10:12PM +0200, Ville Syrjälä wrote:
> On Fri, Dec 18, 2015 at 06:58:58AM -0800, Matt Roper wrote:
> > On Fri, Dec 18, 2015 at 12:35:47PM +0200, Ville Syrjälä wrote:
> > > On Wed, Dec 16, 2015 at 07:06:20PM -0800, Radhakrishna Sripada wrote:
> > > > Original value of 32 blocks is not sufficient when using cursor size of
> > > > 256x256 causing FIFO underruns when the reworked wm
> > > > caluclations in
> > > > 
> > > > commit 024c9045221fe45482863c47c4b4c47d37f97cbf
> > > > Author: Matt Roper <matthew.d.roper@intel.com>
> > > > Date:   Thu Sep 24 15:53:11 2015 -0700
> > > > 
> > > >     drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v4)
> > > 
> > > Well that commit is obviously incorrect. It's now using the pipe src
> > > width as the plane width for all planes.
> > > 
> > 
> > Yeah, we already noted that bug in another email thread, but decided
> > that it was unrelated to the problems Radhakrishna is facing.
> > Radhakrishna is only using a cursor (which doesn't use that buggy
> > function)
> 
> Pop quiz: what does it use then?

All non-cursor planes (i.e., primary+sprite).  Cursors use a fixed DDB
allocation (currently 32 blocks as suggested by bspec, but
Radhakrishna's testing has found this to be too small, so his patch here
is bumping that number up.

Primary and sprite planes are supposed to divide up the remaining blocks
proportional to their size, but the bug here causes them to all be
considered full-screen size.  If you're not actually using sprites and
not windowing your primary plane, then the bug has no effect (which is
probably why we didn't already catch and fix it).  If you do use a
sprite plane or window your primary plane, your proportions are probably
wrong and you get non-optimal settings, although even then you usually
won't have actual problems.


Matt


> 
> > and a full-screen primary plane, so the numbers don't actually
> > change (for his use case).
> > 
> > Of course that bug is still worth fixing too; I was planning on writing
> > up a patch for it later today.
> > 
> > 
> > Matt
> > 
> > 
> > > > 
> > > > are used. Increasing the number of blocks to 52 to make cursor plane tolerate
> > > > SAGV block time for the maximum possible cursor size.
> > > > 
> > > > Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> > > > Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/intel_pm.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > > > index d385d99..137fb68 100644
> > > > --- a/drivers/gpu/drm/i915/intel_pm.c
> > > > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > > > @@ -2802,7 +2802,7 @@ skl_ddb_get_pipe_allocation_limits(struct drm_device *dev,
> > > >  static unsigned int skl_cursor_allocation(const struct intel_wm_config *config)
> > > >  {
> > > >  	if (config->num_pipes_active == 1)
> > > > -		return 32;
> > > > +		return 52;
> > > >  
> > > >  	return 8;
> > > >  }
> > > > -- 
> > > > 1.9.1
> > > > 
> > > > _______________________________________________
> > > > Intel-gfx mailing list
> > > > Intel-gfx@lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > > 
> > > -- 
> > > Ville Syrjälä
> > > Intel OTC
> > 
> > -- 
> > Matt Roper
> > Graphics Software Engineer
> > IoTG Platform Enabling & Development
> > Intel Corporation
> > (916) 356-2795
> 
> -- 
> Ville Syrjälä
> Intel OTC

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-12-18 15:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-17  3:06 [PATCH] drm/i915/skl: Increase ddb blocks to support large cursor sizes Radhakrishna Sripada
2015-12-18 10:01 ` Jani Nikula
2015-12-18 10:35 ` Ville Syrjälä
2015-12-18 14:58   ` Matt Roper
2015-12-18 15:10     ` Ville Syrjälä
2015-12-18 15:14       ` Matt Roper [this message]
2015-12-18 15:24         ` Matt Roper
2015-12-21 12:09           ` Daniel Vetter
2015-12-23  2:52             ` Kumar, Shobhit
2016-01-04 13:48               ` Kumar, Shobhit
2016-01-05 10:14                 ` Daniel Vetter
2016-02-16 10:14                   ` Kumar, Shobhit
2016-02-18  8:28                     ` Kumar, Shobhit
2015-12-18 15:34         ` Ville Syrjälä

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=20151218151417.GL2778@intel.com \
    --to=matthew.d.roper@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kalyan.kondapally@intel.com \
    --cc=ville.syrjala@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.