public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, Intel-gfx@lists.freedesktop.org
Subject: Re: [RFC] drm/i915/skl: Use plane update function from mmio flips
Date: Mon, 4 May 2015 15:20:22 +0200	[thread overview]
Message-ID: <20150504132022.GZ30184@phenom.ffwll.local> (raw)
In-Reply-To: <5539FF7C.308@linux.intel.com>

On Fri, Apr 24, 2015 at 09:31:56AM +0100, Tvrtko Ursulin wrote:
> 
> On 04/23/2015 08:15 PM, Daniel Vetter wrote:
> >On Tue, Apr 21, 2015 at 01:18:57PM +0100, Tvrtko Ursulin wrote:
> >>On 04/21/2015 11:07 AM, Chris Wilson wrote:
> >>>On Tue, Apr 21, 2015 at 11:01:03AM +0100, Tvrtko Ursulin wrote:
> >>>>
> >>>>Hi,
> >>>>
> >>>>On 04/21/2015 10:51 AM, Chris Wilson wrote:
> >>>>>On Tue, Apr 21, 2015 at 10:29:52AM +0100, Tvrtko Ursulin wrote:
> >>>>>>From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> >>>>>>
> >>>>>>Avoids duplicating the code.
> >>>>>>
> >>>>>>Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> >>>>>>Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> >>>>>>Cc: Sonika Jindal <sonika.jindal@intel.com>
> >>>>>>Cc: Damien Lespiau <damien.lespiau@intel.com>
> >>>>>>---
> >>>>>>Can we do this?
> >>>>>
> >>>>>Sure, but I'd like to see update_primary_plane split into two in that
> >>>>>case. One to precalcuate the parameters, then the second to apply them
> >>>>>as we skip the first here (due to doing the setup in process context)
> >>>>>and want the second to run inside the vblank evasion logic (and the
> >>>>>unbounded nature of the current update_primary_plane logic scares me).
> >>>>
> >>>>What part is unbounded? I don't see anything blocking?
> >>>
> >>>The GTT view lookup may have to search through an arbitrary list, it's
> >>>even controllable by the user. Expect synmark nastiness. This is
> >>>"trivially" fixable, but this is only the current issue. The bigger issue
> >>
> >>That would have to be a framebuffer object operated on from multiple
> >>contexts so that there are multiple vms? And a lot of them.
> >>
> >>>is simply that we have not said that this is a timing critical function
> >>>and now we are intending to use it from such a context.
> >>
> >>It feels like this area is slowly going towards the "too many cooks" state,
> >>if not already there.
> >>
> >>>>As a side note, watermarks seem to be not handled at all in the flip
> >>>>path as well...
> >>>
> >>>The flip path should reject anything that requires a change in line size
> >>>i.e. a change in WM.
> >>
> >>Interesting, well, I had a look around and this means all sorts of "trouble"
> >>(refactoring) if proper wm param comparison is to be done.
> >>
> >>Alternatively, in (more) cheating via embedding knowledge approach, then
> >>rejecing a change in tiling is simple, but rotation is only known in plane
> >>state and page flip is not able to compare old vs. new.
> >>
> >>In fact, I don't even know if possible since plane properties and page flips
> >>look disjoint, each living in it's own timeline. If sampled when flip is
> >>queued it will be bad, if sampled with the flip then it is too late and/or
> >>properly slow.
> >
> >With atomic we can't do such tricks anymore anyway, we always have to
> >recompute the full state. We'll we could set dirty bits and similar tricks
> >to avoid recomputing some state and the corresponding setup, but imo that
> >needs to come with performance data attached. And atm pageflips are
> >limited to refresh rate.
> 
> The thing I was raising, and which isn't clear to me, is what ties plane
> properties with the page flips?
> 
> Not only what ties them, but what ensures plane properties remain stable
> between queuing a flip and flipping?

We only allow one in-flight flip atm, and stall before doing any
synchronous updates. That won't be the case any more once we have a queue,
but then we should also be converted fully to atomic state objects. And
with those we can build up a queue of updates. so the flip always knows
which set of states to pick for a given flip.

Or do I still misunderstand your question?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-05-04 13:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-21  9:29 [RFC] drm/i915/skl: Use plane update function from mmio flips Tvrtko Ursulin
2015-04-21  9:51 ` Chris Wilson
2015-04-21 10:01   ` Tvrtko Ursulin
2015-04-21 10:07     ` Chris Wilson
2015-04-21 12:18       ` Tvrtko Ursulin
2015-04-23 19:15         ` Daniel Vetter
2015-04-23 20:17           ` Chris Wilson
2015-04-24  8:31           ` Tvrtko Ursulin
2015-05-04 13:20             ` Daniel Vetter [this message]
2015-05-06  9:31               ` Tvrtko Ursulin

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=20150504132022.GZ30184@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=Intel-gfx@lists.freedesktop.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=tvrtko.ursulin@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