All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Pekka Paalanen <ppaalanen@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: KMS timings (Re: [PATCH 6/8] drm/bochs: phase 3: provide a custom ->atomic_commit implementation)
Date: Tue, 21 Jul 2015 15:47:41 +0200	[thread overview]
Message-ID: <20150721134741.GL16722@phenom.ffwll.local> (raw)
In-Reply-To: <20150721142203.0f9d8573@gmail.com>

On Tue, Jul 21, 2015 at 02:22:03PM +0300, Pekka Paalanen wrote:
> On Tue, 21 Jul 2015 11:02:58 +0200
> Daniel Vetter <daniel@ffwll.ch> wrote:
> 
> > On Tue, Jul 21, 2015 at 10:06:09AM +0300, Pekka Paalanen wrote:
> > > On Mon, 20 Jul 2015 10:32:31 -0700
> > > Stéphane Marchesin <stephane.marchesin@gmail.com> wrote:

> > > If one does not ask for ASYNC with a page flip, does it mean flipping
> > > on the next vblank, or flipping such that it cannot tear but allowing
> > > techiques like scanline waits?
> > 
> > Since legacy page_flip is always for the full primary plane you can't do
> > scanline waits - it covers everything anyway.
> 
> Ah, nice. Obvious in hindsight, at least if the display server does
> not mark dirty regions.
> 
> But there seems to be drmModeDirtyFB(), can that not be used with page
> flip? If userspace provided dirty regions, would scanline-wait be
> possible in theory? If yes, would it be acceptable for drivers to do?

DirtyFB is exclusively for frontbuffer rendering. We could easily add a
dirty-x/y/w/h rectangle to atomic (I don't think a list makes sense, most
hw can only do one), but right now there's no way to do FlipWithDamage.
Definitely something we want to look into (and we should be able to make
it work on skl on at least in some cases).

> > I guess for bochs/udl and others we could create a small drm driver which
> > keeps track of the last vblank ts (we have those already) and suitable
> > delays the even/timestamp to keep up the illusion. Or we just rip out
> > pageflip support for those drivers. But if weston&co can't cope with that
> > that would be worse.
> 
> Now that you ask, I'm not even really sure what the non-page-flip KMS
> display update way is, so no, I would say Weston cannot deal with it as
> is.
> 
> Who's up for the job? :-)

Implement a drm_send_fake_vblank_event in drm_irq.c and then roll it out
shouldnt be too much work really. We can store crtc-private date needed
for this in the drm_vblank structure (just need a timer plus maybe a
high-res timestamp to make the illusion better). Then we could replace the
send_vblank_event call with that helper in bochs/udl/...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-07-21 13:45 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-16 12:20 [PATCH 0/8] drm/bochs: convert bochs to atomic mode-setting John Hunter
2015-07-16 12:20 ` [PATCH 1/8] drm/bochs: phase 1 - use the transitional helpers John Hunter
2015-07-16 15:49   ` Gerd Hoffmann
2015-07-16 18:22     ` Daniel Vetter
2015-07-16 12:20 ` [PATCH 2/8] drm/bochs: phase 2: wire up state reset(), duplicate() and destroy John Hunter
2015-07-16 12:20 ` [PATCH 3/8] drm/bochs: stop looking at legacy state John Hunter
2015-07-16 12:20 ` [PATCH 4/8] drm/bochs: phase 3: for plane updates: switch to atomic helper internally John Hunter
2015-07-16 12:20 ` [PATCH 5/8] drm/bochs: phase 3: use atomic .set_config helper John Hunter
2015-07-16 12:20 ` [PATCH 6/8] drm/bochs: phase 3: provide a custom ->atomic_commit implementation John Hunter
2015-07-17  6:08   ` Pekka Paalanen
2015-07-19 23:56     ` John Hunter
2015-07-20  0:20     ` Stéphane Marchesin
2015-07-20  7:46       ` Pekka Paalanen
2015-07-20  8:58         ` Stéphane Marchesin
2015-07-20  9:35           ` KMS timings (Re: [PATCH 6/8] drm/bochs: phase 3: provide a custom ->atomic_commit implementation) Pekka Paalanen
2015-07-20 14:21             ` Daniel Vetter
2015-07-20 17:32               ` Stéphane Marchesin
2015-07-21  7:06                 ` Pekka Paalanen
2015-07-21  9:02                   ` Daniel Vetter
2015-07-21 11:22                     ` Pekka Paalanen
2015-07-21 13:47                       ` Daniel Vetter [this message]
2015-07-16 12:20 ` [PATCH 7/8] drm/bochs: phase 3: switch to drm_atomic_helper_page_flip John Hunter
2015-07-16 12:20 ` [PATCH 8/8] drm/bochs: atomic dpms support John Hunter
2016-03-02 10:13 ` [PATCH 0/8] drm/bochs: convert bochs to atomic mode-setting Emil Velikov
2016-03-02 15:38   ` Gerd Hoffmann
2016-03-02 18:02     ` Emil Velikov
2016-03-03  9:28       ` Gerd Hoffmann
2016-03-04  8:31         ` John Hunter
2016-03-04 14:05         ` Emil Velikov
2016-03-07  9:34           ` Gerd Hoffmann

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=20150721134741.GL16722@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ppaalanen@gmail.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.