All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/atomic: Always allow async support for the atomic ioctl.
@ 2016-04-25  9:21 Maarten Lankhorst
  2016-04-25  9:35 ` Daniel Vetter
  2016-04-25 12:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
  0 siblings, 2 replies; 5+ messages in thread
From: Maarten Lankhorst @ 2016-04-25  9:21 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx

async_page_flip is a unrelated flag and should not be used for
testing support. It's up to the drivers to fail if they don't
support async commit.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/drm_atomic.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 984567057688..af8957b60388 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1587,10 +1587,6 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
 	if (arg->reserved)
 		return -EINVAL;
 
-	if ((arg->flags & DRM_MODE_PAGE_FLIP_ASYNC) &&
-			!dev->mode_config.async_page_flip)
-		return -EINVAL;
-
 	/* can't test and expect an event at the same time. */
 	if ((arg->flags & DRM_MODE_ATOMIC_TEST_ONLY) &&
 			(arg->flags & DRM_MODE_PAGE_FLIP_EVENT))
-- 
2.1.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/atomic: Always allow async support for the atomic ioctl.
  2016-04-25  9:21 [PATCH] drm/atomic: Always allow async support for the atomic ioctl Maarten Lankhorst
@ 2016-04-25  9:35 ` Daniel Vetter
  2016-04-25  9:37   ` Maarten Lankhorst
  2016-04-25 12:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
  1 sibling, 1 reply; 5+ messages in thread
From: Daniel Vetter @ 2016-04-25  9:35 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx, dri-devel

On Mon, Apr 25, 2016 at 11:21 AM, Maarten Lankhorst
<maarten.lankhorst@linux.intel.com> wrote:
> async_page_flip is a unrelated flag and should not be used for
> testing support. It's up to the drivers to fail if they don't
> support async commit.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Once more (summary of our irc discussion):

- DRM_MODE_PAGE_FLIP_ASYNC = flipping with tearing, i.e. not vblank
synced. Gives you lower latency and unrestricted rendering, aka
benchmark mode. Needs special hw support and on intel only supported
on the primary plane. I think a better way to almost get all the
benefits of async by simply implementing a queue of flips that all get
collapsed to the next vblank.

- async atomic commit = non-blocking ioctl.

Two entirely orthogonal things (you could do blocking atomic commit
with async flip, but doesn't make much sense).

Maybe instead we need a better documentation for the FLIP_ASYNC flag?
-Daniel

> ---
>  drivers/gpu/drm/drm_atomic.c | 4 ----
>  1 file changed, 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 984567057688..af8957b60388 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1587,10 +1587,6 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
>         if (arg->reserved)
>                 return -EINVAL;
>
> -       if ((arg->flags & DRM_MODE_PAGE_FLIP_ASYNC) &&
> -                       !dev->mode_config.async_page_flip)
> -               return -EINVAL;
> -
>         /* can't test and expect an event at the same time. */
>         if ((arg->flags & DRM_MODE_ATOMIC_TEST_ONLY) &&
>                         (arg->flags & DRM_MODE_PAGE_FLIP_EVENT))
> --
> 2.1.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/atomic: Always allow async support for the atomic ioctl.
  2016-04-25  9:35 ` Daniel Vetter
@ 2016-04-25  9:37   ` Maarten Lankhorst
  2016-04-25  9:40     ` Daniel Vetter
  0 siblings, 1 reply; 5+ messages in thread
From: Maarten Lankhorst @ 2016-04-25  9:37 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx, dri-devel

Op 25-04-16 om 11:35 schreef Daniel Vetter:
> On Mon, Apr 25, 2016 at 11:21 AM, Maarten Lankhorst
> <maarten.lankhorst@linux.intel.com> wrote:
>> async_page_flip is a unrelated flag and should not be used for
>> testing support. It's up to the drivers to fail if they don't
>> support async commit.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Once more (summary of our irc discussion):
>
> - DRM_MODE_PAGE_FLIP_ASYNC = flipping with tearing, i.e. not vblank
> synced. Gives you lower latency and unrestricted rendering, aka
> benchmark mode. Needs special hw support and on intel only supported
> on the primary plane. I think a better way to almost get all the
> benefits of async by simply implementing a queue of flips that all get
> collapsed to the next vblank.
>
> - async atomic commit = non-blocking ioctl.
>
> Two entirely orthogonal things (you could do blocking atomic commit
> with async flip, but doesn't make much sense).
>
> Maybe instead we need a better documentation for the FLIP_ASYNC flag?
>
yeah it's confusing, especially with atomic async commit. Maybe rename to nonblocking commit?

~Maarten
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/atomic: Always allow async support for the atomic ioctl.
  2016-04-25  9:37   ` Maarten Lankhorst
@ 2016-04-25  9:40     ` Daniel Vetter
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2016-04-25  9:40 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx, dri-devel

On Mon, Apr 25, 2016 at 11:37 AM, Maarten Lankhorst
<maarten.lankhorst@linux.intel.com> wrote:
> Op 25-04-16 om 11:35 schreef Daniel Vetter:
>> On Mon, Apr 25, 2016 at 11:21 AM, Maarten Lankhorst
>> <maarten.lankhorst@linux.intel.com> wrote:
>>> async_page_flip is a unrelated flag and should not be used for
>>> testing support. It's up to the drivers to fail if they don't
>>> support async commit.
>>>
>>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Once more (summary of our irc discussion):
>>
>> - DRM_MODE_PAGE_FLIP_ASYNC = flipping with tearing, i.e. not vblank
>> synced. Gives you lower latency and unrestricted rendering, aka
>> benchmark mode. Needs special hw support and on intel only supported
>> on the primary plane. I think a better way to almost get all the
>> benefits of async by simply implementing a queue of flips that all get
>> collapsed to the next vblank.
>>
>> - async atomic commit = non-blocking ioctl.
>>
>> Two entirely orthogonal things (you could do blocking atomic commit
>> with async flip, but doesn't make much sense).
>>
>> Maybe instead we need a better documentation for the FLIP_ASYNC flag?
>>
> yeah it's confusing, especially with atomic async commit. Maybe rename to nonblocking commit?

Well uabi renaming train left the station, but internally we can
definitely do that.
s/drm_atomic_async_commit/drm_atomic_nonblocking_commit/ plus
s/async/nonblocking/ in the driver's ->atomic_commit hooks sounds like
a very fine idea. Volunteered?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/atomic: Always allow async support for the atomic ioctl.
  2016-04-25  9:21 [PATCH] drm/atomic: Always allow async support for the atomic ioctl Maarten Lankhorst
  2016-04-25  9:35 ` Daniel Vetter
@ 2016-04-25 12:05 ` Patchwork
  1 sibling, 0 replies; 5+ messages in thread
From: Patchwork @ 2016-04-25 12:05 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: drm/atomic: Always allow async support for the atomic ioctl.
URL   : https://patchwork.freedesktop.org/series/6245/
State : failure

== Summary ==

Series 6245v1 drm/atomic: Always allow async support for the atomic ioctl.
http://patchwork.freedesktop.org/api/1.0/series/6245/revisions/1/mbox/

Test drv_hangman:
        Subgroup error-state-basic:
                incomplete -> PASS       (snb-dellxps)
Test gem_exec_whisper:
        Subgroup basic:
                fail       -> PASS       (ilk-hp8440p)
Test gem_sync:
        Subgroup basic-bsd:
                pass       -> DMESG-FAIL (ilk-hp8440p)
Test kms_flip:
        Subgroup basic-flip-vs-wf_vblank:
                fail       -> PASS       (bdw-ultra)
                fail       -> PASS       (byt-nuc)
Test kms_force_connector_basic:
        Subgroup force-edid:
                pass       -> SKIP       (ilk-hp8440p)

bdw-nuci7        total:193  pass:181  dwarn:0   dfail:0   fail:0   skip:12 
bdw-ultra        total:193  pass:170  dwarn:0   dfail:0   fail:0   skip:23 
bsw-nuc-2        total:192  pass:153  dwarn:0   dfail:0   fail:0   skip:39 
byt-nuc          total:192  pass:154  dwarn:0   dfail:0   fail:0   skip:38 
hsw-brixbox      total:193  pass:169  dwarn:0   dfail:0   fail:0   skip:24 
hsw-gt2          total:193  pass:174  dwarn:0   dfail:0   fail:0   skip:19 
ilk-hp8440p      total:193  pass:134  dwarn:0   dfail:1   fail:0   skip:58 
ivb-t430s        total:193  pass:165  dwarn:0   dfail:0   fail:0   skip:28 
skl-i7k-2        total:193  pass:168  dwarn:0   dfail:0   fail:0   skip:25 
skl-nuci5        total:193  pass:182  dwarn:0   dfail:0   fail:0   skip:11 
snb-dellxps      total:193  pass:155  dwarn:0   dfail:0   fail:0   skip:38 
snb-x220t        total:193  pass:155  dwarn:0   dfail:0   fail:1   skip:37 

Results at /archive/results/CI_IGT_test/Patchwork_2060/

2725e5c353b4628e3e37b3e3e26fc6e75222e692 drm-intel-nightly: 2016y-04m-25d-10h-31m-27s UTC integration manifest
685e34b drm/atomic: Always allow async support for the atomic ioctl.

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-04-25 12:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-25  9:21 [PATCH] drm/atomic: Always allow async support for the atomic ioctl Maarten Lankhorst
2016-04-25  9:35 ` Daniel Vetter
2016-04-25  9:37   ` Maarten Lankhorst
2016-04-25  9:40     ` Daniel Vetter
2016-04-25 12:05 ` ✗ Fi.CI.BAT: failure for " Patchwork

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.