All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcus Lorentzon <marcus.xm.lorentzon@stericsson.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: "hoegsberg@gmail.com" <hoegsberg@gmail.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: [RFC PATCH] drm: Add plane event
Date: Wed, 18 Apr 2012 18:26:04 +0200	[thread overview]
Message-ID: <4F8EEB1C.8020305@stericsson.com> (raw)
In-Reply-To: <20120418160610.GS4917@intel.com>

On 04/18/2012 06:06 PM, Ville Syrjälä wrote:
>> >  If you smash everything into one ioctl, I imagine you have plenty of fun
>> >  implementing all this. Which is why I prefer to split this up.
> I don't think there's that much differnce. You build up the full device
> state, check it, and when you're ready to commit it you decide whether
> to go with the blocking approach or not.
Yes, this is exactly what I do in our driver today. It doesn't cost much 
CPU to do it. Just copying a few values to a device state struct and 
verifying it is ok on commit. Then just wait for vsync and apply. All 
"heavy" calculations are done before vsync. If modeset come late (just 
before vsync) it could just as easily have come just after, so it makes 
no difference. Plane/fb/crtc modeset should be expected to come before 
vsync since most rendering is async today. So user is probably spending 
most time waiting for vsync of previous modeset/flip and will issue the 
next as soon as the previous is complete. And the app rendering 
complexity probably outweighs the state tracking CPU load by far.

And I do like the idea of one single modeset ioctl that is async and 
atomic. I think this could make things simpler, not more complex. Having 
to support multiple paths depending on what ioctl is used by an app 
doesn't seem much easier (already 3 helper callbacks - base, full, 
flip). But I don't have the solid experience with drm frmwrk to make 
that decision.

/Marcus

  reply	other threads:[~2012-04-18 16:26 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-18  4:31 [RFC PATCH] drm: Add plane event Joonyoung Shim
2012-04-18  8:46 ` Daniel Vetter
2012-04-18 10:11   ` Joonyoung Shim
2012-04-18 12:25     ` Rob Clark
2012-04-18 14:04       ` Marcus Lorentzon
2012-04-18 14:26         ` Ville Syrjälä
2012-04-18 14:36           ` Daniel Vetter
2012-04-18 15:10             ` Marcus Lorentzon
2012-04-18 15:27               ` Daniel Vetter
2012-04-18 15:55                 ` Marcus Lorentzon
2012-04-18 16:04                   ` Jesse Barnes
2012-04-18 19:08                   ` Daniel Vetter
2012-04-18 16:06                 ` Ville Syrjälä
2012-04-18 16:26                   ` Marcus Lorentzon [this message]
2012-04-18 18:19                   ` Ville Syrjälä
2012-04-19  8:10                     ` Daniel Vetter
2012-04-18 15:43               ` Luc Verhaegen
2012-04-18 16:00                 ` Marcus Lorentzon
2012-04-19  1:24             ` Kristian Høgsberg
2012-04-19  8:05               ` Daniel Vetter
2012-04-18 14:58           ` Marcus Lorentzon
2012-04-18 15:57             ` Jesse Barnes
2012-04-18 16:47 ` Luc Verhaegen

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=4F8EEB1C.8020305@stericsson.com \
    --to=marcus.xm.lorentzon@stericsson.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hoegsberg@gmail.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.