aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch b/target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch
new file mode 100644
index 0000000000..ca271279c4
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch
@@ -0,0 +1,50 @@
+From 3adbeebf1fb33937d8b5ef52103b7721621c57b1 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Date: Tue, 1 Dec 2020 14:57:41 +0000
+Subject: [PATCH] drm/vc4: Fixup fkms for API change
+
+Atomic flush and check changed API, so fix up the downstream-only
+FKMS driver.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+---
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -1107,16 +1107,18 @@ vc4_crtc_mode_valid(struct drm_crtc *crt
+ }
+
+ static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
+- struct drm_crtc_state *state)
++ struct drm_atomic_state *state)
+ {
+- struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state);
++ struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
++ crtc);
++ struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc_state);
+ struct drm_connector *conn;
+ struct drm_connector_state *conn_state;
+ int i;
+
+ DRM_DEBUG_KMS("[CRTC:%d] crtc_atomic_check.\n", crtc->base.id);
+
+- for_each_new_connector_in_state(state->state, conn, conn_state, i) {
++ for_each_new_connector_in_state(crtc_state->state, conn, conn_state, i) {
+ if (conn_state->crtc != crtc)
+ continue;
+
+@@ -1130,8 +1132,11 @@ static int vc4_crtc_atomic_check(struct
+ }
+
+ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc,
+- struct drm_crtc_state *old_state)
++ struct drm_atomic_state *state)
+ {
++ struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state,
++ crtc);
++
+ DRM_DEBUG_KMS("[CRTC:%d] crtc_atomic_flush.\n",
+ crtc->base.id);
+ if (crtc->state->active && old_state->active && crtc->state->event)