diff options
author | Rob Clark <robdclark@gmail.com> | 2016-06-16 16:37:38 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2016-09-15 17:43:51 -0400 |
commit | f44d32c79fd591179820d6ce4645c4c2799e6d40 (patch) | |
tree | d5e8e441dca58618ac700c384d3c3981fc8d8332 /drivers/gpu/drm/msm | |
parent | f0a42bb5423a1387e54a2d3451a10d4358b8cfb6 (diff) |
drm/msm: move fence allocation out of msm_gpu_submit()
Prep work for next patch.
Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gem_submit.c | 9 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/msm_gpu.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/msm_gpu.h | 2 |
3 files changed, 11 insertions, 13 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c index 3a4a8ddeb1db..65284febb2f9 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c | |||
@@ -488,7 +488,14 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, | |||
488 | 488 | ||
489 | submit->nr_cmds = i; | 489 | submit->nr_cmds = i; |
490 | 490 | ||
491 | ret = msm_gpu_submit(gpu, submit, ctx); | 491 | submit->fence = msm_fence_alloc(gpu->fctx); |
492 | if (IS_ERR(submit->fence)) { | ||
493 | ret = PTR_ERR(submit->fence); | ||
494 | submit->fence = NULL; | ||
495 | goto out; | ||
496 | } | ||
497 | |||
498 | msm_gpu_submit(gpu, submit, ctx); | ||
492 | 499 | ||
493 | args->fence = submit->fence->seqno; | 500 | args->fence = submit->fence->seqno; |
494 | 501 | ||
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 36ed53e661fe..5bb09838b5ae 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c | |||
@@ -509,22 +509,15 @@ void msm_gpu_retire(struct msm_gpu *gpu) | |||
509 | } | 509 | } |
510 | 510 | ||
511 | /* add bo's to gpu's ring, and kick gpu: */ | 511 | /* add bo's to gpu's ring, and kick gpu: */ |
512 | int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, | 512 | void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, |
513 | struct msm_file_private *ctx) | 513 | struct msm_file_private *ctx) |
514 | { | 514 | { |
515 | struct drm_device *dev = gpu->dev; | 515 | struct drm_device *dev = gpu->dev; |
516 | struct msm_drm_private *priv = dev->dev_private; | 516 | struct msm_drm_private *priv = dev->dev_private; |
517 | int i, ret; | 517 | int i; |
518 | 518 | ||
519 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); | 519 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); |
520 | 520 | ||
521 | submit->fence = msm_fence_alloc(gpu->fctx); | ||
522 | if (IS_ERR(submit->fence)) { | ||
523 | ret = PTR_ERR(submit->fence); | ||
524 | submit->fence = NULL; | ||
525 | return ret; | ||
526 | } | ||
527 | |||
528 | inactive_cancel(gpu); | 521 | inactive_cancel(gpu); |
529 | 522 | ||
530 | list_add_tail(&submit->node, &gpu->submit_list); | 523 | list_add_tail(&submit->node, &gpu->submit_list); |
@@ -557,8 +550,6 @@ int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, | |||
557 | priv->lastctx = ctx; | 550 | priv->lastctx = ctx; |
558 | 551 | ||
559 | hangcheck_timer_reset(gpu); | 552 | hangcheck_timer_reset(gpu); |
560 | |||
561 | return 0; | ||
562 | } | 553 | } |
563 | 554 | ||
564 | /* | 555 | /* |
diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h index c9022837a1a4..d61d98a6e047 100644 --- a/drivers/gpu/drm/msm/msm_gpu.h +++ b/drivers/gpu/drm/msm/msm_gpu.h | |||
@@ -163,7 +163,7 @@ int msm_gpu_perfcntr_sample(struct msm_gpu *gpu, uint32_t *activetime, | |||
163 | uint32_t *totaltime, uint32_t ncntrs, uint32_t *cntrs); | 163 | uint32_t *totaltime, uint32_t ncntrs, uint32_t *cntrs); |
164 | 164 | ||
165 | void msm_gpu_retire(struct msm_gpu *gpu); | 165 | void msm_gpu_retire(struct msm_gpu *gpu); |
166 | int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, | 166 | void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, |
167 | struct msm_file_private *ctx); | 167 | struct msm_file_private *ctx); |
168 | 168 | ||
169 | int msm_gpu_init(struct drm_device *drm, struct platform_device *pdev, | 169 | int msm_gpu_init(struct drm_device *drm, struct platform_device *pdev, |