[PATCH] drm/amdgpu/display: Remove unnecessary typecasts and fix build issues

Chandan Vurdigere Nataraj chandan.vurdigerenataraj at amd.com
Tue Jun 7 09:40:03 UTC 2022


[Why]
Getting below errors:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.c:1414:5: error: implicit conversion from enumeration type 'enum scan_direction_class' to different enumeration type 'enum dm_rotation_angle' [-Werror,-Wenum-conversion]
                                mode_lib->vba.SourceScan[k],
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.c:1744:22: error: implicit conversion from enumeration type 'enum scan_direction_class' to different enumeration type 'enum dm_rotation_angle' [-Werror,-Wenum-conversion]
                        && (!(!IsVertical(mode_lib->vba.SourceScan[k])) || mode_lib->vba.DCCEnable[k] == true)) {
                               ~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_util_32.c:5484:18: error: implicit conversion from enumeration type 'RequestType' to different enumeration type 'enum RequestType' [-Werror,-Wenum-conversion]
                        RequestLuma = REQ_256Bytes;
                                    ~ ^~~~~~~~~~~~
18 errors of similar kind

[How]
1. Add typecast at relevant places
2. Move the enum RequestType definition ahead of declarations

Signed-off-by: Chandan Vurdigere Nataraj <chandan.vurdigerenataraj at amd.com>

diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c
index b77a1ae792d1..5828e60f291d 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c
@@ -1411,7 +1411,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
 				v->BytePerPixelC[k],
 				v->BytePerPixelDETY[k],
 				v->BytePerPixelDETC[k],
-				mode_lib->vba.SourceScan[k],
+				(enum dm_rotation_angle) mode_lib->vba.SourceScan[k],
 				/* Output */
 				&v->DCCYMaxUncompressedBlock[k],
 				&v->DCCCMaxUncompressedBlock[k],
@@ -1741,7 +1741,8 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
 	mode_lib->vba.SourceFormatPixelAndScanSupport = true;
 	for (k = 0; k <= mode_lib->vba.NumberOfActiveSurfaces - 1; k++) {
 		if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear
-			&& (!(!IsVertical(mode_lib->vba.SourceScan[k])) || mode_lib->vba.DCCEnable[k] == true)) {
+			&& (!(!IsVertical((enum dm_rotation_angle) mode_lib->vba.SourceScan[k]))
+				|| mode_lib->vba.DCCEnable[k] == true)) {
 			mode_lib->vba.SourceFormatPixelAndScanSupport = false;
 		}
 	}
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c
index 6509a84eeb64..07f3a85f8edf 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c
@@ -5314,9 +5314,15 @@ void dml32_CalculateDCCConfiguration(
 		unsigned int        *IndependentBlockLuma,
 		unsigned int        *IndependentBlockChroma)
 {
+	typedef enum {
+		REQ_256Bytes,
+		REQ_128BytesNonContiguous,
+		REQ_128BytesContiguous,
+		REQ_NA
+	} RequestType;
 
-	enum RequestType   RequestLuma;
-	enum RequestType   RequestChroma;
+	RequestType   RequestLuma;
+	RequestType   RequestChroma;
 
 	unsigned int   segment_order_horz_contiguous_luma;
 	unsigned int   segment_order_horz_contiguous_chroma;
@@ -5350,13 +5356,6 @@ void dml32_CalculateDCCConfiguration(
 	double   detile_buf_vp_horz_limit;
 	double   detile_buf_vp_vert_limit;
 
-	typedef enum {
-		REQ_256Bytes,
-		REQ_128BytesNonContiguous,
-		REQ_128BytesContiguous,
-		REQ_NA
-	} RequestType;
-
 	yuv420 = ((SourcePixelFormat == dm_420_8 || SourcePixelFormat == dm_420_10 ||
 			SourcePixelFormat == dm_420_12) ? 1 : 0);
 	horz_div_l = 1;
@@ -5527,11 +5526,11 @@ void dml32_CalculateDCCConfiguration(
 			RequestChroma = REQ_128BytesContiguous;
 	}
 
-	if (RequestLuma == (enum RequestType) REQ_256Bytes) {
+	if (RequestLuma == REQ_256Bytes) {
 		*MaxUncompressedBlockLuma = 256;
 		*MaxCompressedBlockLuma = 256;
 		*IndependentBlockLuma = 0;
-	} else if (RequestLuma == (enum RequestType) REQ_128BytesContiguous) {
+	} else if (RequestLuma == REQ_128BytesContiguous) {
 		*MaxUncompressedBlockLuma = 256;
 		*MaxCompressedBlockLuma = 128;
 		*IndependentBlockLuma = 128;
@@ -5541,11 +5540,11 @@ void dml32_CalculateDCCConfiguration(
 		*IndependentBlockLuma = 64;
 	}
 
-	if (RequestChroma == (enum RequestType) REQ_256Bytes) {
+	if (RequestChroma == REQ_256Bytes) {
 		*MaxUncompressedBlockChroma = 256;
 		*MaxCompressedBlockChroma = 256;
 		*IndependentBlockChroma = 0;
-	} else if (RequestChroma == (enum RequestType) REQ_128BytesContiguous) {
+	} else if (RequestChroma == REQ_128BytesContiguous) {
 		*MaxUncompressedBlockChroma = 256;
 		*MaxCompressedBlockChroma = 128;
 		*IndependentBlockChroma = 128;
-- 
2.25.1



More information about the amd-gfx mailing list