From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fout-b4-smtp.messagingengine.com (fout-b4-smtp.messagingengine.com [202.12.124.147]) (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 50AA83EC2F8; Thu, 2 Jul 2026 08:46:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.12.124.147 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782981968; cv=none; b=AdoXTTK+a+48PDXfHSuH0IX0OxbBPxbNR/JA6tyFQ6IzvngRwdpg+5t8qSqfSMLZW+oPdtXwuxoasPTsmjsVd4rEUqeoQXeqXBZa0iE0eMe4CCMA96e/QrGvg1qEYCtmioZWXrY79udOaUcZZPk6alxcP8nsFbUsW3O6LR9Z248= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782981968; c=relaxed/simple; bh=2ny8V9pHFxRFcjHGeKUUazvPQRZL9gVeCXjgGusNNwk=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Nzj/RqL1F3frnGdStd1Oh39jpX63rsLvyHjHB3J4i2aC3Jjlz9xM3dIOqpi16+ZINfjJ4VsOPN1+e73ipqoBE2TvGlxgyUWD4x9ZVAPicq56Y5r2sBILE7IimnJqw7AJ4rJkJV5xXpVZ6l0ttHgmXHyVRB485K09FXZWqVmEVi4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se; spf=pass smtp.mailfrom=ragnatech.se; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b=kt9C4ymv; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=fKG2+iN6; arc=none smtp.client-ip=202.12.124.147 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ragnatech.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b="kt9C4ymv"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="fKG2+iN6" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.stl.internal (Postfix) with ESMTP id E65E51D00115; Thu, 2 Jul 2026 04:46:03 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Thu, 02 Jul 2026 04:46:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1782981963; x=1783068363; bh=qPbEkvbSQ9M/zT2/WjgXMdML4p0u+/D/eLKyD0UTemA=; b= kt9C4ymv0e3xqolPMI/99ofUvnsrX1iWSEPAF94HtTTLx51AXn0TWQ71kkBRBi90 KYRrfovsjhsyYnbw0jrWZpF7gNSBHaYL1VHn1r8nIJkJ3uvmZXq+nxT3gx+LeSGm lcIMWXJoRg4Oh6ZeMWMLXMZwxW3v41n7rOonw2Ekhzy8Fj3PB1mwib3sUIFI47oX XgPSGkRiVzmBpa1ym6xuPYJV8QB6LxTpyG+kny+rylRUqPl+Gzv/kiuxLRQM/ccq /ohj9ZM8x7C85PIRi8ycXgOX6oLk/o9pqynHy8QDKzYbQFhu4oWAEAfn2xTprIp4 7tBFMjP0xhHRG6KYo/l3fQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1782981963; x= 1783068363; bh=qPbEkvbSQ9M/zT2/WjgXMdML4p0u+/D/eLKyD0UTemA=; b=f KG2+iN6wvkvjtVBbTiSdY2hfqcZtemrOlxmD9/zqCvAxTtbbgz1pzQrZZDpoM3e0 mO3gzU7B1Xig60o43kSr28NUWnGdysHyRaod6cGRG9leSWEDTMeM5glaWZhpfR+y 0agni8+MI/W8xGtWP8vLPR75nFuwmkAcE5Z3SsOHXzWyZ4SxH7ZOa5amUzmaf8cx UZUwEPX5yuMumhRWb/8sOBBDU6+5B8JQTvn6/t1/OeNcv3J4ccAJ4D+YgxQWNoxL fHqObr7VCODToiQc/imSBWqFYFSRE9+THmDlnyNXJmPTKXDP+u2WnSq4/stezlIV uroMV9XvD+KrE8z+D9Few== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGUvYukco99tdyEf6Pig8Ia48ABtTUDTTrIlD90kcgg2VUB44vCc6AZmcmLkkhRXw JXPz1Xm1crDBMvLAcvBPZjULP/0up2fiwsGfDjG9S5iZLQvn0nkJgrh5JwYpBaUO5DO01q O1txjYZEMeJ8JGF8riIQ3rTZLAi7kv+p+HUqr/Z1ywAyg+ICN5TbfC7+0kZi463r0H4l5W fttkMkm4X7+1JpYMGGpfZ3Aftm59zij5cfGx7sdIgPtY/ay6+8uI/L78JIHxA8iqdwXt/J y40Va4tt0L4+ErGK9lzpcHt2MXqnyhhP6lIRaL0YWrSqMJZFFClouXzI2PuMzcT3bsieQa EmtR35bUt9QEJhVEnTvmnzRTZBNXQAASSm6X3ZMhW8HVs3Nrq/4QvKRoMb93yrZROUdt8d xNQRNxUGzK4hYrbMW74gvlmIYSYpbGzbc/RAfcl/zuJdOOkb6KsZeFrnNG9XUBgVy3uv8n zEjqTt6qvtUlJzTQ8nMwgJMZAm2zOIMcAQKNZ8f38pvghD02SN4nR1FggJvmp18YBI26Rb kSGXcjvywe/A7Q+r8lo91DvIL/ynZ3ExPMZnc5OFqYLlFKnSMK4gmDC4Zr9U7hUMJsuon3 1fQfCAbOSDccLI2MpK1Yx9NKHWL9SwVP7qI/4vAmlaygjDXhRkRsT2p7FegQ X-ME-Proxy: Feedback-ID: i80c9496c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 2 Jul 2026 04:46:02 -0400 (EDT) Date: Thu, 2 Jul 2026 10:46:01 +0200 From: Niklas =?utf-8?Q?S=C3=B6derlund?= To: Vadim Fedorenko Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Richard Cochran , Andrew Lunn , "DavidS. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH net-next v3 2/3] ptp: Add driver for R-Car Gen4 Message-ID: <20260702084601.GB3906710@ragnatech.se> References: <20260701090607.1108208-1-niklas.soderlund+renesas@ragnatech.se> <20260701090607.1108208-3-niklas.soderlund+renesas@ragnatech.se> <89720193-e8ad-4bb3-b6d2-3253413b18ab@linux.dev> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <89720193-e8ad-4bb3-b6d2-3253413b18ab@linux.dev> Hi Vadim, Thanks for your feedback. On 2026-07-01 22:47:16 +0100, Vadim Fedorenko wrote: > On 01/07/2026 10:06, Niklas Söderlund wrote: > > Add driver for the gPTP timer found on R-Car Gen4 devices. The timer is > > system-wide and shared by different Ethernet devices on each Gen4 > > platform. The operation of the timer is however not completely in > > depended of the systems Ethernet devices. > > > > - On R-Car S4 is gated by the RSWITCH Ethernet module clock. > > > > - On R-Car V4H is gated by the RTSN Ethernet module clock. > > > > - On R-Car V4M is gated by its own module clock, the system have > > neither RTSN or RSWITCH device. But the module clock is the same as > > RTSN on V4H and the documentation referees to it as tsn (EtherTSN). > > > > The gPTP device do have its own register space on all three platforms. > > But on S4 and V4H it will share its clock and reset property with > > RSWITCH or RTSN, respectively. > > > > Signed-off-by: Niklas Söderlund > > [...] > > > +static int ptp_rcar_gen4_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) > > +{ > > + struct ptp_rcar_gen4_priv *priv = ptp_to_priv(ptp); > > + s64 addend = priv->default_addend; > > + bool neg_adj = scaled_ppm < 0; > > + unsigned long flags; > > + s64 diff; > > + > > + if (neg_adj) > > + scaled_ppm = -scaled_ppm; > > + diff = div_s64(addend * scaled_ppm_to_ppb(scaled_ppm), NSEC_PER_SEC); > > + addend = neg_adj ? addend - diff : addend + diff; > > + > > + spin_lock_irqsave(&priv->lock, flags); > > + iowrite32(addend, priv->base + PTPTIVC0_REG); > > how are you so sure that addend will always fit into s32? It looks like > it may go over in some cases, no? Indeed, if the adjustment is more then 32ns per tick it will go over. The register is defined as, /* Default timer increment in ns. * bit[31:27] - integer * bit[26:0] - decimal I will add a check for this clamping the value before writing it to the register. > > > + spin_unlock_irqrestore(&priv->lock, flags); > > + > > + return 0; > > +} > -- Kind Regards, Niklas Söderlund