drm/msm: Small submit cleanup
Move more initialization into submit_create(). Signed-off-by: Rob Clark <robdclark@chromium.org> Patchwork: https://patchwork.freedesktop.org/patch/496120/ Link: https://lore.kernel.org/r/20220802155152.1727594-3-robdclark@gmail.com
This commit is contained in:
parent
f0de40a131
commit
fc1dd04c38
@ -26,6 +26,7 @@ static struct msm_gem_submit *submit_create(struct drm_device *dev,
|
||||
struct msm_gpu_submitqueue *queue, uint32_t nr_bos,
|
||||
uint32_t nr_cmds)
|
||||
{
|
||||
static atomic_t ident = ATOMIC_INIT(0);
|
||||
struct msm_gem_submit *submit;
|
||||
uint64_t sz;
|
||||
int ret;
|
||||
@ -52,9 +53,13 @@ static struct msm_gem_submit *submit_create(struct drm_device *dev,
|
||||
submit->gpu = gpu;
|
||||
submit->cmd = (void *)&submit->bos[nr_bos];
|
||||
submit->queue = queue;
|
||||
submit->pid = get_pid(task_pid(current));
|
||||
submit->ring = gpu->rb[queue->ring_nr];
|
||||
submit->fault_dumped = false;
|
||||
|
||||
/* Get a unique identifier for the submission for logging purposes */
|
||||
submit->ident = atomic_inc_return(&ident) - 1;
|
||||
|
||||
INIT_LIST_HEAD(&submit->node);
|
||||
|
||||
return submit;
|
||||
@ -718,7 +723,6 @@ static void msm_process_post_deps(struct msm_submit_post_dep *post_deps,
|
||||
int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
|
||||
struct drm_file *file)
|
||||
{
|
||||
static atomic_t ident = ATOMIC_INIT(0);
|
||||
struct msm_drm_private *priv = dev->dev_private;
|
||||
struct drm_msm_gem_submit *args = data;
|
||||
struct msm_file_private *ctx = file->driver_priv;
|
||||
@ -729,10 +733,9 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
|
||||
struct msm_submit_post_dep *post_deps = NULL;
|
||||
struct drm_syncobj **syncobjs_to_reset = NULL;
|
||||
int out_fence_fd = -1;
|
||||
struct pid *pid = get_pid(task_pid(current));
|
||||
bool has_ww_ticket = false;
|
||||
unsigned i;
|
||||
int ret, submitid;
|
||||
int ret;
|
||||
|
||||
if (!gpu)
|
||||
return -ENXIO;
|
||||
@ -764,12 +767,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
|
||||
if (!queue)
|
||||
return -ENOENT;
|
||||
|
||||
/* Get a unique identifier for the submission for logging purposes */
|
||||
submitid = atomic_inc_return(&ident) - 1;
|
||||
|
||||
ring = gpu->rb[queue->ring_nr];
|
||||
trace_msm_gpu_submit(pid_nr(pid), ring->id, submitid,
|
||||
args->nr_bos, args->nr_cmds);
|
||||
|
||||
if (args->flags & MSM_SUBMIT_FENCE_FD_OUT) {
|
||||
out_fence_fd = get_unused_fd_flags(O_CLOEXEC);
|
||||
@ -783,13 +781,13 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
|
||||
if (IS_ERR(submit))
|
||||
return PTR_ERR(submit);
|
||||
|
||||
trace_msm_gpu_submit(pid_nr(submit->pid), ring->id, submit->ident,
|
||||
args->nr_bos, args->nr_cmds);
|
||||
|
||||
ret = mutex_lock_interruptible(&queue->lock);
|
||||
if (ret)
|
||||
goto out_post_unlock;
|
||||
|
||||
submit->pid = pid;
|
||||
submit->ident = submitid;
|
||||
|
||||
if (args->flags & MSM_SUBMIT_SUDO)
|
||||
submit->in_rb = true;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user