From b28613871a2ee3fa67ee67d18a9a47603ecf4cb2 Mon Sep 17 00:00:00 2001 From: Jordan Lazare 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 Reviewed-by: Harry Wentland --- 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