From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE6903D3B3 for ; Mon, 24 Aug 2026 06:19:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787552398; cv=none; b=Xqcn/o21YrofOim9JKApX4JltDjruVKbyg7eRMIkhKkGRwx0IyYZrxnmRI2NSPxyQ9Xk4zvwsPWs8VXDxcodHjOEzoSzmqsOFl6Eb/tkANfVmcb57puO1DswRkmOMDORuJtz6Ty0Q1GRRC/vmGtGyEGNtz2ToEgs1Wgf3dshrcw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787552398; c=relaxed/simple; bh=zhci3GeC4y3P5A9XMBDTzxBHiu9XQ7vIFjySCKubQng=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=tPEzWGBP6HD+iM4CwlK0HjWuKDWfj9ChdiuL2HOFbLr+XAznILqoQ9LplvjZVOCS9PVe/RUmfgFHpLWnLlJgJqHKpwXl6m3vPtjjALqXaEE4Y1mobuwobQZMxTzoemHWKHMS3KPIUF4qHd2DdYgjybB34FV4AKqS++i4w+BjrqY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ovXEU5fq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=U3f2uO4x; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ovXEU5fq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="U3f2uO4x" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67O5RF2G1008255 for ; Mon, 24 Aug 2026 06:19:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= oPNyJXSmM754bjM4+PUtlpBzKwKkj7QX9fCPtPpbqNo=; b=ovXEU5fqBkRByt+e t4drYvpoSdvP6KAbR709xhfrW2/3FAJDVfaHrFb4fZv2oVpOxqndyjjRbAqXvusK e9bgFAdtjY1UQeFXhF8+zT/iifPh/649FalyqzOsgxX2u0vWLDX0B0lkBmEq9sd+ KpFePwjy2FpO8IFzxyhy2qucoxTrnUEE6XY7FOF5mrjz7sElVk8AbuBonRAvt3/7 2f6Dxb17ORygVAZ13KWmNuWFAU+YlAdTNiz2mZf8bcHmJ0wMk2MFgMALV0kOogHU KERRIoNsmtbQbPUV6wEka6/4Miw/wnqaWKU6NenUl0soyKXwaQHRN4V2DGf4sSCn kv+Y6g== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g74xhdeu4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 24 Aug 2026 06:19:56 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38dde0df80bso5432609a91.3 for ; Sun, 23 Aug 2026 23:19:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787552390; x=1788157190; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oPNyJXSmM754bjM4+PUtlpBzKwKkj7QX9fCPtPpbqNo=; b=U3f2uO4xwH52LXKAibILMvpGUkORR8fdq1XcPoLJS5lnj6kprkM+M0E9S4T+wZdi1H PQJiM/1O371U4eq4h6oApFEVXvYKKjruTUoEeMXik2Obpuk//XcUHOcs0rq3oerB29aM VsxxeDm2ClnhijF494bQbCJoT/xaz6k+uAWiFYoeEXqdayZpWdVN3HVRIl8tEr6n1Hsx W6q5LrjOWPZSIgCue8ZROGFENJlwZyz7AOqBc+Hpz1WV1XmirSYjhEBNcxyTN/BKN5to Sa0AtQmZhEfgR8mYZv+xe6gJ1kmmCKB3MnDV1IOWuNXEp5ZKKsMpvyG0NVnFxJaglyIq b7OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787552390; x=1788157190; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=oPNyJXSmM754bjM4+PUtlpBzKwKkj7QX9fCPtPpbqNo=; b=IJ7IisVGImr4PA4Y4TiR2LS6l/f9SmdGeAvv6BTymFlIvKIzFPVNaEmZ72YSRVI9u8 XkIOnPG00NC1hE7dZl9pMaqtZfrviCjVqJIE4zitsF2ppmjOX4IfFDBr62MrMaakBSbQ kbX0HyAE6vZMW9VwwG9vzwKqDs5r8SgqDB8k50cGjDgq9C13h4Gt2asywMRB+l3W0m3B 23BEHb9LwxuClfsl7ef1MhZqkWPjdWJMMuzEEi185Sy4bfx53byeDs0BWxQeq1/IQQfq AG9Q4WMDWjTsQ5yMNDgOQgZfy9XozGEnRgCfM39MrD3jjTC8O1J9nhi9jbYLy8Ckux54 ZKSw== X-Forwarded-Encrypted: i=1; AHgh+RpHFOXBYfUo3pFoL/cPGZ2mlTEfTA7R/MVrKJHJtn2FSlh5xTNv5JBgewip04rgLbx/1fU0R8V5TeOF3r4=@vger.kernel.org X-Gm-Message-State: AFuF++nbpYLJkx+vWuECibwSszRDZ14Op0wR58r4DR6yHIN2lHR4wRk/ wi6Wvh7ac5QcQJEIdM7nNVrWKDV+WyiSVzKxeFgq3djjzuMHL59MqB8j+ZQIXhOJEMtIPeKWqcm kkNTfD/l26phU+9zaZw5By4KqAScvF/zpfJzpNYZZUaGBzwkwKZqhl9lo/lU+HuMJrX8= X-Gm-Gg: AR+sD136WDM1l5U88I/ILWbpW6lD2HY6XHE2iL8qsa3Gi3Se6p2e463ZwYygsVxBlBD fhYfSG+BeItsbc4+iy2eCGqAURgrNxgWhiS6nCNEjyNULxGpMyrTAEFYL3sL3Wl0ElCykUJ6oiJ ypSwayz4+BiVVMr2abTfGS74h148qA5Sjx1gNnSWkYRb+yo7WAhf6ofllgENDqkLOrJVVFFZL8F hrOFZzMsRdtGptZHNipk/PXRUDeNook6UtBoCpNJq2SGBgJZTvZzsrlkRYIKd5pkRuZsIq3CKQZ 9nuuslI32WLgq4gwykyxQ7FkNy+6NYKcH77aIwnVfr6zNFsjNEsueMeOK8AVccql9AiMNOtZ+rz iBgSwzZpIr4MmhSpzliHdvUlyua+zr67whtw= X-Received: by 2002:a05:6a20:3d94:b0:3b3:26aa:5455 with SMTP id adf61e73a8af0-3cd300f9e23mr43810487637.13.1787552390314; Sun, 23 Aug 2026 23:19:50 -0700 (PDT) X-Received: by 2002:a05:6a20:3d94:b0:3b3:26aa:5455 with SMTP id adf61e73a8af0-3cd300f9e23mr43810425637.13.1787552389918; Sun, 23 Aug 2026 23:19:49 -0700 (PDT) Received: from [10.217.218.158] ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc199e72326sm682881a12.32.2026.08.23.23.19.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 23 Aug 2026 23:19:49 -0700 (PDT) Message-ID: <29719c5f-757d-426e-94ca-c221f45c00cf@oss.qualcomm.com> Date: Mon, 24 Aug 2026 11:49:44 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v7 1/2] i2c: core: Add i2c_update_timeout() helper for dynamic transfer timeouts To: Aniket Randive , Wolfram Sang , Andi Shyti , Dmitry Guzman Cc: Viken Dadhaniya , linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260813-master-v7-0-3f9010cf9229@oss.qualcomm.com> <20260813-master-v7-1-3f9010cf9229@oss.qualcomm.com> Content-Language: en-US From: Mukesh Savaliya In-Reply-To: <20260813-master-v7-1-3f9010cf9229@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: 4ByJ-3x5z0fUpMj5unJdTL8BjpwPbFrX X-Authority-Analysis: v=2.4 cv=GdQnWwXL c=1 sm=1 tr=0 ts=6a8be28c cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=KUGX3CDIF-uJIBJLYKwA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI0MDA1NCBTYWx0ZWRfX1DvQqCNCUifH wBPLDKeXosV+faxYJ9+xmDWFn86/yCG0k/yybgfdSWyeqREa4rm9/IoHD/OH/f9NM/ZodlpkyI5 A8/QY6sLOJIqEtkWe6g5E0EZePs+DeiO6fo2kk4VgJ4ZJsQsqbJwQoWgmi5GuR+csTv8pQVxvuZ F7HNkyBlCMITqFKFbu+YMNt3Zs2iCgx6Gx1UtnyVQtgiiXXEj6n306Pz7W6vjjIuNmEquMrGT8U z7bMNrdXw3lOYhgtqXRom47aTv4KPxiBIhl4ErmyHPfCms8cV86MR/aGQRbHELIQbHgzfwhGtdm Xk7D8Z84IKBC/ClHLQdvEfT79eq6BNiCsK1IPEHuXwZEYB82e/DP95PWOvHex7oIgF5hubScmgC Mm8uUmMSn72WCNWMxsaGDfVx0NC/3gYHArqt+HxeB153lR1qYqTQZMHmJ8Gz9ocwvGmpOLHvDYL i/HpCkjE4qLcIrUXXLA== X-Proofpoint-GUID: 4ByJ-3x5z0fUpMj5unJdTL8BjpwPbFrX X-Proofpoint-Spam-Info: AW1haW4tMjYwODI0MDA1NCBTYWx0ZWRfX/88NDKJxkcL/ nw/6PAtRxQ9EqZXFv3gGD/Vo/EDTB2iuSNNf8nsa26fyiCuYOiFQggyMKmV/+wK+Gryt388642J xgVNhBqZwf4DBhxfWP5KDCRn2At5qUs= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_02,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 lowpriorityscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608240054 On 8/13/2026 11:15 AM, Aniket Randive wrote: [...] > +void i2c_update_timeout(struct i2c_adapter *adap, u32 bus_freq_hz, > + size_t len, unsigned int safety_coeff, > + unsigned int min_usec) > +{ > + u64 bit_usec = mul_u64_u32_div(len * 9, USEC_PER_SEC, bus_freq_hz); let's validate bus_freq_hz to prevent from 0 value in case of any abnormal caller. > + u64 total_usec = bit_usec * safety_coeff + min_usec; > + unsigned long jiffies_val; > + > + /* Userspace-configured timeout always takes precedence. */ > + if (adap->user_timeout > 0) { > + adap->timeout = adap->user_timeout; > + return; > + } > + > + jiffies_val = usecs_to_jiffies((unsigned int)min_t(u64, total_usec, UINT_MAX)); > + /* adap->timeout is int; guard against signed overflow. */ > + adap->timeout = (int)min_t(unsigned long, jiffies_val, INT_MAX); > +} > +EXPORT_SYMBOL_GPL(i2c_update_timeout); > +#endif /* CONFIG_I2C_DYNAMIC_TIMEOUT */ > + [...]