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: Thu, 23 Apr 2015 21:15:41 +0200 [thread overview]
Message-ID: <20150423191541.GD30184@phenom.ffwll.local> (raw)
In-Reply-To: <55364031.5090206@linux.intel.com>
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.
-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
next prev parent reply other threads:[~2015-04-23 19:13 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 [this message]
2015-04-23 20:17 ` Chris Wilson
2015-04-24 8:31 ` Tvrtko Ursulin
2015-05-04 13:20 ` Daniel Vetter
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=20150423191541.GD30184@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