]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Add check for granularity in dml ceil/floor helpers
authorRoman Li <Roman.Li@amd.com>
Fri, 13 Dec 2024 18:51:07 +0000 (13:51 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 6 Jan 2025 20:14:43 +0000 (15:14 -0500)
[Why]
Wrapper functions for dcn_bw_ceil2() and dcn_bw_floor2()
should check for granularity is non zero to avoid assert and
divide-by-zero error in dcn_bw_ functions.

[How]
Add check for granularity 0.

Cc: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Signed-off-by: Roman Li <Roman.Li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit f6e09701c3eb2ccb8cb0518e0b67f1c69742a4ec)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h

index 072bd05396059448350c387b6e7cb769774fee3c..6b2ab4ec2b5ffe278a9fbbead2479dfcb0df8d3f 100644 (file)
@@ -66,11 +66,15 @@ static inline double dml_max5(double a, double b, double c, double d, double e)
 
 static inline double dml_ceil(double a, double granularity)
 {
+       if (granularity == 0)
+               return 0;
        return (double) dcn_bw_ceil2(a, granularity);
 }
 
 static inline double dml_floor(double a, double granularity)
 {
+       if (granularity == 0)
+               return 0;
        return (double) dcn_bw_floor2(a, granularity);
 }
 
@@ -114,11 +118,15 @@ static inline double dml_ceil_2(double f)
 
 static inline double dml_ceil_ex(double x, double granularity)
 {
+       if (granularity == 0)
+               return 0;
        return (double) dcn_bw_ceil2(x, granularity);
 }
 
 static inline double dml_floor_ex(double x, double granularity)
 {
+       if (granularity == 0)
+               return 0;
        return (double) dcn_bw_floor2(x, granularity);
 }