diff options
author | Maxime Ripard <maxime@cerno.tech> | 2022-03-31 16:37:41 +0200 |
---|---|---|
committer | Maxime Ripard <maxime@cerno.tech> | 2022-04-06 15:18:01 +0200 |
commit | a7609858bfcd6a700853f669719764991ac15120 (patch) | |
tree | 8b8f5e64f060e51bd0eed35ffef1be04e310c674 /drivers/gpu/drm/vc4/vc4_hvs.c | |
parent | e418639d19f5f3d4dbc541fd3d40f921f202d356 (diff) | |
download | linux-stable-a7609858bfcd6a700853f669719764991ac15120.tar.gz linux-stable-a7609858bfcd6a700853f669719764991ac15120.tar.bz2 linux-stable-a7609858bfcd6a700853f669719764991ac15120.zip |
drm/vc4: hvs: Remove dlist setup duplication
Setting the DISPLISTx register needs to occur in every case, and we
don't need to protect the register using the event_lock, so we can just
move it after the if branches and simplify a bit the function.
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20220331143744.777652-5-maxime@cerno.tech
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_hvs.c')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_hvs.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c index d225eea6e640..71aa5081eaa3 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -402,15 +402,12 @@ static void vc4_hvs_update_dlist(struct drm_crtc *crtc) crtc->state->event = NULL; } - HVS_WRITE(SCALER_DISPLISTX(vc4_state->assigned_channel), - vc4_state->mm.start); - spin_unlock_irqrestore(&dev->event_lock, flags); - } else { - HVS_WRITE(SCALER_DISPLISTX(vc4_state->assigned_channel), - vc4_state->mm.start); } + HVS_WRITE(SCALER_DISPLISTX(vc4_state->assigned_channel), + vc4_state->mm.start); + spin_lock_irqsave(&vc4_crtc->irq_lock, flags); vc4_crtc->current_dlist = vc4_state->mm.start; spin_unlock_irqrestore(&vc4_crtc->irq_lock, flags); |