* [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips"
@ 2016-06-24 12:44 Chris Wilson
2016-06-24 13:12 ` ✓ Ro.CI.BAT: success for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Chris Wilson @ 2016-06-24 12:44 UTC (permalink / raw)
To: intel-gfx; +Cc: Daniel Vetter
This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f.
Something appears to be off in the timing, but as far as I can tell it
is not along the event delivery path. The net effect appears to be
rendering flicker (the current render buffer appears on the scanout,
with what appears to be active rendering for a fraction of a frame) and
is causing me a headache.
The cursor is also being stalled by page flips, causing a "heavy mouse"
and jitter.
Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
Reported-by: Rafael Ristovski <rafael.ristovski@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96593
Testcase: igt/kms_cursor_legacy/basic-flip-vs-cursor
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 1141b86..d4a7872 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11646,7 +11646,6 @@ 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,
@@ -14008,7 +14007,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 = drm_atomic_helper_page_flip,
+ .page_flip = intel_crtc_page_flip,
.atomic_duplicate_state = intel_crtc_duplicate_state,
.atomic_destroy_state = intel_crtc_destroy_state,
};
--
2.8.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* ✓ Ro.CI.BAT: success for Revert "drm/i915: Use atomic commits for legacy page_flips"
2016-06-24 12:44 [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips" Chris Wilson
@ 2016-06-24 13:12 ` Patchwork
2016-06-28 7:56 ` [PATCH] " Maarten Lankhorst
2016-06-28 13:54 ` Daniel Stone
2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2016-06-24 13:12 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: Revert "drm/i915: Use atomic commits for legacy page_flips"
URL : https://patchwork.freedesktop.org/series/9137/
State : success
== Summary ==
Series 9137v1 Revert "drm/i915: Use atomic commits for legacy page_flips"
http://patchwork.freedesktop.org/api/1.0/series/9137/revisions/1/mbox
Test kms_cursor_legacy:
Subgroup basic-cursor-vs-flip:
fail -> PASS (fi-skl-i5-6260u)
fail -> PASS (fi-snb-i7-2600)
fi-hsw-i7-4770k total:228 pass:195 dwarn:0 dfail:0 fail:0 skip:33
fi-kbl-qkkr total:228 pass:161 dwarn:28 dfail:0 fail:0 skip:39
fi-skl-i5-6260u total:228 pass:203 dwarn:0 dfail:0 fail:0 skip:25
fi-snb-i7-2600 total:228 pass:175 dwarn:0 dfail:0 fail:0 skip:53
fi-skl-i7-6700k failed to connect after reboot
ro-bdw-i7-5557U failed to connect after reboot
Results at /archive/results/CI_IGT_test/RO_Patchwork_1297/
8660f44 drm-intel-nightly: 2016y-06m-24d-11h-09m-19s UTC integration manifest
f24c9bb Revert "drm/i915: Use atomic commits for legacy page_flips"
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips"
2016-06-24 12:44 [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips" Chris Wilson
2016-06-24 13:12 ` ✓ Ro.CI.BAT: success for " Patchwork
@ 2016-06-28 7:56 ` Maarten Lankhorst
2016-06-28 8:35 ` Chris Wilson
2016-06-28 13:54 ` Daniel Stone
2 siblings, 1 reply; 7+ messages in thread
From: Maarten Lankhorst @ 2016-06-28 7:56 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: Daniel Vetter
Op 24-06-16 om 14:44 schreef Chris Wilson:
> This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f.
>
> Something appears to be off in the timing, but as far as I can tell it
> is not along the event delivery path. The net effect appears to be
> rendering flicker (the current render buffer appears on the scanout,
> with what appears to be active rendering for a fraction of a frame) and
> is causing me a headache.
>
> The cursor is also being stalled by page flips, causing a "heavy mouse"
> and jitter.
>
> Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
> Reported-by: Rafael Ristovski <rafael.ristovski@gmail.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96593
> Testcase: igt/kms_cursor_legacy/basic-flip-vs-cursor
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 1141b86..d4a7872 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -11646,7 +11646,6 @@ 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,
> @@ -14008,7 +14007,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 = drm_atomic_helper_page_flip,
> + .page_flip = intel_crtc_page_flip,
> .atomic_duplicate_state = intel_crtc_duplicate_state,
> .atomic_destroy_state = intel_crtc_destroy_state,
> };
This still wouldn't fix updates based on nonblocking atomic commits, though probably less likely.
Does this bug get fixed by "drm/i915: Don't stall too much for cursor vs. pageflip" ?
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips"
2016-06-28 7:56 ` [PATCH] " Maarten Lankhorst
@ 2016-06-28 8:35 ` Chris Wilson
2016-06-28 14:44 ` Maarten Lankhorst
0 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2016-06-28 8:35 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: Daniel Vetter, intel-gfx
On Tue, Jun 28, 2016 at 09:56:47AM +0200, Maarten Lankhorst wrote:
> Op 24-06-16 om 14:44 schreef Chris Wilson:
> > This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f.
> >
> > Something appears to be off in the timing, but as far as I can tell it
> > is not along the event delivery path. The net effect appears to be
> > rendering flicker (the current render buffer appears on the scanout,
> > with what appears to be active rendering for a fraction of a frame) and
> > is causing me a headache.
> >
> > The cursor is also being stalled by page flips, causing a "heavy mouse"
> > and jitter.
> >
> > Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
> > Reported-by: Rafael Ristovski <rafael.ristovski@gmail.com>
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96593
> > Testcase: igt/kms_cursor_legacy/basic-flip-vs-cursor
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_display.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 1141b86..d4a7872 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -11646,7 +11646,6 @@ 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,
> > @@ -14008,7 +14007,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 = drm_atomic_helper_page_flip,
> > + .page_flip = intel_crtc_page_flip,
> > .atomic_duplicate_state = intel_crtc_duplicate_state,
> > .atomic_destroy_state = intel_crtc_destroy_state,
> > };
>
> This still wouldn't fix updates based on nonblocking atomic commits, though probably less likely.
>
> Does this bug get fixed by "drm/i915: Don't stall too much for cursor vs. pageflip" ?
Only one side, cursor still stalls flips (or rather a flip can miss 10s of
vblanks under load), and the wrong buffers are still visible.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips"
2016-06-24 12:44 [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips" Chris Wilson
2016-06-24 13:12 ` ✓ Ro.CI.BAT: success for " Patchwork
2016-06-28 7:56 ` [PATCH] " Maarten Lankhorst
@ 2016-06-28 13:54 ` Daniel Stone
2 siblings, 0 replies; 7+ messages in thread
From: Daniel Stone @ 2016-06-28 13:54 UTC (permalink / raw)
To: Chris Wilson; +Cc: Daniel Vetter, intel-gfx
Hi Chris,
On 24 June 2016 at 22:44, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f.
>
> Something appears to be off in the timing, but as far as I can tell it
> is not along the event delivery path. The net effect appears to be
> rendering flicker (the current render buffer appears on the scanout,
> with what appears to be active rendering for a fraction of a frame) and
> is causing me a headache.
Does this change at all with the fixup in
https://lists.freedesktop.org/archives/intel-gfx/2016-June/099466.html
?
I was seeing no waits whatsoever for rendering, causing active
rendering to be visible towards positive x and negative y (top-right
corner) with this.
> The cursor is also being stalled by page flips, causing a "heavy mouse"
> and jitter.
This I can't attest to though.
Cheers,
Daniel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips"
2016-06-28 8:35 ` Chris Wilson
@ 2016-06-28 14:44 ` Maarten Lankhorst
2016-06-30 10:16 ` Chris Wilson
0 siblings, 1 reply; 7+ messages in thread
From: Maarten Lankhorst @ 2016-06-28 14:44 UTC (permalink / raw)
To: Chris Wilson, intel-gfx, Daniel Vetter
Op 28-06-16 om 10:35 schreef Chris Wilson:
> On Tue, Jun 28, 2016 at 09:56:47AM +0200, Maarten Lankhorst wrote:
>> Op 24-06-16 om 14:44 schreef Chris Wilson:
>>> This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f.
>>>
>>> Something appears to be off in the timing, but as far as I can tell it
>>> is not along the event delivery path. The net effect appears to be
>>> rendering flicker (the current render buffer appears on the scanout,
>>> with what appears to be active rendering for a fraction of a frame) and
>>> is causing me a headache.
>>>
>>> The cursor is also being stalled by page flips, causing a "heavy mouse"
>>> and jitter.
>>>
>>> Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
>>> Reported-by: Rafael Ristovski <rafael.ristovski@gmail.com>
>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96593
>>> Testcase: igt/kms_cursor_legacy/basic-flip-vs-cursor
>>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_display.c | 3 +--
>>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>>> index 1141b86..d4a7872 100644
>>> --- a/drivers/gpu/drm/i915/intel_display.c
>>> +++ b/drivers/gpu/drm/i915/intel_display.c
>>> @@ -11646,7 +11646,6 @@ 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,
>>> @@ -14008,7 +14007,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 = drm_atomic_helper_page_flip,
>>> + .page_flip = intel_crtc_page_flip,
>>> .atomic_duplicate_state = intel_crtc_duplicate_state,
>>> .atomic_destroy_state = intel_crtc_destroy_state,
>>> };
>> This still wouldn't fix updates based on nonblocking atomic commits, though probably less likely.
>>
>> Does this bug get fixed by "drm/i915: Don't stall too much for cursor vs. pageflip" ?
> Only one side, cursor still stalls flips (or rather a flip can miss 10s of
> vblanks under load), and the wrong buffers are still visible.
> -Chris
Since this only affects legacy page flips the fix is fine for now till we fix the root cause.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips"
2016-06-28 14:44 ` Maarten Lankhorst
@ 2016-06-30 10:16 ` Chris Wilson
0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2016-06-30 10:16 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: Daniel Vetter, intel-gfx
On Tue, Jun 28, 2016 at 04:44:42PM +0200, Maarten Lankhorst wrote:
> Op 28-06-16 om 10:35 schreef Chris Wilson:
> > On Tue, Jun 28, 2016 at 09:56:47AM +0200, Maarten Lankhorst wrote:
> >> Op 24-06-16 om 14:44 schreef Chris Wilson:
> >>> This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f.
> >>>
> >>> Something appears to be off in the timing, but as far as I can tell it
> >>> is not along the event delivery path. The net effect appears to be
> >>> rendering flicker (the current render buffer appears on the scanout,
> >>> with what appears to be active rendering for a fraction of a frame) and
> >>> is causing me a headache.
> >>>
> >>> The cursor is also being stalled by page flips, causing a "heavy mouse"
> >>> and jitter.
> >>>
> >>> Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
> >>> Reported-by: Rafael Ristovski <rafael.ristovski@gmail.com>
> >>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96593
> >>> Testcase: igt/kms_cursor_legacy/basic-flip-vs-cursor
> >>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> >>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> >>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> >>> ---
> >>> drivers/gpu/drm/i915/intel_display.c | 3 +--
> >>> 1 file changed, 1 insertion(+), 2 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> >>> index 1141b86..d4a7872 100644
> >>> --- a/drivers/gpu/drm/i915/intel_display.c
> >>> +++ b/drivers/gpu/drm/i915/intel_display.c
> >>> @@ -11646,7 +11646,6 @@ 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,
> >>> @@ -14008,7 +14007,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 = drm_atomic_helper_page_flip,
> >>> + .page_flip = intel_crtc_page_flip,
> >>> .atomic_duplicate_state = intel_crtc_duplicate_state,
> >>> .atomic_destroy_state = intel_crtc_destroy_state,
> >>> };
> >> This still wouldn't fix updates based on nonblocking atomic commits, though probably less likely.
> >>
> >> Does this bug get fixed by "drm/i915: Don't stall too much for cursor vs. pageflip" ?
> > Only one side, cursor still stalls flips (or rather a flip can miss 10s of
> > vblanks under load), and the wrong buffers are still visible.
> > -Chris
> Since this only affects legacy page flips the fix is fine for now till we fix the root cause.
>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
I've pushed this now. Daniel has undoubtably found the cause of the
tearing bug, but he is also right that with one old/new state mixup
there is likely more. Then there is the challenge of getting
nonblocking cursors and unstalling flips.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-06-30 10:16 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 12:44 [PATCH] Revert "drm/i915: Use atomic commits for legacy page_flips" Chris Wilson
2016-06-24 13:12 ` ✓ Ro.CI.BAT: success for " Patchwork
2016-06-28 7:56 ` [PATCH] " Maarten Lankhorst
2016-06-28 8:35 ` Chris Wilson
2016-06-28 14:44 ` Maarten Lankhorst
2016-06-30 10:16 ` Chris Wilson
2016-06-28 13:54 ` Daniel Stone
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.