diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2020-08-08 00:07:21 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2020-09-22 14:10:05 +0300 |
commit | f4dfa76d73f76eb0b0016d8ebacebb85db743018 (patch) | |
tree | 84e51a549d43b6581e204a7fc7af554d735d5907 /drivers | |
parent | dc86d6bc9bc3d0080bd18b54777a22b70eae4aa6 (diff) | |
download | linux-stable-f4dfa76d73f76eb0b0016d8ebacebb85db743018.tar.gz linux-stable-f4dfa76d73f76eb0b0016d8ebacebb85db743018.tar.bz2 linux-stable-f4dfa76d73f76eb0b0016d8ebacebb85db743018.zip |
drm: rcar-du: Fix crash when enabling a non-visible plane
The DU driver handles non-visible planes (fully clipped by the display's
boundaries) by considering them as disabled. It thus disables the plane
at the hardware level when the plane is moved off-screen. However, if
the plane was previously disabled and is non-visible when it gets
enabled, the attempt to disable it crashes, as the plane wasn't
previously enabled. Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c index f1a81c9b184d..ff233a7b398d 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c @@ -279,7 +279,7 @@ static void rcar_du_vsp_plane_atomic_update(struct drm_plane *plane, if (plane->state->visible) rcar_du_vsp_plane_setup(rplane); - else + else if (old_state->crtc) vsp1_du_atomic_update(rplane->vsp->vsp, crtc->vsp_pipe, rplane->index, NULL); } |