[PATCH 1/2] drm/amd/display: change variables type

Magali Lemes magalilemes00 at gmail.com
Tue Jul 26 12:06:55 UTC 2022


On 7/25/22 20:38, Melissa Wen wrote:

> On 07/25, Magali Lemes wrote:
>> On 7/25/22 16:42, André Almeida wrote:
>>> Hi Magali,
>>>
>>> Às 15:15 de 25/07/22, Magali Lemes escreveu:
>>>> As "dcn3_15_soc" and "dcn3_16_soc" are of type "struct
>>>> _vcs_dpi_soc_bounding_box_st", change their types accordingly.
>>>>
>>> I can see that indeed this type change sense for those variables, but
>>> isn't a bit strange that the type was wrong in the first place? I wonder
>>> if this variable is even used, given that it would very likely throw a
>>> compiler error when using the wrong type and trying to access struct
>>> members that aren't defined.
>>
>> A compilation error would be thrown if either "dc/dcn315/dcn315_resource.h"
>> or "dc/dcn316/dcn316_resource.h" were included in the files where
>> "dcn3_15_soc" and "dcn3_16_soc" are initialized. Since they are not
>> included, the wrong variable type error is not shown.
>> To solve the sparse warning in the second patch of this series, those
>> variables need to be declared first, but they are already declared, we're
>> only missing the headers. If I only add the headers, then those variables
>> will be seen, and I get the expected incompatible variables types error. So,
>> fixing the types here is a preliminary work for the next patch.
>>
> Hi Magali,
>
> Thanks for inspecting it. What you say makes sense, but André pointed
> out something that makes sense to me too.
>
> As fas as I checked, dcn3_15_soc and dcn16_soc is not used outside their
> respective FPU files. Maybe the proper solution is removing those
> declarations (and make the struct static). Can you take a look at it?
>
> Best Regards,
>
> Melissa

Hi, Melissa. Thank you for the suggestion!
My sole reason not to make those structs static was to keep some sort of 
consistency with the rest of the dcn*_resource.h files, since that is 
where all the other structs are first declared. I'm not sure, though, if 
that's a good enough reason not to turn these variables into static. Let 
me know what you think.

Magali



> Magali
>
>
>>>> Signed-off-by: Magali Lemes <magalilemes00 at gmail.com>
>>>> ---
>>>>    drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.h | 2 +-
>>>>    drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.h | 2 +-
>>>>    2 files changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.h b/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.h
>>>> index 39929fa67a51..45276317c057 100644
>>>> --- a/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.h
>>>> +++ b/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.h
>>>> @@ -32,7 +32,7 @@
>>>>    	container_of(pool, struct dcn315_resource_pool, base)
>>>>    extern struct _vcs_dpi_ip_params_st dcn3_15_ip;
>>>> -extern struct _vcs_dpi_ip_params_st dcn3_15_soc;
>>>> +extern struct _vcs_dpi_soc_bounding_box_st dcn3_15_soc;
>>>>    struct dcn315_resource_pool {
>>>>    	struct resource_pool base;
>>>> diff --git a/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.h b/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.h
>>>> index 0dc5a6c13ae7..d2234aac5449 100644
>>>> --- a/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.h
>>>> +++ b/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.h
>>>> @@ -32,7 +32,7 @@
>>>>    	container_of(pool, struct dcn316_resource_pool, base)
>>>>    extern struct _vcs_dpi_ip_params_st dcn3_16_ip;
>>>> -extern struct _vcs_dpi_ip_params_st dcn3_16_soc;
>>>> +extern struct _vcs_dpi_soc_bounding_box_st dcn3_16_soc;
>>>>    struct dcn316_resource_pool {
>>>>    	struct resource_pool base;


More information about the dri-devel mailing list