Message ID | 20240710134130.17292-12-tursulin@igalia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | v3d: Perfmon cleanup | expand |
On 7/10/24 10:41, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> > > Add some local variables to make the code a bit less verbose, with the > main benefit being pulling some lines to under 80 columns wide. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> I'd prefer `query_info`, but anyway: Reviewed-by: Maíra Canal <mcanal@igalia.com> Best Regards, - Maíra > --- > drivers/gpu/drm/v3d/v3d_submit.c | 79 +++++++++++++++++--------------- > 1 file changed, 42 insertions(+), 37 deletions(-) > > diff --git a/drivers/gpu/drm/v3d/v3d_submit.c b/drivers/gpu/drm/v3d/v3d_submit.c > index 34ecd844f16a..b0c2a8e9cb06 100644 > --- a/drivers/gpu/drm/v3d/v3d_submit.c > +++ b/drivers/gpu/drm/v3d/v3d_submit.c > @@ -452,6 +452,7 @@ v3d_get_cpu_timestamp_query_params(struct drm_file *file_priv, > { > u32 __user *offsets, *syncs; > struct drm_v3d_timestamp_query timestamp; > + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; > unsigned int i; > int err; > > @@ -473,10 +474,10 @@ v3d_get_cpu_timestamp_query_params(struct drm_file *file_priv, > > job->job_type = V3D_CPU_JOB_TYPE_TIMESTAMP_QUERY; > > - job->timestamp_query.queries = kvmalloc_array(timestamp.count, > - sizeof(struct v3d_timestamp_query), > - GFP_KERNEL); > - if (!job->timestamp_query.queries) > + qinfo->queries = kvmalloc_array(timestamp.count, > + sizeof(struct v3d_timestamp_query), > + GFP_KERNEL); > + if (!qinfo->queries) > return -ENOMEM; > > offsets = u64_to_user_ptr(timestamp.offsets); > @@ -490,20 +491,20 @@ v3d_get_cpu_timestamp_query_params(struct drm_file *file_priv, > goto error; > } > > - job->timestamp_query.queries[i].offset = offset; > + qinfo->queries[i].offset = offset; > > if (copy_from_user(&sync, syncs++, sizeof(sync))) { > err = -EFAULT; > goto error; > } > > - job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync); > - if (!job->timestamp_query.queries[i].syncobj) { > + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); > + if (!qinfo->queries[i].syncobj) { > err = -ENOENT; > goto error; > } > } > - job->timestamp_query.count = timestamp.count; > + qinfo->count = timestamp.count; > > return 0; > > @@ -519,6 +520,7 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file *file_priv, > { > u32 __user *syncs; > struct drm_v3d_reset_timestamp_query reset; > + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; > unsigned int i; > int err; > > @@ -537,10 +539,10 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file *file_priv, > > job->job_type = V3D_CPU_JOB_TYPE_RESET_TIMESTAMP_QUERY; > > - job->timestamp_query.queries = kvmalloc_array(reset.count, > - sizeof(struct v3d_timestamp_query), > - GFP_KERNEL); > - if (!job->timestamp_query.queries) > + qinfo->queries = kvmalloc_array(reset.count, > + sizeof(struct v3d_timestamp_query), > + GFP_KERNEL); > + if (!qinfo->queries) > return -ENOMEM; > > syncs = u64_to_user_ptr(reset.syncs); > @@ -548,20 +550,20 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file *file_priv, > for (i = 0; i < reset.count; i++) { > u32 sync; > > - job->timestamp_query.queries[i].offset = reset.offset + 8 * i; > + qinfo->queries[i].offset = reset.offset + 8 * i; > > if (copy_from_user(&sync, syncs++, sizeof(sync))) { > err = -EFAULT; > goto error; > } > > - job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync); > - if (!job->timestamp_query.queries[i].syncobj) { > + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); > + if (!qinfo->queries[i].syncobj) { > err = -ENOENT; > goto error; > } > } > - job->timestamp_query.count = reset.count; > + qinfo->count = reset.count; > > return 0; > > @@ -578,6 +580,7 @@ v3d_get_cpu_copy_query_results_params(struct drm_file *file_priv, > { > u32 __user *offsets, *syncs; > struct drm_v3d_copy_timestamp_query copy; > + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; > unsigned int i; > int err; > > @@ -599,10 +602,10 @@ v3d_get_cpu_copy_query_results_params(struct drm_file *file_priv, > > job->job_type = V3D_CPU_JOB_TYPE_COPY_TIMESTAMP_QUERY; > > - job->timestamp_query.queries = kvmalloc_array(copy.count, > - sizeof(struct v3d_timestamp_query), > - GFP_KERNEL); > - if (!job->timestamp_query.queries) > + qinfo->queries = kvmalloc_array(copy.count, > + sizeof(struct v3d_timestamp_query), > + GFP_KERNEL); > + if (!qinfo->queries) > return -ENOMEM; > > offsets = u64_to_user_ptr(copy.offsets); > @@ -616,20 +619,20 @@ v3d_get_cpu_copy_query_results_params(struct drm_file *file_priv, > goto error; > } > > - job->timestamp_query.queries[i].offset = offset; > + qinfo->queries[i].offset = offset; > > if (copy_from_user(&sync, syncs++, sizeof(sync))) { > err = -EFAULT; > goto error; > } > > - job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync); > - if (!job->timestamp_query.queries[i].syncobj) { > + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); > + if (!qinfo->queries[i].syncobj) { > err = -ENOENT; > goto error; > } > } > - job->timestamp_query.count = copy.count; > + qinfo->count = copy.count; > > job->copy.do_64bit = copy.do_64bit; > job->copy.do_partial = copy.do_partial; > @@ -712,6 +715,7 @@ v3d_get_cpu_reset_performance_params(struct drm_file *file_priv, > struct drm_v3d_extension __user *ext, > struct v3d_cpu_job *job) > { > + struct v3d_performance_query_info *qinfo = &job->performance_query; > struct drm_v3d_reset_performance_query reset; > int err; > > @@ -730,10 +734,10 @@ v3d_get_cpu_reset_performance_params(struct drm_file *file_priv, > > job->job_type = V3D_CPU_JOB_TYPE_RESET_PERFORMANCE_QUERY; > > - job->performance_query.queries = kvmalloc_array(reset.count, > - sizeof(struct v3d_performance_query), > - GFP_KERNEL); > - if (!job->performance_query.queries) > + qinfo->queries = kvmalloc_array(reset.count, > + sizeof(struct v3d_performance_query), > + GFP_KERNEL); > + if (!qinfo->queries) > return -ENOMEM; > > err = copy_query_info(qinfo, reset.count, reset.nperfmons, > @@ -743,8 +747,8 @@ v3d_get_cpu_reset_performance_params(struct drm_file *file_priv, > if (err) > return err; > > - job->performance_query.count = reset.count; > - job->performance_query.nperfmons = reset.nperfmons; > + qinfo->count = reset.count; > + qinfo->nperfmons = reset.nperfmons; > > return 0; > } > @@ -754,6 +758,7 @@ v3d_get_cpu_copy_performance_query_params(struct drm_file *file_priv, > struct drm_v3d_extension __user *ext, > struct v3d_cpu_job *job) > { > + struct v3d_performance_query_info *qinfo = &job->performance_query; > struct drm_v3d_copy_performance_query copy; > int err; > > @@ -775,10 +780,10 @@ v3d_get_cpu_copy_performance_query_params(struct drm_file *file_priv, > > job->job_type = V3D_CPU_JOB_TYPE_COPY_PERFORMANCE_QUERY; > > - job->performance_query.queries = kvmalloc_array(copy.count, > - sizeof(struct v3d_performance_query), > - GFP_KERNEL); > - if (!job->performance_query.queries) > + qinfo->queries = kvmalloc_array(copy.count, > + sizeof(struct v3d_performance_query), > + GFP_KERNEL); > + if (!qinfo->queries) > return -ENOMEM; > > err = copy_query_info(qinfo, copy.count, copy.nperfmons, > @@ -788,9 +793,9 @@ v3d_get_cpu_copy_performance_query_params(struct drm_file *file_priv, > if (err) > return err; > > - job->performance_query.count = copy.count; > - job->performance_query.nperfmons = copy.nperfmons; > - job->performance_query.ncounters = copy.ncounters; > + qinfo->count = copy.count; > + qinfo->nperfmons = copy.nperfmons; > + qinfo->ncounters = copy.ncounters; > > job->copy.do_64bit = copy.do_64bit; > job->copy.do_partial = copy.do_partial;
On 10/07/2024 18:43, Maíra Canal wrote: > On 7/10/24 10:41, Tvrtko Ursulin wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> >> >> Add some local variables to make the code a bit less verbose, with the >> main benefit being pulling some lines to under 80 columns wide. >> >> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> > > I'd prefer `query_info`, but anyway: Yeah it does look nicer - done throughout the series. I also bumped this patch to be last in the series since I don't "believe" in it that much any more. We probably should drop it. Regards, Tvrtko > Reviewed-by: Maíra Canal <mcanal@igalia.com> > > Best Regards, > - Maíra > >> --- >> drivers/gpu/drm/v3d/v3d_submit.c | 79 +++++++++++++++++--------------- >> 1 file changed, 42 insertions(+), 37 deletions(-) >> >> diff --git a/drivers/gpu/drm/v3d/v3d_submit.c >> b/drivers/gpu/drm/v3d/v3d_submit.c >> index 34ecd844f16a..b0c2a8e9cb06 100644 >> --- a/drivers/gpu/drm/v3d/v3d_submit.c >> +++ b/drivers/gpu/drm/v3d/v3d_submit.c >> @@ -452,6 +452,7 @@ v3d_get_cpu_timestamp_query_params(struct drm_file >> *file_priv, >> { >> u32 __user *offsets, *syncs; >> struct drm_v3d_timestamp_query timestamp; >> + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; >> unsigned int i; >> int err; >> @@ -473,10 +474,10 @@ v3d_get_cpu_timestamp_query_params(struct >> drm_file *file_priv, >> job->job_type = V3D_CPU_JOB_TYPE_TIMESTAMP_QUERY; >> - job->timestamp_query.queries = kvmalloc_array(timestamp.count, >> - sizeof(struct v3d_timestamp_query), >> - GFP_KERNEL); >> - if (!job->timestamp_query.queries) >> + qinfo->queries = kvmalloc_array(timestamp.count, >> + sizeof(struct v3d_timestamp_query), >> + GFP_KERNEL); >> + if (!qinfo->queries) >> return -ENOMEM; >> offsets = u64_to_user_ptr(timestamp.offsets); >> @@ -490,20 +491,20 @@ v3d_get_cpu_timestamp_query_params(struct >> drm_file *file_priv, >> goto error; >> } >> - job->timestamp_query.queries[i].offset = offset; >> + qinfo->queries[i].offset = offset; >> if (copy_from_user(&sync, syncs++, sizeof(sync))) { >> err = -EFAULT; >> goto error; >> } >> - job->timestamp_query.queries[i].syncobj = >> drm_syncobj_find(file_priv, sync); >> - if (!job->timestamp_query.queries[i].syncobj) { >> + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); >> + if (!qinfo->queries[i].syncobj) { >> err = -ENOENT; >> goto error; >> } >> } >> - job->timestamp_query.count = timestamp.count; >> + qinfo->count = timestamp.count; >> return 0; >> @@ -519,6 +520,7 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file >> *file_priv, >> { >> u32 __user *syncs; >> struct drm_v3d_reset_timestamp_query reset; >> + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; >> unsigned int i; >> int err; >> @@ -537,10 +539,10 @@ v3d_get_cpu_reset_timestamp_params(struct >> drm_file *file_priv, >> job->job_type = V3D_CPU_JOB_TYPE_RESET_TIMESTAMP_QUERY; >> - job->timestamp_query.queries = kvmalloc_array(reset.count, >> - sizeof(struct v3d_timestamp_query), >> - GFP_KERNEL); >> - if (!job->timestamp_query.queries) >> + qinfo->queries = kvmalloc_array(reset.count, >> + sizeof(struct v3d_timestamp_query), >> + GFP_KERNEL); >> + if (!qinfo->queries) >> return -ENOMEM; >> syncs = u64_to_user_ptr(reset.syncs); >> @@ -548,20 +550,20 @@ v3d_get_cpu_reset_timestamp_params(struct >> drm_file *file_priv, >> for (i = 0; i < reset.count; i++) { >> u32 sync; >> - job->timestamp_query.queries[i].offset = reset.offset + 8 * i; >> + qinfo->queries[i].offset = reset.offset + 8 * i; >> if (copy_from_user(&sync, syncs++, sizeof(sync))) { >> err = -EFAULT; >> goto error; >> } >> - job->timestamp_query.queries[i].syncobj = >> drm_syncobj_find(file_priv, sync); >> - if (!job->timestamp_query.queries[i].syncobj) { >> + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); >> + if (!qinfo->queries[i].syncobj) { >> err = -ENOENT; >> goto error; >> } >> } >> - job->timestamp_query.count = reset.count; >> + qinfo->count = reset.count; >> return 0; >> @@ -578,6 +580,7 @@ v3d_get_cpu_copy_query_results_params(struct >> drm_file *file_priv, >> { >> u32 __user *offsets, *syncs; >> struct drm_v3d_copy_timestamp_query copy; >> + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; >> unsigned int i; >> int err; >> @@ -599,10 +602,10 @@ v3d_get_cpu_copy_query_results_params(struct >> drm_file *file_priv, >> job->job_type = V3D_CPU_JOB_TYPE_COPY_TIMESTAMP_QUERY; >> - job->timestamp_query.queries = kvmalloc_array(copy.count, >> - sizeof(struct v3d_timestamp_query), >> - GFP_KERNEL); >> - if (!job->timestamp_query.queries) >> + qinfo->queries = kvmalloc_array(copy.count, >> + sizeof(struct v3d_timestamp_query), >> + GFP_KERNEL); >> + if (!qinfo->queries) >> return -ENOMEM; >> offsets = u64_to_user_ptr(copy.offsets); >> @@ -616,20 +619,20 @@ v3d_get_cpu_copy_query_results_params(struct >> drm_file *file_priv, >> goto error; >> } >> - job->timestamp_query.queries[i].offset = offset; >> + qinfo->queries[i].offset = offset; >> if (copy_from_user(&sync, syncs++, sizeof(sync))) { >> err = -EFAULT; >> goto error; >> } >> - job->timestamp_query.queries[i].syncobj = >> drm_syncobj_find(file_priv, sync); >> - if (!job->timestamp_query.queries[i].syncobj) { >> + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); >> + if (!qinfo->queries[i].syncobj) { >> err = -ENOENT; >> goto error; >> } >> } >> - job->timestamp_query.count = copy.count; >> + qinfo->count = copy.count; >> job->copy.do_64bit = copy.do_64bit; >> job->copy.do_partial = copy.do_partial; >> @@ -712,6 +715,7 @@ v3d_get_cpu_reset_performance_params(struct >> drm_file *file_priv, >> struct drm_v3d_extension __user *ext, >> struct v3d_cpu_job *job) >> { >> + struct v3d_performance_query_info *qinfo = &job->performance_query; >> struct drm_v3d_reset_performance_query reset; >> int err; >> @@ -730,10 +734,10 @@ v3d_get_cpu_reset_performance_params(struct >> drm_file *file_priv, >> job->job_type = V3D_CPU_JOB_TYPE_RESET_PERFORMANCE_QUERY; >> - job->performance_query.queries = kvmalloc_array(reset.count, >> - sizeof(struct v3d_performance_query), >> - GFP_KERNEL); >> - if (!job->performance_query.queries) >> + qinfo->queries = kvmalloc_array(reset.count, >> + sizeof(struct v3d_performance_query), >> + GFP_KERNEL); >> + if (!qinfo->queries) >> return -ENOMEM; >> err = copy_query_info(qinfo, reset.count, reset.nperfmons, >> @@ -743,8 +747,8 @@ v3d_get_cpu_reset_performance_params(struct >> drm_file *file_priv, >> if (err) >> return err; >> - job->performance_query.count = reset.count; >> - job->performance_query.nperfmons = reset.nperfmons; >> + qinfo->count = reset.count; >> + qinfo->nperfmons = reset.nperfmons; >> return 0; >> } >> @@ -754,6 +758,7 @@ v3d_get_cpu_copy_performance_query_params(struct >> drm_file *file_priv, >> struct drm_v3d_extension __user *ext, >> struct v3d_cpu_job *job) >> { >> + struct v3d_performance_query_info *qinfo = &job->performance_query; >> struct drm_v3d_copy_performance_query copy; >> int err; >> @@ -775,10 +780,10 @@ v3d_get_cpu_copy_performance_query_params(struct >> drm_file *file_priv, >> job->job_type = V3D_CPU_JOB_TYPE_COPY_PERFORMANCE_QUERY; >> - job->performance_query.queries = kvmalloc_array(copy.count, >> - sizeof(struct v3d_performance_query), >> - GFP_KERNEL); >> - if (!job->performance_query.queries) >> + qinfo->queries = kvmalloc_array(copy.count, >> + sizeof(struct v3d_performance_query), >> + GFP_KERNEL); >> + if (!qinfo->queries) >> return -ENOMEM; >> err = copy_query_info(qinfo, copy.count, copy.nperfmons, >> @@ -788,9 +793,9 @@ v3d_get_cpu_copy_performance_query_params(struct >> drm_file *file_priv, >> if (err) >> return err; >> - job->performance_query.count = copy.count; >> - job->performance_query.nperfmons = copy.nperfmons; >> - job->performance_query.ncounters = copy.ncounters; >> + qinfo->count = copy.count; >> + qinfo->nperfmons = copy.nperfmons; >> + qinfo->ncounters = copy.ncounters; >> job->copy.do_64bit = copy.do_64bit; >> job->copy.do_partial = copy.do_partial;
diff --git a/drivers/gpu/drm/v3d/v3d_submit.c b/drivers/gpu/drm/v3d/v3d_submit.c index 34ecd844f16a..b0c2a8e9cb06 100644 --- a/drivers/gpu/drm/v3d/v3d_submit.c +++ b/drivers/gpu/drm/v3d/v3d_submit.c @@ -452,6 +452,7 @@ v3d_get_cpu_timestamp_query_params(struct drm_file *file_priv, { u32 __user *offsets, *syncs; struct drm_v3d_timestamp_query timestamp; + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; unsigned int i; int err; @@ -473,10 +474,10 @@ v3d_get_cpu_timestamp_query_params(struct drm_file *file_priv, job->job_type = V3D_CPU_JOB_TYPE_TIMESTAMP_QUERY; - job->timestamp_query.queries = kvmalloc_array(timestamp.count, - sizeof(struct v3d_timestamp_query), - GFP_KERNEL); - if (!job->timestamp_query.queries) + qinfo->queries = kvmalloc_array(timestamp.count, + sizeof(struct v3d_timestamp_query), + GFP_KERNEL); + if (!qinfo->queries) return -ENOMEM; offsets = u64_to_user_ptr(timestamp.offsets); @@ -490,20 +491,20 @@ v3d_get_cpu_timestamp_query_params(struct drm_file *file_priv, goto error; } - job->timestamp_query.queries[i].offset = offset; + qinfo->queries[i].offset = offset; if (copy_from_user(&sync, syncs++, sizeof(sync))) { err = -EFAULT; goto error; } - job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync); - if (!job->timestamp_query.queries[i].syncobj) { + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); + if (!qinfo->queries[i].syncobj) { err = -ENOENT; goto error; } } - job->timestamp_query.count = timestamp.count; + qinfo->count = timestamp.count; return 0; @@ -519,6 +520,7 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file *file_priv, { u32 __user *syncs; struct drm_v3d_reset_timestamp_query reset; + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; unsigned int i; int err; @@ -537,10 +539,10 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file *file_priv, job->job_type = V3D_CPU_JOB_TYPE_RESET_TIMESTAMP_QUERY; - job->timestamp_query.queries = kvmalloc_array(reset.count, - sizeof(struct v3d_timestamp_query), - GFP_KERNEL); - if (!job->timestamp_query.queries) + qinfo->queries = kvmalloc_array(reset.count, + sizeof(struct v3d_timestamp_query), + GFP_KERNEL); + if (!qinfo->queries) return -ENOMEM; syncs = u64_to_user_ptr(reset.syncs); @@ -548,20 +550,20 @@ v3d_get_cpu_reset_timestamp_params(struct drm_file *file_priv, for (i = 0; i < reset.count; i++) { u32 sync; - job->timestamp_query.queries[i].offset = reset.offset + 8 * i; + qinfo->queries[i].offset = reset.offset + 8 * i; if (copy_from_user(&sync, syncs++, sizeof(sync))) { err = -EFAULT; goto error; } - job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync); - if (!job->timestamp_query.queries[i].syncobj) { + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); + if (!qinfo->queries[i].syncobj) { err = -ENOENT; goto error; } } - job->timestamp_query.count = reset.count; + qinfo->count = reset.count; return 0; @@ -578,6 +580,7 @@ v3d_get_cpu_copy_query_results_params(struct drm_file *file_priv, { u32 __user *offsets, *syncs; struct drm_v3d_copy_timestamp_query copy; + struct v3d_timestamp_query_info *qinfo = &job->timestamp_query; unsigned int i; int err; @@ -599,10 +602,10 @@ v3d_get_cpu_copy_query_results_params(struct drm_file *file_priv, job->job_type = V3D_CPU_JOB_TYPE_COPY_TIMESTAMP_QUERY; - job->timestamp_query.queries = kvmalloc_array(copy.count, - sizeof(struct v3d_timestamp_query), - GFP_KERNEL); - if (!job->timestamp_query.queries) + qinfo->queries = kvmalloc_array(copy.count, + sizeof(struct v3d_timestamp_query), + GFP_KERNEL); + if (!qinfo->queries) return -ENOMEM; offsets = u64_to_user_ptr(copy.offsets); @@ -616,20 +619,20 @@ v3d_get_cpu_copy_query_results_params(struct drm_file *file_priv, goto error; } - job->timestamp_query.queries[i].offset = offset; + qinfo->queries[i].offset = offset; if (copy_from_user(&sync, syncs++, sizeof(sync))) { err = -EFAULT; goto error; } - job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync); - if (!job->timestamp_query.queries[i].syncobj) { + qinfo->queries[i].syncobj = drm_syncobj_find(file_priv, sync); + if (!qinfo->queries[i].syncobj) { err = -ENOENT; goto error; } } - job->timestamp_query.count = copy.count; + qinfo->count = copy.count; job->copy.do_64bit = copy.do_64bit; job->copy.do_partial = copy.do_partial; @@ -712,6 +715,7 @@ v3d_get_cpu_reset_performance_params(struct drm_file *file_priv, struct drm_v3d_extension __user *ext, struct v3d_cpu_job *job) { + struct v3d_performance_query_info *qinfo = &job->performance_query; struct drm_v3d_reset_performance_query reset; int err; @@ -730,10 +734,10 @@ v3d_get_cpu_reset_performance_params(struct drm_file *file_priv, job->job_type = V3D_CPU_JOB_TYPE_RESET_PERFORMANCE_QUERY; - job->performance_query.queries = kvmalloc_array(reset.count, - sizeof(struct v3d_performance_query), - GFP_KERNEL); - if (!job->performance_query.queries) + qinfo->queries = kvmalloc_array(reset.count, + sizeof(struct v3d_performance_query), + GFP_KERNEL); + if (!qinfo->queries) return -ENOMEM; err = copy_query_info(qinfo, reset.count, reset.nperfmons, @@ -743,8 +747,8 @@ v3d_get_cpu_reset_performance_params(struct drm_file *file_priv, if (err) return err; - job->performance_query.count = reset.count; - job->performance_query.nperfmons = reset.nperfmons; + qinfo->count = reset.count; + qinfo->nperfmons = reset.nperfmons; return 0; } @@ -754,6 +758,7 @@ v3d_get_cpu_copy_performance_query_params(struct drm_file *file_priv, struct drm_v3d_extension __user *ext, struct v3d_cpu_job *job) { + struct v3d_performance_query_info *qinfo = &job->performance_query; struct drm_v3d_copy_performance_query copy; int err; @@ -775,10 +780,10 @@ v3d_get_cpu_copy_performance_query_params(struct drm_file *file_priv, job->job_type = V3D_CPU_JOB_TYPE_COPY_PERFORMANCE_QUERY; - job->performance_query.queries = kvmalloc_array(copy.count, - sizeof(struct v3d_performance_query), - GFP_KERNEL); - if (!job->performance_query.queries) + qinfo->queries = kvmalloc_array(copy.count, + sizeof(struct v3d_performance_query), + GFP_KERNEL); + if (!qinfo->queries) return -ENOMEM; err = copy_query_info(qinfo, copy.count, copy.nperfmons, @@ -788,9 +793,9 @@ v3d_get_cpu_copy_performance_query_params(struct drm_file *file_priv, if (err) return err; - job->performance_query.count = copy.count; - job->performance_query.nperfmons = copy.nperfmons; - job->performance_query.ncounters = copy.ncounters; + qinfo->count = copy.count; + qinfo->nperfmons = copy.nperfmons; + qinfo->ncounters = copy.ncounters; job->copy.do_64bit = copy.do_64bit; job->copy.do_partial = copy.do_partial;