aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2017-09-29 07:49:49 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-12-19 03:32:00 -0500
commitb7ea6b286c4051e043f691781785e3c4672f014a (patch)
treec9ee694af3fc533677b5bcced062766e9cbf965a /drivers
parentb8c456d31b64e46b68b6de4e209bd906f10aa314 (diff)
drm/omap: DMM: Check for DMM readiness after successful transaction commit
Check the status of the DMM engine after it is reported that the transaction was completed as in rare cases the engine might not reached a working state. The wait_status() will print information in case the DMM is not reached the expected state and the dmm_txn_commit() will return with an error code to make sure that we are not continuing with a broken setup. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/omapdrm/omap_dmm_tiler.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index d7f2940cb596..d348e20fe10c 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -311,7 +311,12 @@ static int dmm_txn_commit(struct dmm_txn *txn, bool wait)
311 msecs_to_jiffies(100))) { 311 msecs_to_jiffies(100))) {
312 dev_err(dmm->dev, "timed out waiting for done\n"); 312 dev_err(dmm->dev, "timed out waiting for done\n");
313 ret = -ETIMEDOUT; 313 ret = -ETIMEDOUT;
314 goto cleanup;
314 } 315 }
316
317 /* Check the engine status before continue */
318 ret = wait_status(engine, DMM_PATSTATUS_READY |
319 DMM_PATSTATUS_VALID | DMM_PATSTATUS_DONE);
315 } 320 }
316 321
317cleanup: 322cleanup: