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

From: Magali Lemes
Date: Tue Jul 26 2022 - 08:07:27 EST


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@xxxxxxxxx>
---
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;