[PATCH 11/12] drm/v3d: Add some local variables in queries/extensions
Tvrtko Ursulin
tvrtko.ursulin at igalia.com
Thu Jul 11 09:06:22 UTC 2024
On 10/07/2024 18:43, Maíra Canal wrote:
> On 7/10/24 10:41, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin at 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 at 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 at 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;
More information about the dri-devel
mailing list