diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0586-drm-amd-dal-Fix-uint64-vs-int64-warnings.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0586-drm-amd-dal-Fix-uint64-vs-int64-warnings.patch | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0586-drm-amd-dal-Fix-uint64-vs-int64-warnings.patch b/common/recipes-kernel/linux/files/0586-drm-amd-dal-Fix-uint64-vs-int64-warnings.patch new file mode 100644 index 00000000..faccde51 --- /dev/null +++ b/common/recipes-kernel/linux/files/0586-drm-amd-dal-Fix-uint64-vs-int64-warnings.patch @@ -0,0 +1,98 @@ +From b28613871a2ee3fa67ee67d18a9a47603ecf4cb2 Mon Sep 17 00:00:00 2001 +From: Jordan Lazare <Jordan.Lazare@amd.com> +Date: Mon, 30 Nov 2015 17:55:33 -0500 +Subject: [PATCH 0586/1110] drm/amd/dal: Fix uint64 vs int64 warnings + +Signed-off-by: Jordan Lazare <Jordan.Lazare@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +--- + drivers/gpu/drm/amd/dal/dc/calcs/bandwidth_calcs.c | 8 ++++---- + drivers/gpu/drm/amd/dal/dc/calcs/bw_fixed.c | 12 ++++++++---- + drivers/gpu/drm/amd/dal/dc/core/dc_resource.c | 4 ++-- + 3 files changed, 14 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/amd/dal/dc/calcs/bandwidth_calcs.c b/drivers/gpu/drm/amd/dal/dc/calcs/bandwidth_calcs.c +index e9fc75f..542b3d7 100644 +--- a/drivers/gpu/drm/amd/dal/dc/calcs/bandwidth_calcs.c ++++ b/drivers/gpu/drm/amd/dal/dc/calcs/bandwidth_calcs.c +@@ -1357,8 +1357,8 @@ static void calculate_bandwidth(const struct bw_calcs_input_dceip *dceip, + int_to_fixed(4)); + } + +- div64_u64_rem(mode_data->underlay_pitch_in_pixels.value, +- results->inefficient_underlay_pitch_in_pixels.value, ++ div64_u64_rem((uint64_t)mode_data->underlay_pitch_in_pixels.value, ++ (uint64_t)results->inefficient_underlay_pitch_in_pixels.value, + &remainder); + + if (mode_data->underlay_tiling_mode == linear +@@ -1413,11 +1413,11 @@ static void calculate_bandwidth(const struct bw_calcs_input_dceip *dceip, + int_to_fixed(0); + for (i = 0; i <= maximum_number_of_surfaces - 1; i += 1) { + if (results->enable[i]) { +- uint64_t arg1 = mul(results->pitch_in_pixels_after_surface_type[i], ++ uint64_t arg1 = (uint64_t)mul(results->pitch_in_pixels_after_surface_type[i], + results->bytes_per_pixel[i]).value; + + div64_u64_rem(arg1, +- results->inefficient_linear_pitch_in_bytes.value, ++ (uint64_t)results->inefficient_linear_pitch_in_bytes.value, + &remainder); + + if (results->scatter_gather_enable_for_pipe[i] == true +diff --git a/drivers/gpu/drm/amd/dal/dc/calcs/bw_fixed.c b/drivers/gpu/drm/amd/dal/dc/calcs/bw_fixed.c +index 8bdd0fb..646fafe 100644 +--- a/drivers/gpu/drm/amd/dal/dc/calcs/bw_fixed.c ++++ b/drivers/gpu/drm/amd/dal/dc/calcs/bw_fixed.c +@@ -90,8 +90,8 @@ struct bw_fixed frc_to_fixed(int64_t numerator, int64_t denominator) + + ASSERT(denominator != 0); + +- arg1_value = abs_i64(numerator); +- arg2_value = abs_i64(denominator); ++ arg1_value = (uint64_t)abs_i64(numerator); ++ arg2_value = (uint64_t)abs_i64(denominator); + res_value = div64_u64_rem(arg1_value, arg2_value, &remainder); + + ASSERT(res_value <= MAX_I32); +@@ -144,7 +144,7 @@ struct bw_fixed bw_floor(const struct bw_fixed arg, const struct bw_fixed signif + { + struct bw_fixed result; + int64_t multiplicand; +- multiplicand = div64_u64(arg.value, abs_i64(significance.value)); ++ multiplicand = div64_s64(arg.value, abs_i64(significance.value)); + result.value = abs_i64(significance.value) * multiplicand; + ASSERT(abs_i64(result.value) <= abs_i64(arg.value)); + return result; +@@ -153,7 +153,11 @@ struct bw_fixed bw_floor(const struct bw_fixed arg, const struct bw_fixed signif + struct bw_fixed bw_ceil(const struct bw_fixed arg, const struct bw_fixed significance) + { + struct bw_fixed result; +- div64_u64_rem(arg.value, abs_i64(significance.value), &result.value); ++ div64_u64_rem( ++ (uint64_t)arg.value, ++ (uint64_t)abs_i64(significance.value), ++ (uint64_t *)&result.value ++ ); + result.value += arg.value; + if (result.value < significance.value) + result.value = significance.value; +diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c b/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c +index 7d90532..861d80a 100644 +--- a/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c ++++ b/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c +@@ -280,9 +280,9 @@ static void calculate_scaling_ratios( + == PLANE_STEREO_FORMAT_TOP_AND_BOTTOM) + stream->ratios.vert.value *= 2; + +- stream->ratios.vert.value = div64_u64(stream->ratios.vert.value * in_h, ++ stream->ratios.vert.value = div64_s64(stream->ratios.vert.value * in_h, + out_h); +- stream->ratios.horz.value = div64_u64(stream->ratios.horz.value * in_w , ++ stream->ratios.horz.value = div64_s64(stream->ratios.horz.value * in_w , + out_w); + + stream->ratios.horz_c = stream->ratios.horz; +-- +2.7.4 + |