brcm2708: update to latest patches from RPi foundation
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.19 / 950-0313-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0313-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch b/target/linux/brcm2708/patches-4.19/950-0313-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
new file mode 100644 (file)
index 0000000..545541f
--- /dev/null
@@ -0,0 +1,28 @@
+From dd5fa07672eb01a4d90dfa39a4c54eaa0e086386 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
+@@ -222,7 +222,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;