diff options
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.patch | 50 |
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) |