drm/v3d: Take a lock across GPU scheduler job creation and queuing.
authorEric Anholt <eric@anholt.net>
Wed, 6 Jun 2018 17:48:51 +0000 (10:48 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 21 Jun 2018 21:46:04 +0000 (14:46 -0700)
commit7122b68b8a9692dcc3acf89595f04c492872115f
treec1bbdd237d54dca2fb474dbcc8c5b690bd26fc98
parent6aa13402c11035a428d8c621b334734971d5d39d
drm/v3d: Take a lock across GPU scheduler job creation and queuing.

Between creation and queueing of a job, you need to prevent any other
job from being created and queued.  Otherwise the scheduler's fences
may be signaled out of seqno order.

v2: move mutex unlock to the error label.

Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: 57692c94dcbe ("drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+")
Link: https://patchwork.freedesktop.org/patch/msgid/20180606174851.12433-1-eric@anholt.net
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/v3d/v3d_drv.h
drivers/gpu/drm/v3d/v3d_gem.c