drm/ast: Don't check new mode if CRTC is being disabled
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 7 May 2020 09:06:40 +0000 (11:06 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 8 May 2020 07:29:18 +0000 (09:29 +0200)
Suspending failed because there's no mode if the CRTC is being
disabled. Early-out in this case. This fixes runtime PM for ast.

v3:
* fixed commit message
v2:
* added Tested-by/Reported-by tags
* added Fixes tags and CC (Sam)
* improved comment

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reported-by: Cary Garrett <cogarre@gmail.com>
Tested-by: Cary Garrett <cogarre@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Fixes: b48e1b6ffd28 ("drm/ast: Add CRTC helpers for atomic modesetting")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: <stable@vger.kernel.org> # v5.6+
Link: https://patchwork.freedesktop.org/patch/msgid/20200507090640.21561-1-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_mode.c

index 4ddf77045759e210fb0f9192ed54ef7e100ce3e1..7d39b858c9f1fbbfe68b6d2f0ad353f46b9ed99a 100644 (file)
@@ -802,6 +802,9 @@ static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc,
                return -EINVAL;
        }
 
+       if (!state->enable)
+               return 0; /* no mode checks if CRTC is being disabled */
+
        ast_state = to_ast_crtc_state(state);
 
        format = ast_state->format;