diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0098-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0098-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0098-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch b/target/linux/bcm27xx/patches-5.4/950-0098-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch deleted file mode 100644 index 97e1a0a383..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0098-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 33e5892858fc43e06037f8acc685f836a7d1a3e5 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH] drm/vc4: Fix sending of page flip completion events - in FKMS mode. - -In the rewrite of vc4_crtc.c for fkms, I dropped the part of the -CRTC's atomic flush handler that moved the completion event from the -proposed atomic state change to the CRTC's current state. That meant -that when full screen pageflipping happened (glxgears -fullscreen in -X, compton, por weston), the app would end up blocked firever waiting -to draw its next frame. - -Signed-off-by: Eric Anholt <eric@anholt.net> ---- - drivers/gpu/drm/vc4/vc4_firmware_kms.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - ---- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c -+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -336,6 +336,21 @@ static int vc4_crtc_atomic_check(struct - static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, - struct drm_crtc_state *old_state) - { -+ struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); -+ struct drm_device *dev = crtc->dev; -+ -+ if (crtc->state->event) { -+ unsigned long flags; -+ -+ crtc->state->event->pipe = drm_crtc_index(crtc); -+ -+ WARN_ON(drm_crtc_vblank_get(crtc) != 0); -+ -+ spin_lock_irqsave(&dev->event_lock, flags); -+ vc4_crtc->event = crtc->state->event; -+ crtc->state->event = NULL; -+ spin_unlock_irqrestore(&dev->event_lock, flags); -+ } - } - - static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) |