diff options
Diffstat (limited to 'drivers/gpu/drm/tidss/tidss_plane.c')
-rw-r--r-- | drivers/gpu/drm/tidss/tidss_plane.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/gpu/drm/tidss/tidss_plane.c b/drivers/gpu/drm/tidss/tidss_plane.c index fe2c41f0cd4f..6bdd6e4a955a 100644 --- a/drivers/gpu/drm/tidss/tidss_plane.c +++ b/drivers/gpu/drm/tidss/tidss_plane.c @@ -113,7 +113,6 @@ static void tidss_plane_atomic_update(struct drm_plane *plane, struct drm_plane_state *new_state = drm_atomic_get_new_plane_state(state, plane); u32 hw_videoport; - int ret; dev_dbg(ddev->dev, "%s\n", __func__); @@ -124,15 +123,17 @@ static void tidss_plane_atomic_update(struct drm_plane *plane, hw_videoport = to_tidss_crtc(new_state->crtc)->hw_videoport; - ret = dispc_plane_setup(tidss->dispc, tplane->hw_plane_id, - new_state, hw_videoport); + dispc_plane_setup(tidss->dispc, tplane->hw_plane_id, new_state, hw_videoport); +} - if (ret) { - dev_err(plane->dev->dev, "%s: Failed to setup plane %d\n", - __func__, tplane->hw_plane_id); - dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, false); - return; - } +static void tidss_plane_atomic_enable(struct drm_plane *plane, + struct drm_atomic_state *state) +{ + struct drm_device *ddev = plane->dev; + struct tidss_device *tidss = to_tidss(ddev); + struct tidss_plane *tplane = to_tidss_plane(plane); + + dev_dbg(ddev->dev, "%s\n", __func__); dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, true); } @@ -160,6 +161,7 @@ static void drm_plane_destroy(struct drm_plane *plane) static const struct drm_plane_helper_funcs tidss_plane_helper_funcs = { .atomic_check = tidss_plane_atomic_check, .atomic_update = tidss_plane_atomic_update, + .atomic_enable = tidss_plane_atomic_enable, .atomic_disable = tidss_plane_atomic_disable, }; |