habanalabs: use the user CB size as a default job size
authorOmer Shpigelman <oshpigelman@habana.ai>
Mon, 16 Dec 2019 08:42:14 +0000 (08:42 +0000)
committerOded Gabbay <oded.gabbay@gmail.com>
Tue, 24 Mar 2020 08:54:16 +0000 (10:54 +0200)
When no patched command buffer (CB) is created, use the user CB size as
the job size.

Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/misc/habanalabs/command_submission.c

index 0bf0867..7cb6910 100644 (file)
@@ -129,6 +129,8 @@ static int cs_parser(struct hl_fpriv *hpriv, struct hl_cs_job *job)
                spin_unlock(&job->user_cb->lock);
                hl_cb_put(job->user_cb);
                job->user_cb = NULL;
+       } else if (!rc) {
+               job->job_cb_size = job->user_cb_size;
        }
 
        return rc;
@@ -585,10 +587,6 @@ static int _hl_cs_ioctl(struct hl_fpriv *hpriv, void __user *chunks,
                job->cs = cs;
                job->user_cb = cb;
                job->user_cb_size = chunk->cb_size;
-               if (is_kernel_allocated_cb)
-                       job->job_cb_size = cb->size;
-               else
-                       job->job_cb_size = chunk->cb_size;
                job->hw_queue_id = chunk->queue_index;
 
                cs->jobs_in_queue_cnt[job->hw_queue_id]++;