Skip to content

Commit

Permalink
drm/msm: move fence allocation out of msm_gpu_submit()
Browse files Browse the repository at this point in the history
Prep work for next patch.

Signed-off-by: Rob Clark <robdclark@gmail.com>
  • Loading branch information
Rob Clark committed Sep 15, 2016
1 parent f0a42bb commit f44d32c
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 13 deletions.
9 changes: 8 additions & 1 deletion drivers/gpu/drm/msm/msm_gem_submit.c
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,14 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,

submit->nr_cmds = i;

ret = msm_gpu_submit(gpu, submit, ctx);
submit->fence = msm_fence_alloc(gpu->fctx);
if (IS_ERR(submit->fence)) {
ret = PTR_ERR(submit->fence);
submit->fence = NULL;
goto out;
}

msm_gpu_submit(gpu, submit, ctx);

args->fence = submit->fence->seqno;

Expand Down
13 changes: 2 additions & 11 deletions drivers/gpu/drm/msm/msm_gpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -509,22 +509,15 @@ void msm_gpu_retire(struct msm_gpu *gpu)
}

/* add bo's to gpu's ring, and kick gpu: */
int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit,
void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit,
struct msm_file_private *ctx)
{
struct drm_device *dev = gpu->dev;
struct msm_drm_private *priv = dev->dev_private;
int i, ret;
int i;

WARN_ON(!mutex_is_locked(&dev->struct_mutex));

submit->fence = msm_fence_alloc(gpu->fctx);
if (IS_ERR(submit->fence)) {
ret = PTR_ERR(submit->fence);
submit->fence = NULL;
return ret;
}

inactive_cancel(gpu);

list_add_tail(&submit->node, &gpu->submit_list);
Expand Down Expand Up @@ -557,8 +550,6 @@ int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit,
priv->lastctx = ctx;

hangcheck_timer_reset(gpu);

return 0;
}

/*
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/msm/msm_gpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ int msm_gpu_perfcntr_sample(struct msm_gpu *gpu, uint32_t *activetime,
uint32_t *totaltime, uint32_t ncntrs, uint32_t *cntrs);

void msm_gpu_retire(struct msm_gpu *gpu);
int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit,
void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit,
struct msm_file_private *ctx);

int msm_gpu_init(struct drm_device *drm, struct platform_device *pdev,
Expand Down

0 comments on commit f44d32c

Please sign in to comment.