drm/ingenic: Handle errors of drm_atomic_get_plane_state
drm_atomic_get_plane_state() can return errors, so we need to handle these. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20200728151641.26124-2-paul@crapouillou.net
This commit is contained in:
Родитель
d69de69f2b
Коммит
c114e72313
|
@ -215,10 +215,17 @@ static int ingenic_drm_crtc_atomic_check(struct drm_crtc *crtc,
|
||||||
|
|
||||||
if (priv->soc_info->has_osd) {
|
if (priv->soc_info->has_osd) {
|
||||||
f1_state = drm_atomic_get_plane_state(state->state, &priv->f1);
|
f1_state = drm_atomic_get_plane_state(state->state, &priv->f1);
|
||||||
|
if (IS_ERR(f1_state))
|
||||||
|
return PTR_ERR(f1_state);
|
||||||
|
|
||||||
f0_state = drm_atomic_get_plane_state(state->state, &priv->f0);
|
f0_state = drm_atomic_get_plane_state(state->state, &priv->f0);
|
||||||
|
if (IS_ERR(f0_state))
|
||||||
|
return PTR_ERR(f0_state);
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_DRM_INGENIC_IPU) && priv->ipu_plane) {
|
if (IS_ENABLED(CONFIG_DRM_INGENIC_IPU) && priv->ipu_plane) {
|
||||||
ipu_state = drm_atomic_get_plane_state(state->state, priv->ipu_plane);
|
ipu_state = drm_atomic_get_plane_state(state->state, priv->ipu_plane);
|
||||||
|
if (IS_ERR(ipu_state))
|
||||||
|
return PTR_ERR(ipu_state);
|
||||||
|
|
||||||
/* IPU and F1 planes cannot be enabled at the same time. */
|
/* IPU and F1 planes cannot be enabled at the same time. */
|
||||||
if (f1_state->fb && ipu_state->fb) {
|
if (f1_state->fb && ipu_state->fb) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче