Commit 833ca57b authored by Young_X's avatar Young_X Committed by Greg Kroah-Hartman

ASoC: au8540: use 64-bit arithmetic instead of 32-bit

[ Upstream commit cd7fdc45 ]

Add suffix ULL to constant 256 in order to give the compiler complete
information about the proper arithmetic to use.

Notice that such constant is used in a context that expects an
expression of type u64 (64 bits, unsigned) and the following
expression is currently being evaluated using 32-bit arithmetic:

    256 * fs * 2 * mclk_src_scaling[i].param
Signed-off-by: default avatarYoung_X <YangX92@hotmail.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 29e704b7
...@@ -585,7 +585,7 @@ static int nau8540_calc_fll_param(unsigned int fll_in, ...@@ -585,7 +585,7 @@ static int nau8540_calc_fll_param(unsigned int fll_in,
fvco_max = 0; fvco_max = 0;
fvco_sel = ARRAY_SIZE(mclk_src_scaling); fvco_sel = ARRAY_SIZE(mclk_src_scaling);
for (i = 0; i < ARRAY_SIZE(mclk_src_scaling); i++) { for (i = 0; i < ARRAY_SIZE(mclk_src_scaling); i++) {
fvco = 256 * fs * 2 * mclk_src_scaling[i].param; fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param;
if (fvco > NAU_FVCO_MIN && fvco < NAU_FVCO_MAX && if (fvco > NAU_FVCO_MIN && fvco < NAU_FVCO_MAX &&
fvco_max < fvco) { fvco_max < fvco) {
fvco_max = fvco; fvco_max = fvco;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment