All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Use atomic page flip for intel again.
@ 2016-12-22 10:33 Maarten Lankhorst
  2016-12-22 17:52 ` ✓ Fi.CI.BAT: success for " Patchwork
  2016-12-27 14:48 ` [PATCH] " Daniel Vetter
  0 siblings, 2 replies; 4+ messages in thread
From: Maarten Lankhorst @ 2016-12-22 10:33 UTC (permalink / raw)
  To: intel-gfx; +Cc: Daniel Vetter, Rafael Ristovski, Steven Newbury

This reverts commit 527b6abe5fd2d2
(Revert "drm/i915: Use atomic commits for legacy page_flips")

and reapplies commit ee042aa40b66d1.
("drm/i915: Use atomic commits for legacy page_flips")

The reason for the revert was because legacy cursor updates were
forced to wait for pending page flips and rendering after they
were converted to atomic.

Commit f79f26921ee12c6f
(drm/i915: Add a cursor hack to allow converting legacy page flip to atomic, v3)
adds a fastpath to cursor updates, which fixes the stuttering issues.
With these changes I feel confident enough to re-enable cursor updates.

Legacy cursor update won't block in the following cases:
- Moving cursor
- Changing cursor fb

The legacy cursor update will still block in the following cases:
- Showing/hiding cursor.
- Cursor size or scaling changes.
- cursor update while cursor is invisible (could be fixed, if it turns out to be important).
- Cursor tiling changes (Not sure we support tiled cursors.)
- Last update was a modeset.

Cc: Steven Newbury <steve@snewbury.org.uk>
Cc: Rafael Ristovski <rafael.ristovski@gmail.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Tested-by: Rafael Ristovski <rafael.ristovski@gmail.com>
Testcase: igt/kms_cursor_legacy
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index ef5dde5ab1cf..27e77ca714a5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12152,6 +12152,7 @@ void intel_check_page_flip(struct drm_i915_private *dev_priv, int pipe)
 	spin_unlock(&dev->event_lock);
 }
 
+__maybe_unused
 static int intel_crtc_page_flip(struct drm_crtc *crtc,
 				struct drm_framebuffer *fb,
 				struct drm_pending_vblank_event *event,
@@ -14771,7 +14772,7 @@ static const struct drm_crtc_funcs intel_crtc_funcs = {
 	.set_config = drm_atomic_helper_set_config,
 	.set_property = drm_atomic_helper_crtc_set_property,
 	.destroy = intel_crtc_destroy,
-	.page_flip = intel_crtc_page_flip,
+	.page_flip = drm_atomic_helper_page_flip,
 	.atomic_duplicate_state = intel_crtc_duplicate_state,
 	.atomic_destroy_state = intel_crtc_destroy_state,
 };
-- 
2.7.4

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

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

* ✓ Fi.CI.BAT: success for drm/i915: Use atomic page flip for intel again.
  2016-12-22 10:33 [PATCH] drm/i915: Use atomic page flip for intel again Maarten Lankhorst
@ 2016-12-22 17:52 ` Patchwork
  2016-12-27 14:48 ` [PATCH] " Daniel Vetter
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2016-12-22 17:52 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use atomic page flip for intel again.
URL   : https://patchwork.freedesktop.org/series/17129/
State : success

== Summary ==

Series 17129v1 drm/i915: Use atomic page flip for intel again.
https://patchwork.freedesktop.org/api/1.0/series/17129/revisions/1/mbox/


fi-bdw-5557u     total:246  pass:232  dwarn:0   dfail:0   fail:0   skip:14 
fi-bsw-n3050     total:246  pass:207  dwarn:0   dfail:0   fail:0   skip:39 
fi-bxt-j4205     total:246  pass:224  dwarn:0   dfail:0   fail:0   skip:22 
fi-bxt-t5700     total:246  pass:218  dwarn:1   dfail:0   fail:0   skip:27 
fi-byt-j1900     total:246  pass:219  dwarn:0   dfail:0   fail:0   skip:27 
fi-byt-n2820     total:246  pass:215  dwarn:0   dfail:0   fail:0   skip:31 
fi-hsw-4770      total:246  pass:227  dwarn:0   dfail:0   fail:0   skip:19 
fi-hsw-4770r     total:246  pass:227  dwarn:0   dfail:0   fail:0   skip:19 
fi-ilk-650       total:246  pass:194  dwarn:0   dfail:0   fail:0   skip:52 
fi-ivb-3520m     total:246  pass:225  dwarn:0   dfail:0   fail:0   skip:21 
fi-ivb-3770      total:246  pass:225  dwarn:0   dfail:0   fail:0   skip:21 
fi-kbl-7500u     total:246  pass:225  dwarn:0   dfail:0   fail:0   skip:21 
fi-skl-6260u     total:246  pass:233  dwarn:0   dfail:0   fail:0   skip:13 
fi-skl-6700hq    total:246  pass:226  dwarn:0   dfail:0   fail:0   skip:20 
fi-skl-6700k     total:246  pass:222  dwarn:3   dfail:0   fail:0   skip:21 
fi-skl-6770hq    total:246  pass:233  dwarn:0   dfail:0   fail:0   skip:13 
fi-snb-2520m     total:246  pass:215  dwarn:0   dfail:0   fail:0   skip:31 
fi-snb-2600      total:246  pass:214  dwarn:0   dfail:0   fail:0   skip:32 

5486838e15ec59a57aa9a62f049f383cc3968e3f drm-tip: 2016y-12m-22d-13h-47m-26s UTC integration manifest
5a08f25 drm/i915: Use atomic page flip for intel again.

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_3371/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Use atomic page flip for intel again.
  2016-12-22 10:33 [PATCH] drm/i915: Use atomic page flip for intel again Maarten Lankhorst
  2016-12-22 17:52 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2016-12-27 14:48 ` Daniel Vetter
  2017-01-23 15:02   ` Maarten Lankhorst
  1 sibling, 1 reply; 4+ messages in thread
From: Daniel Vetter @ 2016-12-27 14:48 UTC (permalink / raw)
  To: Maarten Lankhorst
  Cc: Daniel Vetter, intel-gfx, Rafael Ristovski, Steven Newbury

On Thu, Dec 22, 2016 at 11:33:23AM +0100, Maarten Lankhorst wrote:
> This reverts commit 527b6abe5fd2d2
> (Revert "drm/i915: Use atomic commits for legacy page_flips")
> 
> and reapplies commit ee042aa40b66d1.
> ("drm/i915: Use atomic commits for legacy page_flips")
> 
> The reason for the revert was because legacy cursor updates were
> forced to wait for pending page flips and rendering after they
> were converted to atomic.
> 
> Commit f79f26921ee12c6f
> (drm/i915: Add a cursor hack to allow converting legacy page flip to atomic, v3)
> adds a fastpath to cursor updates, which fixes the stuttering issues.
> With these changes I feel confident enough to re-enable cursor updates.
> 
> Legacy cursor update won't block in the following cases:
> - Moving cursor
> - Changing cursor fb
> 
> The legacy cursor update will still block in the following cases:
> - Showing/hiding cursor.
> - Cursor size or scaling changes.
> - cursor update while cursor is invisible (could be fixed, if it turns out to be important).
> - Cursor tiling changes (Not sure we support tiled cursors.)
> - Last update was a modeset.
> 
> Cc: Steven Newbury <steve@snewbury.org.uk>
> Cc: Rafael Ristovski <rafael.ristovski@gmail.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Tested-by: Rafael Ristovski <rafael.ristovski@gmail.com>
> Testcase: igt/kms_cursor_legacy
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

I'm going to regret this again ;-)

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/gpu/drm/i915/intel_display.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index ef5dde5ab1cf..27e77ca714a5 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12152,6 +12152,7 @@ void intel_check_page_flip(struct drm_i915_private *dev_priv, int pipe)
>  	spin_unlock(&dev->event_lock);
>  }
>  
> +__maybe_unused
>  static int intel_crtc_page_flip(struct drm_crtc *crtc,
>  				struct drm_framebuffer *fb,
>  				struct drm_pending_vblank_event *event,
> @@ -14771,7 +14772,7 @@ static const struct drm_crtc_funcs intel_crtc_funcs = {
>  	.set_config = drm_atomic_helper_set_config,
>  	.set_property = drm_atomic_helper_crtc_set_property,
>  	.destroy = intel_crtc_destroy,
> -	.page_flip = intel_crtc_page_flip,
> +	.page_flip = drm_atomic_helper_page_flip,
>  	.atomic_duplicate_state = intel_crtc_duplicate_state,
>  	.atomic_destroy_state = intel_crtc_destroy_state,
>  };
> -- 
> 2.7.4
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
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] 4+ messages in thread

* Re: [PATCH] drm/i915: Use atomic page flip for intel again.
  2016-12-27 14:48 ` [PATCH] " Daniel Vetter
@ 2017-01-23 15:02   ` Maarten Lankhorst
  0 siblings, 0 replies; 4+ messages in thread
From: Maarten Lankhorst @ 2017-01-23 15:02 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, intel-gfx, Rafael Ristovski, Steven Newbury

Op 27-12-16 om 15:48 schreef Daniel Vetter:
> On Thu, Dec 22, 2016 at 11:33:23AM +0100, Maarten Lankhorst wrote:
>> This reverts commit 527b6abe5fd2d2
>> (Revert "drm/i915: Use atomic commits for legacy page_flips")
>>
>> and reapplies commit ee042aa40b66d1.
>> ("drm/i915: Use atomic commits for legacy page_flips")
>>
>> The reason for the revert was because legacy cursor updates were
>> forced to wait for pending page flips and rendering after they
>> were converted to atomic.
>>
>> Commit f79f26921ee12c6f
>> (drm/i915: Add a cursor hack to allow converting legacy page flip to atomic, v3)
>> adds a fastpath to cursor updates, which fixes the stuttering issues.
>> With these changes I feel confident enough to re-enable cursor updates.
>>
>> Legacy cursor update won't block in the following cases:
>> - Moving cursor
>> - Changing cursor fb
>>
>> The legacy cursor update will still block in the following cases:
>> - Showing/hiding cursor.
>> - Cursor size or scaling changes.
>> - cursor update while cursor is invisible (could be fixed, if it turns out to be important).
>> - Cursor tiling changes (Not sure we support tiled cursors.)
>> - Last update was a modeset.
>>
>> Cc: Steven Newbury <steve@snewbury.org.uk>
>> Cc: Rafael Ristovski <rafael.ristovski@gmail.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Tested-by: Rafael Ristovski <rafael.ristovski@gmail.com>
>> Testcase: igt/kms_cursor_legacy
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> I'm going to regret this again ;-)
>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
But we have testcases now! That pass!! So pushed, thanks for review. ;)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-01-23 15:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-22 10:33 [PATCH] drm/i915: Use atomic page flip for intel again Maarten Lankhorst
2016-12-22 17:52 ` ✓ Fi.CI.BAT: success for " Patchwork
2016-12-27 14:48 ` [PATCH] " Daniel Vetter
2017-01-23 15:02   ` Maarten Lankhorst

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.