提交 7502add2 编写于 作者: D Dave Airlie

Merge branch 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux into drm-fixes

a single fix to keep fence seqnos of completed jobs monotonically
increasing, as expected in various locations of the driver code. Also
tagged for stable.

* 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux:
  drm/etnaviv: (re-)protect fence allocation with GPU mutex
...@@ -1311,6 +1311,8 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu, ...@@ -1311,6 +1311,8 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
goto out_pm_put; goto out_pm_put;
} }
mutex_lock(&gpu->lock);
fence = etnaviv_gpu_fence_alloc(gpu); fence = etnaviv_gpu_fence_alloc(gpu);
if (!fence) { if (!fence) {
event_free(gpu, event); event_free(gpu, event);
...@@ -1318,8 +1320,6 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu, ...@@ -1318,8 +1320,6 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
goto out_pm_put; goto out_pm_put;
} }
mutex_lock(&gpu->lock);
gpu->event[event].fence = fence; gpu->event[event].fence = fence;
submit->fence = fence->seqno; submit->fence = fence->seqno;
gpu->active_fence = submit->fence; gpu->active_fence = submit->fence;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册