On 04/18/2012 02:25 PM, Rob Clark wrote:
On Wed, Apr 18, 2012 at 5:11 AM, Joonyoung Shim<jy0922.shim@xxxxxxxxxxx> wrote:
On 04/18/2012 05:46 PM, Daniel Vetter wrote:
On Wed, Apr 18, 2012 at 01:31:59PM +0900, Joonyoung Shim wrote:
DRM_MODE_PLANE_EVENT is similar to DRM_MODE_PAGE_FLIP_EVENT but it is
for a plane. The setplane ioctl (DRM_IOCTL_MODE_SETPLANE) needs to
provide the event such as DRM_MODE_PAGE_FLIP_EVENT. The setplane ioctl
can change the framebuffer of plane but user can't know completion of
changing the framebuffer of plane via event. If DRM_MODE_PLANE_EVENT is
added, we can also do pageflip of a plane.
Signed-off-by: Joonyoung Shim<jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park<kyungmin.park@xxxxxxxxxxx>
If I understand the current kms api correctly, set_plane is akin to
set_base and should not generate an asynchronous flip completion event.
To
do that we need a new pageflip ioctl which changes a complete set of fb +
planes + any crtc attributes that might be in an atomic fashion. At which
point we can just reuse the existing page flip event mechanism.
It seems better way to add new pageflip ioctl for plane. I will try it.
fwiw, an atomic mode set which can update crtc and zero or more plane
layers is, I think, the way to go. Jesse Barnes had an RFC for this,
although IIRC it was only the API and not the implementation. And
combination w/ the plane/crtc properties patchset to allow setting
properties as part of the update might not be a bad thing either.
BR,
-R
Before planes and rotation properties modeset was atomic (single ioctl).
Would it not be possible to define atomic modeset for planes and
properties like this?
SETPROPERTY and SETPLANE (maybe more) should not be commited when set,
only on SETCRTC ioctl like before planes. All properties and plane
changes before SETCRTC should be considered staged settings for the next
SETCRTC.
If this would break API backwards compatibility, maybe a new "standard"
boolean property called EnableAtomicMode could be used to trigger this
mode in the drivers. If a driver doesn't support it, things will just
work as currently with modeset not being atomic across planes.
Maybe this could be implemented in the generic parts of KMS, but it
could be tried out first inside a driver.
/BR
/Marcus
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel