From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75E5E32ED56 for ; Mon, 29 Dec 2025 14:35:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767018931; cv=none; b=R+bihKnG1xrcUjBDJuaNNeWNm5b33PKktYJHOUToZLw1yC7NHJECt42I7lQvITep16NUEtYuixx/F0Lw+ekHhpqTpBdXZQ/IuZHEiOsKJ8BIkyROLwrPaHISmJRgmqrQKH5YtViPl3G0nt06ktRjK+Xu0g22RcYEhV8x3a72p7k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767018931; c=relaxed/simple; bh=qFM4LiFAiwTwuk6OWDA+Tu6Kw/kHsgmaHaZvNHkvbFA=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=rwCZPowpZx41g4JA7rWoAoqoee5dINHeKTipKRgSjj9BUPrxawkR1jI+onEC50wpsDL6BWLhRTkba1mZMzw7yYdtdXwhQ8k0m50VMKlETKlsv5/KI4vn4+Ss2MxFtiavDocbrEBdOp2praqmhDCPEIXvQNeEzhe1gFu7WlDOr0M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=k2q26RgC; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="k2q26RgC" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-64b921d9e67so12905843a12.3 for ; Mon, 29 Dec 2025 06:35:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767018928; x=1767623728; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=3tId5XV5kYSQY/kLmA9NWqwvSnJZ5ff10lBlcCOD+Ow=; b=k2q26RgCxlUNG4O0JLyQmfi5tBwPzbBwKhOWPGEYMNtwTUCkGPUtb9vV5T6VR7yyhx m7MdGsxPkAhKCe8NvIi3lWv/Z+VyUZSmvtuB1W7ACpGcUd4t2ErFlwkUP0Ww1kqV37ze PmRrWqIO18Lqw+zBCv+4PQMfG8uF0cjfxQpiDenqZvBV87Ho1kksfEawuyxeLLAgjqoj dcOnhxKCdKhnlT7kigPouqt8lGE7bWsb+Csi8VqgDXUuJfWZKcG8JbM1T96GJgwEBDjx H5N6SqlcjG2TD74jQxJ4w8smJMX9a1zQopNxyI+D02xSFjEn7iaAntfsD3DPOhI5Ivmk X6sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767018928; x=1767623728; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3tId5XV5kYSQY/kLmA9NWqwvSnJZ5ff10lBlcCOD+Ow=; b=UlugWSA7uBjDYIqdDmmhJO6iOTdHFCpnT4SfCIrA4EeuxIT5IBnnvNfUb3+4rOJWha wWGmNtZCt5oyw4Yt5gQUfRTJWhsSATT42NXNdLETjKekND92Jr14O/LPqIuknWz+By2L NzOYKD201muQZsIhr1sZ2J4+bFrk008EbgUO/Jjtm25BBEphL2ApXVZA+wMmQeeHzXJo pdlQulV1EB4qlQZwplvH1LcW4gQ2VCBwejtd+1Z89Li7G7EpfXw0xXtHgzONq5REcBIC Nhs6YrgyVQpuUlp2zPGOTnOxs+kkZPz3hYoFlCHKQc6qIMIzpXAtmM+FD0laZvlBkLh2 Z+tw== X-Forwarded-Encrypted: i=1; AJvYcCXtX+o0gZgdHH5LUTFrErFapGChW84wD9Hh/+CzU2wu4ORnEW8Lkqh/29W55Nxz/fgxBPHDb8MjBAz24/M=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1fammcevW3ctCsY2kfGi46bdAKcA+wAVbOndWTFmSvUPNaiOg +txkJlUaMsU7fOx0ZV+1sjdKCuBJN8ymH4Cm22g3j3kFV886m4osWLZp X-Gm-Gg: AY/fxX7X7Fuubn1q5AHKiyzYZtA4Yhtn2z81A5FeueTCz91SC4mfRiTlGftpxVPRd2M 6SH+3vqBBnidUGOTMJN6cxu/a0/QJv85WlkjgEUhAzWbM4+JlBA8f74DaaFGkfnBwTSE2+zGkhx X5ZxqAd0JrAyW2c8WNCZGLt4dNl2nEh2I5QZmUuIzgZJpFQV3cWoesqyZ85xSyr62todTfBYq+C 3Te9jL6zh5jFc+WT2tbeuQOTkvjDDEenwzmCT5DB4tG99w3eh3t3d4waeLnZ3oISvj/B49tV17r vGnyEiApacxIMZaThA4ppQYb9N4T0WFVfkjyvqhMN2WsZHuZaE4J/3JQcOiFEULPJgVdyQc27Lg d0C7StRm0HihqbUS06iVZ8qOqp/zNoZgpRPtvSVk+jM0OWsYx7Af25Xr9FxTTuoSPP1k2y5Idod MyY5kl+ceon38zBCxfdcUk2eomPZjrAmYV3gy/Fipv0DPBgpRpjFEe X-Google-Smtp-Source: AGHT+IFZx2XByZDcGoz6k0dVTKejmOPtpNe6KoB1/QAoZpQAFG17i3uYtYslAObNd+vt7plTaXSkLA== X-Received: by 2002:a05:600c:c0c7:b0:47d:264e:b37d with SMTP id 5b1f17b1804b1-47d264eb725mr245790195e9.22.1767013332883; Mon, 29 Dec 2025 05:02:12 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47be3ad0c60sm245250335e9.5.2025.12.29.05.02.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 05:02:12 -0800 (PST) Date: Mon, 29 Dec 2025 13:02:11 +0000 From: David Laight To: Shengjiu Wang Cc: shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, nicoleotsuka@gmail.com, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, linux-sound@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ASoC: fsl_easrc: force cast 'val1' to u32 for do_div() Message-ID: <20251229130211.49b169a0@pumpkin> In-Reply-To: <20251229085919.3952347-1-shengjiu.wang@nxp.com> References: <20251229085919.3952347-1-shengjiu.wang@nxp.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 29 Dec 2025 16:59:19 +0800 Shengjiu Wang wrote: > Fix below cocci warnings, the real width of val1 is 32bit, so use force > cast to avoid warning. I just looked at the uses of 'frac_bits' in that file. Some of the related code looks very dubious. The 200 has: val = (u64)in_rate << frac_bits; do_div(val, out_rate); r = (uint32_t *)&val; followed by uses of r[0] and r[1] - that probably isn't going to DTRT big endian and will generate worse code LE than using val and val >> 32. Line 2063 has: val <<= (frac_bits - 31); regmap_write(easrc->regmap, REG_EASRC_RUC(pair->index), EASRC_RSUC_RS_RM(val)); where EASRC_RSUC_RS_RM(v) is (v) << 32 That is a lot of shift lefts on an 'int'. The code in question can shift 'val1' right and convert to 32 bits before ctx_priv->ratio_mod is added in. David > > cocci warnings: (new ones prefixed by >>) > >> sound/soc/fsl/fsl_easrc.c:1999:2-8: WARNING: do_div() does a 64-by-32 division, please consider using div64_u64 instead. > > Fixes: 27147695aaf7 ("ASoC: fsl_easrc: define functions for memory to memory usage") > Reported-by: kernel test robot > Closes: https://lore.kernel.org/oe-kbuild-all/202512281902.bPsKjjkC-lkp@intel.com/ > Signed-off-by: Shengjiu Wang > --- > sound/soc/fsl/fsl_easrc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c > index f404a39009e1..16a45a7146e8 100644 > --- a/sound/soc/fsl/fsl_easrc.c > +++ b/sound/soc/fsl/fsl_easrc.c > @@ -1996,7 +1996,7 @@ static int fsl_easrc_m2m_calc_out_len(struct fsl_asrc_pair *pair, int input_buff > /* right shift 12 bit to make ratio in 32bit space */ > val2 = (u64)in_samples << (frac_bits - 12); > val1 = val1 >> 12; > - do_div(val2, val1); > + do_div(val2, (u32)val1); > out_samples = val2; > > out_length = out_samples * out_width * channels;