forked from Minki/linux
drm/ast: Enable primary plane with CRTC
As the CRTC requires a primary plane for display, ensure that the primary plane is enabled with the CRTC. Use drm_atomic_helper_check_crtc_state(). Add all affected planes to the atomic state so that their state will be checked as well. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Jocelyn Falempe <jfalempe@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220617103226.25617-4-tzimmermann@suse.de
This commit is contained in:
parent
dc2cdd17d1
commit
016a14beac
@ -1108,15 +1108,19 @@ ast_crtc_helper_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode
|
||||
static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc,
|
||||
struct drm_atomic_state *state)
|
||||
{
|
||||
struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
|
||||
crtc);
|
||||
struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
|
||||
struct drm_device *dev = crtc->dev;
|
||||
struct ast_crtc_state *ast_state;
|
||||
const struct drm_format_info *format;
|
||||
bool succ;
|
||||
int ret;
|
||||
|
||||
ret = drm_atomic_helper_check_crtc_state(crtc_state, false);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (!crtc_state->enable)
|
||||
return 0; /* no mode checks if CRTC is being disabled */
|
||||
goto out;
|
||||
|
||||
ast_state = to_ast_crtc_state(crtc_state);
|
||||
|
||||
@ -1130,7 +1134,8 @@ static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc,
|
||||
if (!succ)
|
||||
return -EINVAL;
|
||||
|
||||
return 0;
|
||||
out:
|
||||
return drm_atomic_add_affected_planes(state, crtc);
|
||||
}
|
||||
|
||||
static void ast_crtc_helper_atomic_begin(struct drm_crtc *crtc, struct drm_atomic_state *state)
|
||||
|
Loading…
Reference in New Issue
Block a user