On 10.11.2015 17:41, Thierry Reding wrote: > On Tue, Nov 10, 2015 at 05:37:31PM +0100, Thierry Reding wrote: >> From: Daniel Vetter <daniel.vetter@xxxxxxxx> >> >> Apparently pre-nv50 pageflip events happen before the actual vblank >> period. Therefore that functionality got semi-disabled in >> >> commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28 >> Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> >> Date: Tue May 13 00:42:08 2014 +0200 >> >> drm/nouveau/kms/nv04-nv40: fix pageflip events via special case. >> >> Unfortunately that hack got uprooted in >> >> commit cc1ef118fc099295ae6aabbacc8af94d8d8885eb >> Author: Thierry Reding <treding@xxxxxxxxxx> >> Date: Wed Aug 12 17:00:31 2015 +0200 >> >> drm/irq: Make pipe unsigned and name consistent >> >> Triggering a warning when trying to sample the vblank timestamp for a >> non-existing pipe. There's a few ways to fix this: >> >> - Open-code the old behaviour, which just enshrines this slight >> breakage of the userspace ABI. >> >> - Revert Mario's commit and again inflict broken timestamps, again not >> pretty. >> >> - Fix this for real by delaying the pageflip TS until the next vblank >> interrupt, thereby making it accurate. >> >> This patch implements the third option. Since having a page flip >> interrupt that happens when the pageflip gets armed and not when it >> completes in the next vblank seems to be fairly common (older i915 hw >> works very similarly) create a new helper to arm vblank events for >> such drivers. >> >> v2 (Mario Kleiner): >> - Fix function prototypes in drmP.h >> - Add missing vblank_put() for pageflip completion without >> pageflip event. >> - Initialize sequence number for queued pageflip event to avoid >> trouble in drm_handle_vblank_events(). >> - Remove dead code and spelling fix. >> >> v3 (Mario Kleiner): >> - Add a signed-off-by and cc stable tag per Ilja's advice. >> >> v4 (Thierry Reding): >> - Fix kerneldoc typo, discovered by Michel Dänzer >> - Rearrange tags and changelog >> >> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106431 >> Cc: Thierry Reding <treding@xxxxxxxxxx> >> Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> >> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> >> Cc: Ilia Mirkin <imirkin@xxxxxxxxxxxx> >> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> >> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> >> Cc: stable@xxxxxxxxxxxxxxx # v4.3 >> Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> >> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> >> --- >> drivers/gpu/drm/drm_irq.c | 54 ++++++++++++++++++++++++++++++- >> drivers/gpu/drm/nouveau/nouveau_display.c | 19 ++++++----- >> include/drm/drmP.h | 4 +++ >> 3 files changed, 68 insertions(+), 9 deletions(-) > > Hi Dave, > > It'd be great if you could queue this up for fixes, since it gets rid of > a WARN_ON() that is triggered on a number of cards in v4.3. I realize > that this is a tad big for stable, but it's the right way to fix this. > If you'd prefer something smaller, I think we can fix the regression > using a one-line band-aid and then apply this one on top for v4.4. > > Thierry > Apparently not reached @stable (stable: 4.3.3 2015-12-15), so here's one more time. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel