openwrt/target/linux/bcm27xx/patches-6.6/950-0886-drm-vc4-Disable-overrun-interrupts.patch

41 lines
1.4 KiB
Diff
Raw Normal View History

From 8dec337920a708a94bd0e00badacfe1f27a6a12e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Wed, 24 Jan 2024 16:35:11 +0000
Subject: [PATCH 0886/1085] drm/vc4: Disable overrun interrupts
We have a read-modify-write race when updating SCALER_DISPCTRL for
underrun and end-of-frame interrupts.
Ideally it would be fixed via a spinlock or similar, but that will
require a reasonable amount of study to ensure we don't get deadlocks.
The underrun reporting is only for debug, so disable it for now.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
drivers/gpu/drm/vc4/vc4_kms.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
@@ -868,7 +868,7 @@ static void vc4_crtc_handle_page_flip(st
* the CRTC and encoder already reconfigured, leading to
* underruns. This can be seen when reconfiguring the CRTC.
*/
- if (vc4->gen < VC4_GEN_6)
+ if (0 && vc4->gen < VC4_GEN_6)
vc4_hvs_unmask_underrun(hvs, chan);
}
spin_unlock(&vc4_crtc->irq_lock);
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -391,7 +391,7 @@ static void vc4_atomic_commit_tail(struc
if (WARN_ON(IS_ERR(new_hvs_state)))
return;
- if (vc4->gen < VC4_GEN_6) {
+ if (0 && vc4->gen < VC4_GEN_6) {
struct drm_crtc_state *new_crtc_state;
struct drm_crtc *crtc;
int i;