[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