OSDN Git Service

HACK: drm/omap: always use blocking DMM fill
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 28 Apr 2015 11:01:34 +0000 (14:01 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 3 Mar 2016 15:36:40 +0000 (17:36 +0200)
commit2bb2daf3fa8a97e09d3006be003343ae717b3213
treecf8ccb8c6b94bca008bdf64713b6f56cbf4f9f26
parent4e4b53ceb59301b2a1dbf3a9f74ce5e17f64287d
HACK: drm/omap: always use blocking DMM fill

The current driver uses non-blocking DMM fill when releasing memory.
This gives us a small performance increase as we don't have to wait for
the fill operation to finish.

However, the driver does not have any error handling for non-blocking
fill. In case of an error, the fill operation may silently fail, leading
to leaking DMM engines, which may eventually lead to deadlock if we run
out of DMM engines.

This patch makes the DMM driver always use blocking fills, so that we
can catch the errors. A more complex option would be to allow
non-blocking fills, and implement proper error handling, but that is
left for the future.

This patch is a HACK, as the proper fix is to either decide to always
use sync fills and remove all the async related code, or fix the async
code.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c