diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-07-08 05:22:23 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2017-12-08 07:19:58 -0500 |
commit | c93dfdcd0521cbdfccab147c5c5a615ba9977a89 (patch) | |
tree | c7c5fbd191c422e8ffe4508c54d7b783ea529231 | |
parent | 7bfab1ec45b4005d3f12bbb0cc281f0afd29fc3d (diff) |
drm/armada: allow armada_drm_plane_work_queue() to silently fail
Avoid printing an error message when armada_drm_plane_work_queue() is
unable to get the vblank (eg, because we're doing a modeset.) Continue
to report the failure to the caller, so the caller can handle this.
Move the error message into armada_ovl_plane_update().
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-rw-r--r-- | drivers/gpu/drm/armada/armada_crtc.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/armada/armada_overlay.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c index 401ad854d751..2f8e45976444 100644 --- a/drivers/gpu/drm/armada/armada_crtc.c +++ b/drivers/gpu/drm/armada/armada_crtc.c | |||
@@ -254,10 +254,8 @@ int armada_drm_plane_work_queue(struct armada_crtc *dcrtc, | |||
254 | int ret; | 254 | int ret; |
255 | 255 | ||
256 | ret = drm_crtc_vblank_get(&dcrtc->crtc); | 256 | ret = drm_crtc_vblank_get(&dcrtc->crtc); |
257 | if (ret) { | 257 | if (ret) |
258 | DRM_ERROR("failed to acquire vblank counter\n"); | ||
259 | return ret; | 258 | return ret; |
260 | } | ||
261 | 259 | ||
262 | ret = cmpxchg(&plane->work, NULL, work) ? -EBUSY : 0; | 260 | ret = cmpxchg(&plane->work, NULL, work) ? -EBUSY : 0; |
263 | if (ret) | 261 | if (ret) |
diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c index 010f3e438607..53edf42c5863 100644 --- a/drivers/gpu/drm/armada/armada_overlay.c +++ b/drivers/gpu/drm/armada/armada_overlay.c | |||
@@ -245,7 +245,9 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, | |||
245 | if (idx) { | 245 | if (idx) { |
246 | armada_reg_queue_end(work->regs, idx); | 246 | armada_reg_queue_end(work->regs, idx); |
247 | /* Queue it for update on the next interrupt if we are enabled */ | 247 | /* Queue it for update on the next interrupt if we are enabled */ |
248 | armada_drm_plane_work_queue(dcrtc, work); | 248 | ret = armada_drm_plane_work_queue(dcrtc, work); |
249 | if (ret) | ||
250 | DRM_ERROR("failed to queue plane work: %d\n", ret); | ||
249 | } | 251 | } |
250 | return 0; | 252 | return 0; |
251 | } | 253 | } |