From 8c9e29769a8f0f8b3d9420bd6b21ad48b761d463 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 24 Jan 2024 16:35:11 +0000 Subject: [PATCH] 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 --- drivers/gpu/drm/vc4/vc4_crtc.c | 2 +- drivers/gpu/drm/vc4/vc4_kms.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c index 10039764fe7805..b86b5dc00c1530 100644 --- 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(struct vc4_crtc *vc4_crtc) * 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); diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c index 964ecf551a0960..ea66914ed5ea09 100644 --- 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(struct drm_atomic_state *state) 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;