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, |
