aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0108-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0108-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0108-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0108-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch b/target/linux/bcm27xx/patches-5.4/950-0108-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
new file mode 100644
index 0000000000..73525d1c2c
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.4/950-0108-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
@@ -0,0 +1,28 @@
+From 345bf435405d58243c39d64a19a130a4a51c7fac Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Mon, 5 Feb 2018 18:53:18 +0000
+Subject: [PATCH] drm/vc4: Don't wait for vblank on fkms cursor
+ updates.
+
+We don't use the same async update path between fkms and normal kms,
+and the normal kms workaround ended up making us wait. This became a
+larger problem in rpi-4.14.y, as the USB HID update rate throttling
+got (accidentally?) dropped.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_kms.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_kms.c
+@@ -240,7 +240,8 @@ static int vc4_atomic_commit(struct drm_
+ * drm_atomic_helper_setup_commit() from auto-completing
+ * commit->flip_done.
+ */
+- state->legacy_cursor_update = false;
++ if (!vc4->firmware_kms)
++ state->legacy_cursor_update = false;
+ ret = drm_atomic_helper_setup_commit(state, nonblock);
+ if (ret)
+ return ret;