mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
drm/amd/display: Add check for granularity in dml ceil/floor helpers
commit 0881fbc4fd62e00a2b8e102725f76d10351b2ea8 upstream. [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 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
44ee863592
commit
f3d1e4062e
@@ -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)
|
static inline double dml_ceil(double a, double granularity)
|
||||||
{
|
{
|
||||||
|
if (granularity == 0)
|
||||||
|
return 0;
|
||||||
return (double) dcn_bw_ceil2(a, granularity);
|
return (double) dcn_bw_ceil2(a, granularity);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline double dml_floor(double a, double granularity)
|
static inline double dml_floor(double a, double granularity)
|
||||||
{
|
{
|
||||||
|
if (granularity == 0)
|
||||||
|
return 0;
|
||||||
return (double) dcn_bw_floor2(a, granularity);
|
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)
|
static inline double dml_ceil_ex(double x, double granularity)
|
||||||
{
|
{
|
||||||
|
if (granularity == 0)
|
||||||
|
return 0;
|
||||||
return (double) dcn_bw_ceil2(x, granularity);
|
return (double) dcn_bw_ceil2(x, granularity);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline double dml_floor_ex(double x, double granularity)
|
static inline double dml_floor_ex(double x, double granularity)
|
||||||
{
|
{
|
||||||
|
if (granularity == 0)
|
||||||
|
return 0;
|
||||||
return (double) dcn_bw_floor2(x, granularity);
|
return (double) dcn_bw_floor2(x, granularity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user