From nobody Mon Dec 1 21:32:52 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022083.outbound.protection.outlook.com [52.101.66.83]) (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 8D60B30F928; Mon, 1 Dec 2025 12:50:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593455; cv=fail; b=IjSXh9fJHy9nqnacqkNRpSeF6QlqJaDJOxheqzxMZ1p/9wIYybR7vEIKmDqHfqyl+p9KcDo2a0KQsOpsGJ9pYZeoIL/+AlPniJLYAjIqV4iez6hfb427Fy9E6EBnlQ+xsGCAX7WDBhIbuoskGGBJNSM2lkOUPCu6nfBfVsguiJ4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593455; c=relaxed/simple; bh=oEUOU2sYyoKk4nt9iFwl2WKa5Zo5PQStc9bApXKp3mE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=UXzEkmttX8mRYm6ZZ1D8dcPcARaXiBufZyuShm9w9RLCIvTBt1tcLRq5KCWcOYPDPYYAek9hpTr0NCQmLbI2ivwR858ZaCbfqCgNtjd1tC0PSk4GbkiaSXvvFbNgn4lgWUkOYj4D9jFe98aP/wYViOKWGeBxj02Y16vAwNVLqao= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com; spf=pass smtp.mailfrom=vaisala.com; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b=0ti1EpK9; arc=fail smtp.client-ip=52.101.66.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vaisala.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b="0ti1EpK9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=r3J525qclSMZg2kEMAHnGIXIK1gySjeR+dYOtOGgR6ExdOZ2SqFgnKjXBRBlZCadQk1xh9M2PpyacM8GFe6r5T3ujLKbOyUAasWY8T/U0CvZDMRz6fnmNFokKhgxqXziH12v3wMgZDObElMPKDTuXmxns1aA4gvpee1ME2wmVY3BdbwGJKMqiBdD3hp5eVt26kGA4XsAhRXXcWS9nO3b8NfcrusCoVwNYQuu8JQO4MWiBMAuHKGCWnOO1nzzP33UymhNtOyhq4oBM/KFzNSsHFfVorJiWP866az1UiuRB9dcVJldRA48nSISHUm0wI88gbnnpBX2UBDiCZb81p2tzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tzG0bwU+LT4PnpjR2b6zXeg45quwJ45Gu5XDVuUSGLM=; b=ZnokWlF8EpDJiSr/WdAN7Kvtnq39cXXU71Y+JixH3h2YwqXX5B4PcNTsFwRq1qhfWXrEImS6RNgr164QHfhuRxjJ1Rn2qilFTn39dAMhEqtkrIo8EizN853Q9iQUfY43AzsQZtP3O9MRbG6CcwAyV++RZ3BdWCivUIJoRXd6sZFT8Y3vL+x3WUmf69lO6EtWQrmIrabRWuUl/1gpngCp48s1jC1JOvp57bZxJV8E0fAdBoqyIU1M9O0DQamlFRTSBIu8rjB7Fbd3F6zIOZQAqCOxIse5BEEXEq3SYMiZKH8MVg9rvwYO1gYfrx77D089BZyePbWMuvVsxkdfwt6SEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com; dkim=pass header.d=vaisala.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tzG0bwU+LT4PnpjR2b6zXeg45quwJ45Gu5XDVuUSGLM=; b=0ti1EpK9XcuRY10aD/6iV/08UQCtudf5YDh0WYoKlWtWIgQOqzowIV9CPF7VurGmNsWBjQ8lInCh28dgEUZ5jWCrLkYxi0ZVYQwDgabvF4XbqP82HopZDZQkYw7jhf69p9Qf8oGgFCtrZDhs4ReMZNf1opiy1C6BT8o04mJ0HcDI10XJMHvK3mgEKvqVltPyz1HvZRIvMroPuOCAOat03P7jkldxY3Ff7/H7pSYQhwETQws1oN8fpuUfuVDLTxM5sOBBVuz4baWqULZNxOZ0X7ULXhaIJSEMIRRIauThCa7Tlu85hgnNrBJj8cNPidoTby+XMoVl8xfMSJQGNnI7qA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vaisala.com; Received: from AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) by DU4PR06MB10410.eurprd06.prod.outlook.com (2603:10a6:10:61d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 12:50:42 +0000 Received: from AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede]) by AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede%5]) with mapi id 15.20.9366.012; Mon, 1 Dec 2025 12:50:42 +0000 From: Tomas Melin Date: Mon, 01 Dec 2025 12:50:26 +0000 Subject: [PATCH 1/4] rtc: zynqmp: correct frequency value Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251201-zynqmp-rtc-updates-v1-1-33875c1e385b@vaisala.com> References: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> In-Reply-To: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> To: Alexandre Belloni , Michal Simek Cc: linux-rtc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tomas Melin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1764593441; l=828; i=tomas.melin@vaisala.com; s=20251125; h=from:subject:message-id; bh=oEUOU2sYyoKk4nt9iFwl2WKa5Zo5PQStc9bApXKp3mE=; b=wSN/DzwB+Ly0Xf7m9p07qaN9iD9xd/6G2AcbOZeOaj1d8yq1Md5dtvonCNNn2Tx1HlnqQEtZc EPTYWDZym3dDf43LptOIdVFY591scax9o/3ojy13Vg++Fs7BncsIPIq X-Developer-Key: i=tomas.melin@vaisala.com; a=ed25519; pk=6lMiecjZ+OeyZuxYsDm/ADy9D1JKvYrKdsYv58PMepU= X-ClientProxiedBy: GVX0EPF0001A050.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::49f) To AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMBPR06MB10365:EE_|DU4PR06MB10410:EE_ X-MS-Office365-Filtering-Correlation-Id: 72feb601-5a65-4d40-1534-08de30d83c80 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UDl6K3pOQjJzbWkyK1gvVVJUeTRGVExtc1B6ZDhXZU5MWllkZ2hPZFo2Z3pL?= =?utf-8?B?QkVLdzJDTW13WGFJOWVNL0duaENrajF3cDU2bmhQVExwOVBCdEJYU2dBNmt0?= =?utf-8?B?VitvRXgzdXl6b1Yxc2N2UUdwcUVuanY2L1N6aE8wbGNtNUZlNHFPOFk1L0Fu?= =?utf-8?B?dVFZRGtvSjhNUEZ2NU9YN1lIWUV1SkJwVTcxUXhoR1BhalRmaEtPNU12YlBS?= =?utf-8?B?RE16U1VuYXE1ZDN1OHAwbnBZS2ZRUWU4MzhobHJEeDZkaVVSb3lUSTNmK29a?= =?utf-8?B?aTczQTRNOEtuMnJCbG1iQ1Q3L2tyTDhHQUFxZ1ZlUHlFV2V6SlI0bW5jSkVq?= =?utf-8?B?bEVINFZ0eGJVcitxSk10WTNDbThkL21WQlBQbVNEdkdacVVxODlRSWdlaGta?= =?utf-8?B?b1doWUtZOTlIajhLZk9wb250cUpFZkkwTFNxcU5ZYW44OFpnWFlzKzBHbGpN?= =?utf-8?B?di91bUpWakJ5RloySFRrUlFGajdjYml5dk56MU1Dc0UyNHRYcGJFS2h0MnFq?= =?utf-8?B?UmtNekpkNGszMCtXQU5GelJUZmdkbkVQWWRuZm5wTzNFVDAzeFYzNGo2T25r?= =?utf-8?B?QUhkR2NBaGRBd204cll4eXFqUVRocGEvMmFTU0g5cEN2eGJUM241MFppNlFP?= =?utf-8?B?Ky9VUDVka3BxbGVCVG5iSXFlZEljMk1LVDJveEtTYTQ5cEpEZmhDVXFrNi9q?= =?utf-8?B?MVJnQTg2UW9ZeDh6Q2I4cXA5c3B6K2Q0dWlKeStCOFlOQVZTcWlLcGNXTjR3?= =?utf-8?B?emhsSFExWmVNaVgxWWNWSWJ3aUJkaVAxd2hka0xTV2JJdS9qS0cyV1N0aUZ4?= =?utf-8?B?T0hwYjVnWjZhS3dVVFVsYWgrNlVRdjAvc29tN0pITkJFRmo1NTV6RjNtWm5q?= =?utf-8?B?OFZaSnc5NFloNlFzSzVMcG5QNkM2N3lYcW55dlUydm01SjJYbklrWFMvVWlM?= =?utf-8?B?MDdUQW9CcWdIYzFRbW04Y2J2YTNzS1dOdlQ3ZU1IQ0VmSVBKU1VaSFdidWts?= =?utf-8?B?Mmx1WWJsS1FKSXBDbDBsZTM1d0VEcm1WTWg0QUVkRE41RDVFZEoxdC95UnlJ?= =?utf-8?B?T0gyMlpFcFJVMEY0M1ZaWU80Lzg4NGFNY1dsMWJJQ2x1NjYrd1JTNzgvLzZv?= =?utf-8?B?ZXV5YjdvK2ZxZ0UvTUJtdnBWS0RHMFBwZlRLWkZsRlUzUW5hMG9UZnkxUk9E?= =?utf-8?B?MmdGMDA1OVNOQnFnOU1XcVlvOE5oNTNoNWRMd2ZQQ1RDcDc4UWlMK2FCTjRy?= =?utf-8?B?UzZZQjdWa1B4OHM0aHlsSDh1dWFWOEZxOGZ0amZXQ013V0RhRTk1blZ2Qm5B?= =?utf-8?B?enJyODBabkxBVVl2Q0RQNEY2eGlML1NMSFRYY282VjB6M01DQSs4ZmRQa25Q?= =?utf-8?B?VGswdmt6RWEvZTF3T1JsejZPVGZNZ3ppOUFSTGtkdTRYNmVsMU1PcCs0eDk1?= =?utf-8?B?T2RjNDZXdEd1MDA5KzE0TkRrdUl0VUc4REQyMDExK3AyaDVSWDQ3R3NMNWRl?= =?utf-8?B?dDg0TjVqYnFYdVBocU80eUxzOExqa2tsYlFLZ0h6a2E2UHFoS0lwbFUvMUEx?= =?utf-8?B?QjdDcThkZmc2MCsraU13WEI1NTVQZFJ4Qzd6bEYvRnlDZlh3dThIYTVtaE9h?= =?utf-8?B?V1p1Z0p2M1hGR2NlcHovdy85b2Z0WklId21sZmZBeEFrWno0OHN6V3ZiWmZS?= =?utf-8?B?ZlZJMDJMYmI0UlU0Y2tkKzVQZ2dSUnB4NlRETzcrVy9qaVBRU1lMOEROcHVC?= =?utf-8?B?ZW5oYXk2eFNRMmdVbjFEU0lnbW45b0VTYWJQYVlwMkI4TDkzMUE4ME13Wmcx?= =?utf-8?B?UmRNN2p1cmlxQmdYVFFSMXUzT2lrK1BlclAxa0xSbXZJQU1MMHVKNUdldk96?= =?utf-8?B?L1lnOTh0OU1oQnNLaFdKSkdORGJRODRDMG9wbGVpOUVBb2F4VFU2cVJhUzhF?= =?utf-8?B?L1FXMGt2azN1TnkvVUNZYUEzOEpCT0RKN3BPT2ZDN2VhakcwWXQwZDhLa0c3?= =?utf-8?B?cHpScTB0WTI4QTYva2paTExaaVAzU0N4MXJJdHpOTU9tcVI2MWJNK29Kdmoz?= =?utf-8?Q?8Ik/sP?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AMBPR06MB10365.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eFU3NjJRa1BIc1BxdDhwelhZNVFhV2dNM3VZTHFNQlczUGNBclhscWliaGUz?= =?utf-8?B?aThXVFhNSnVwaDRFTnBBanN3Rjd0VHpJNDg5NGRpNS90dThObUpVa3Q0NUFu?= =?utf-8?B?d2lXaVc0WHRYQWxsMWVEMGV3ZFBhaHVoaGFFNEg0ME9xTndqRFhxN1ZZckZR?= =?utf-8?B?bDNCaTZXUzh0MFdKS0owZ1hLNVNSekVwM0F2anJReFdlQ2Rxdko2NU9hZUFT?= =?utf-8?B?bURmNWlZZGRUYzUxVGVHbW5GeWM1am8renU5dmRrMG9JTTRzZlNRSXo5WGpS?= =?utf-8?B?cG9oeW9rbVUwMWx2WmJlYzgraUtXRU5hSmJEYUs1MXdQVEVQMjByS2JBanVH?= =?utf-8?B?NU1MeTZqSExaSUpCWmE5UGlSeVdTaitOUjNUaFBZQ3RKNjU0S3ZycGFydnRI?= =?utf-8?B?TE9iMnQ1QWt2YXU3ZkQ2SEZOd3RqUUlFTXBkRnU4bk5vZTg2T284M0RncFp6?= =?utf-8?B?bjdUbjVFZnA3VEVFaG9zOUI3Y0FpTnNLR2pmOCttcXN4SmtoK2tBQ00zUEZl?= =?utf-8?B?bjkvUk5leTF6RW83NEp1dUR5UEcrSldJdEtuTjUzbE9HeFhQU2J0dnlHbVRp?= =?utf-8?B?SUk5Ny81MjcxdVMyUnRZSVRibnh6NW1Mc29WL2pUUHM5QkFmeFBXMjVPMmVZ?= =?utf-8?B?SmtGNzQ3NjFPM09RcGdpK09Jck1Sd1NVRjBwSDNmNGZIUEwzSmYwSXdGLzdV?= =?utf-8?B?RUZJSmtGOU9rV1BNTGN4ZTBGM0JVb3EzNWRWUlhwcDlMZEhhcnFsRjVMa1pC?= =?utf-8?B?cERFajdtQ3QwblNxT2VKTElBSng4dytiOTVoeTc4ZGZ4WHZmOCtOelREYkNu?= =?utf-8?B?MVdvSTZQeVRhbG5RZ1J4N3lFYXZ4c1dPY20vWWtjbVBYNTBQVnRQd20vbDZB?= =?utf-8?B?eXhYTzlQYUNhakt3ZDVXc2VPbnBkOTRpOHhXczZxVVc3Qlg2SXhmbmU0SjVu?= =?utf-8?B?bG9XMEFXbWxpeXpwVE9makk0R0U1Z3ZrMXY5YjFLbEVoaEJQbHV2TUQ1Snpv?= =?utf-8?B?NlZwMlBUV2FkVm84bmREbElwbWwrbm9ZMUYzT09zanRONGEvZStETVhsaFFO?= =?utf-8?B?c2Uvd3hkRDhpWllMVmZNcktPR3NOdDRuNnZMbHRUeVpzTzJ4L2xCSU8rc3M1?= =?utf-8?B?eHNSS2dQaEhkcVc0Syt1T2VHOWhBN2xMTjZTOG1SR0JDWi9JQXRpbmwvbmNC?= =?utf-8?B?SnBrN2FqcTFhNlZjdDQ1TXRPVWkwenBPKytSZGU3bGJpYW1iNUNCbnE3bndE?= =?utf-8?B?YmlBaHpHVEpxY2JKZmpyZi9xenNJdmUzRVpQY0VqZHFleW1YL2c4Mm80eHQx?= =?utf-8?B?NTRqLzZOajNIMEd5bTZIZGpacldRQzg1MDZDYmVnLzRMOHhCN1l0T3JXK0hj?= =?utf-8?B?VUtieDFuQ1dZNDBHMG0vMXpZUmFUNW8rY1hIQS9KcjRoWHoreE9rUlpid3Bx?= =?utf-8?B?Q1ZWL0RBaUFqUWRpRjZMUFdjdFc5azZ1YUZ1VkxYZjBLNndJL0lEOTF0WDN2?= =?utf-8?B?VDYzMnprNDkycHQ2UkdiakI1c0FnQ2lyRTMvZ0xZQm1CamcxMWd0cFNneGRW?= =?utf-8?B?aVI4dFo5aDhVU2lkNEJlak03MGdYbUtoN3hRdlFpNWpiU21xcXVaTFFvcjVS?= =?utf-8?B?ZUVuZlBSN1l4SjYzTklKK3FqRGlSQVpwWGNudjVDK0pjbWFnTEZJNEIxczN3?= =?utf-8?B?b20vdVJZRnMzVlpZdVAvTGt3TSt4YzMzb09UTEVuRE5oRTdXYzNZSU8vRlJr?= =?utf-8?B?YWRiWWZqZ3JEeG4xZFR6bGlmS24zekZGa2pDaVJicWFaeU9GN3NteldjK3cz?= =?utf-8?B?dG1KeFMzbXZDaFZrZHNoRFNWbDhkYjVkNFR1RzZuVFF0ZVViNjJNK0ZPVGNr?= =?utf-8?B?aUgxQ3NETllTV1haR200RnU0WFQyNGphcHRENkZXem5PRjRKT2QrWjl6SGdp?= =?utf-8?B?UG5QbFBrc1U3Qjd3aU03K0QvaEl0R1doV2wwTmx6K2U3TmZEcXJSUlBKalVR?= =?utf-8?B?U2llby9VaG80UmtHV214Z2tQMDJxalVPV25MMWxNYmovaVB5Ui9OSjhSMDF0?= =?utf-8?B?eUg0ZVlJWDZOTmZTQVZIOWpqQi9nUGQ0aFZGb2RDd2dXNmxpRitDU0hVak00?= =?utf-8?B?WU5xNDU2djgwSTNxNWJZc0k2dE11NVlVVUVwTk5VWW5vMW84OHUxa1RJYTZG?= =?utf-8?B?Nnc9PQ==?= X-OriginatorOrg: vaisala.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72feb601-5a65-4d40-1534-08de30d83c80 X-MS-Exchange-CrossTenant-AuthSource: AMBPR06MB10365.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 12:50:42.0243 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: svNIKBne7EG8eN5MOJylpsPUez8JFq5Ov/KcAfFm81PGngxiuOh9sGs9LbOzQWNEvVEHy2UiTihNaYOF+CeVuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR06MB10410 Fix calibration value in case a clock reference is provided. The actual calibration value written into register is frequency - 1. Signed-off-by: Tomas Melin --- drivers/rtc/rtc-zynqmp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/rtc/rtc-zynqmp.c b/drivers/rtc/rtc-zynqmp.c index 3baa2b481d9f2008750046005283b98a0d546c5c..856bc1678e7d31144f320ae9f75= fc58c742a2a64 100644 --- a/drivers/rtc/rtc-zynqmp.c +++ b/drivers/rtc/rtc-zynqmp.c @@ -345,7 +345,10 @@ static int xlnx_rtc_probe(struct platform_device *pdev) &xrtcdev->freq); if (ret) xrtcdev->freq =3D RTC_CALIB_DEF; + } else { + xrtcdev->freq--; } + ret =3D readl(xrtcdev->reg_base + RTC_CALIB_RD); if (!ret) writel(xrtcdev->freq, (xrtcdev->reg_base + RTC_CALIB_WR)); --=20 2.47.3 From nobody Mon Dec 1 21:32:52 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022083.outbound.protection.outlook.com [52.101.66.83]) (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 8B2D830F553; Mon, 1 Dec 2025 12:50:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593459; cv=fail; b=mCo49O9QHioPmcuaURneBTzPwzYoWiLLb/+BshV5QfIVecx37Lk0HparoXZ4OLAGQpwYhRHaQH0pp/E4/y4N/8sg1GmL4sS/Tz7RVDbjsCcG+EwXWMg6JbOks0oqcBNQ8ZeK6vA6YJLycLQkutypxyVhkE5/A0puzGT6sKVfnDI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593459; c=relaxed/simple; bh=e8cXtb002MG5vq/LNTbuNN4l2v6hlzA2cpgm4Hnaf7A=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ugU+kohZ/ncmJQL/qQWk0KiYSc1AiFVdRG3g1CQKCcvOmw17jhmr7iAzp9Yx0Mn49zwIAbdsmrTFjBYj0iqXrNsloaPIyGZPRfJsF8fMwVgZF3yF3+K0UFnGEHsGSRjgM4wVMVdwsJp+3xKxDF4V9OQtnajfMcwryf+vAQ4Med0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com; spf=pass smtp.mailfrom=vaisala.com; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b=wK6Cr0/F; arc=fail smtp.client-ip=52.101.66.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vaisala.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b="wK6Cr0/F" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eIJ1r6sXi2qeLO5iu9Ijx9WK2mqK67/VOZ8kMlF9CXbKK0PllVeDKezpjDQWj9CHqFD1RbeH8uOQl9zT/Txm61udxwsx5QAdEax7n8yjXXPocmbAOr/YoJVQjdjT08iv1BrEKSlESSGos7rChCd5Mx5G3bNeIuEDqkbqsgPd8w68PellLUGiVRE8JiiUYCSIqxwAC36daySy+iNSPoz0XuXabjRtUSFO4+e58djaRgQr74j78QPdCEoq86buc0SHbsk3j6ePZNqCFWWwhNBHtEepvCjWm/On8ZCCy2hQn7GmGjG03+T/huauK/VAxepL/7OKuMsexAGcIx2JfbBKdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cOEdUKjwg/Urlm5Zz+LxXXwVtWbdnpLiVnTvlC8INmM=; b=H/r8/mPmNWfOnbAdUfDYJB3YlGLZ1rQ4Dx18NiwHZ/CjXXd+RAxX3gYNAKSjDDozvYEjioJ8GM7a0oBayPU1plbO/8w+dlENiay8Uh3ldC3Wu6IVYdjK4Xjx54rLEHdV49wxlfAAAViUvsu5sknJ6w3yFatNi+i+TqVRW6vVpIwv0d6ry2c+W0HFQ4GukwR3CfhlIUtMf6b8zIV78Lgjz4n4qafpmEshUrW3p8n0hzPlVbSp8pFTT7lUqqmcUqcTkoP0KjfdHrMT4uS9xIo5MGKWTxYjqeg3+v1cpDWwJ7q9tR6QNsyKKwtbNWdUjBKqHxIRjFOfh986+V1J94W8jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com; dkim=pass header.d=vaisala.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cOEdUKjwg/Urlm5Zz+LxXXwVtWbdnpLiVnTvlC8INmM=; b=wK6Cr0/Fuy0uzypGPnzTl9Y948AToDNdZsPLx8vKlxkcirjlbXYeZc4eQSXt8Hk8hQGPu1b77sKomrmgmqbCSB4oe/N0pBBs7FQu21w6lnrXwBSaH+Msm2hTDLtZ6JIV6AAcx4/mFQMTB6eXh24w1jRS2nvX1KZawkvNeiRjW9SWU4fsN7D0tLKprLZvkgKr301XJciWUcAGL7t8gO4G8Emd/jll+YCF5cLx3gWL+e7iTImt2VwIkypEwG19Jm7Zf1Kb8dRUekZWRuEl1HdQHBBZhz/M53Rs60RVT7tzT2zWg7TDzRS0BRQkW9TQOpXg51hWy5q3ODevgMnUeXc3bw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vaisala.com; Received: from AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) by DU4PR06MB10410.eurprd06.prod.outlook.com (2603:10a6:10:61d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 12:50:42 +0000 Received: from AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede]) by AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede%5]) with mapi id 15.20.9366.012; Mon, 1 Dec 2025 12:50:42 +0000 From: Tomas Melin Date: Mon, 01 Dec 2025 12:50:27 +0000 Subject: [PATCH 2/4] rtc: zynqmp: rework read_offset Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251201-zynqmp-rtc-updates-v1-2-33875c1e385b@vaisala.com> References: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> In-Reply-To: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> To: Alexandre Belloni , Michal Simek Cc: linux-rtc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tomas Melin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1764593441; l=1974; i=tomas.melin@vaisala.com; s=20251125; h=from:subject:message-id; bh=e8cXtb002MG5vq/LNTbuNN4l2v6hlzA2cpgm4Hnaf7A=; b=rnhwketjSRYpxO2xjr6prEn4jJ5tpnjnVsoPdzOqW7JQBcqPujJh6WPUz1zskL4qx8GBQsmVP acfh7M0J7nCDkOIJdiscMbK3qnIUsJwiy9mVb13QCGGdl6p74VnyScP X-Developer-Key: i=tomas.melin@vaisala.com; a=ed25519; pk=6lMiecjZ+OeyZuxYsDm/ADy9D1JKvYrKdsYv58PMepU= X-ClientProxiedBy: GVX0EPF0001A050.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::49f) To AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMBPR06MB10365:EE_|DU4PR06MB10410:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e1f93ee-7021-4b71-78a2-08de30d83ccc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?M0dLTnBqc0N6RDVYVUtqV1d1c25DdGFjbjBkM0NxZ0w1THBQOW5HYnZXVnRC?= =?utf-8?B?SjdRS0VjWkdGa2o4WUNpZkU1VFN2T2liVXJhay9VVXROdE9TRzNjeXo4U0E4?= =?utf-8?B?TUkwbzBONFhxMWJBaUZRdDlhWFNOMFV3bXNiNFZ6SVlRcUlJeUtIcVNsK052?= =?utf-8?B?N0JESmRxK1RZOGkraGtrWDc3ejR1dDVSQ2lJb3JpdDZuaWh6RUx1S0M2ay9S?= =?utf-8?B?QlVBdkZmemZ5bzlLTmlUQXQ1ajBsR2h3bG00VTkrT0xRUkJsWG5GV0tiZ0JV?= =?utf-8?B?RitHc1EwNTVLclMwUVE0MkNVV3A5Q2xobnF3QmlaWXMwMkRCclZPaFBlSUhh?= =?utf-8?B?NzlTOXRIZTMwOWliMms2TDMzVjVzOXJqNzM2N1Q2RjFtOHRlQUdzWDVwWEhR?= =?utf-8?B?OEt5S3ZBTkNIUFlHM25NRXlkbjVLY2c3KzVPVnpsdmVwNFdhQWRzSjdseDZR?= =?utf-8?B?bldKNDUrai9RVTZ5Smx4d242RmUzTzVOZ2VpVGtqNkpEOUt3QitXNnMvZldT?= =?utf-8?B?TFVKOFVtUGFyVytWK2ZjVTc0b0ZxUlNZSjVYQUV0V0piQ0lFV01tNGNqTmho?= =?utf-8?B?VWNyNU9ndERuMkJmVHNibG9BelN3S0NQcU56V0gzKzE5UjhpK2RuZVdyZ1pp?= =?utf-8?B?c1Z3bXJwNHBsTFdpODViSVB5bFc0bForekx5STh5TThCSzErNTZrM21TVGU4?= =?utf-8?B?NWZpY1JZYVZvUjFTOXgrS2IvOGlYTHA2ZTNUZGpZOTlBTkVad0tOZnoyQmIv?= =?utf-8?B?U2Z3K1VQYUJuV2c3d2NlVjNJaW5UNXF2YlhUR09vdWZmbEtNaEJydmVaZFAv?= =?utf-8?B?M2hxVng3NmJZM2ZENS9ya2h2WW1peHdnUGlhSkQ2MEVobnJhWWlCRk5wZmoy?= =?utf-8?B?aFVIQVcwYVRlc000NDBENGsyOG43ak5DVHVEZXU3RjdQZTZxUndvWVlNNTJT?= =?utf-8?B?UlJiUTF2K0tzalFhVDRFQ045OGIxdFg1c2lnZ1dVVzhpclRuVE4xcHZidDhO?= =?utf-8?B?eXpBM1VFVVdRMUE2WWpGTkw0MklUSjJlTWZobGEwNmpXMkNMdmg1MGpzalg2?= =?utf-8?B?UGl0Mm1lb1FXZjlKNi9iS3lVSWNqRkcrNE9LUUUwUG1iUm1sWmRudlhuSm9q?= =?utf-8?B?R0hRZW9WN0FtdVhZWjczakRJMG1rSDBJQUtXOWtXTVgrRFkvWlhQUHBhamFw?= =?utf-8?B?V0VZdFNKVy9neEVRc1gxWU9qcFFzMk9kTFhGb1FCYkJQaXFiaERuQVFPdzZj?= =?utf-8?B?dC8xSjUwS0RRdll5VjJyQ0M2bUs5Q1BQbFZzWGRJdG1BdlFWSENMSHBoUDVG?= =?utf-8?B?bk4xTjk3TmFNR2NreWhWS3JIRTY2UXN3ajM4K3huRDhhbGdZT3p2a1lKdkRO?= =?utf-8?B?R1paTXRxZ0RBYit2Q3VkODh3NEFuT3lYWkppc1QwZVpaMmxHZ1FlRi9mWW1N?= =?utf-8?B?NmtUaG9jb0dzTkQ2LzJXNGhpLzNTL0ttTlhWRThkMXlNUGZjMDNuV2g1TG9V?= =?utf-8?B?OThEWjBVQitVci9lNHNDNEgxT3J1Z3pNelBFOFRtZldRcno5YmpwMzh6bzFH?= =?utf-8?B?eUh3d3BJOE5rbE11Q0NKdWZFa21vZkFyc3ovUTBBSVpGeVhSUXdUTVFmV2Z0?= =?utf-8?B?VXQvdGhKOVVpYmRlWGIzMmZRbDBZQW1qRUhzaTBtcWhPLzQ1U014NkhxajI4?= =?utf-8?B?ZVZ1MG9xdnIrd2syQks4S1BGNFNaMzBvQU84T3A1OG9xY1RNZ1BGMUphYVk3?= =?utf-8?B?MFUyZEVlTis5bnd4elM5QWRkdWNKRGFzU1h4OFVRTWplL1pHOFRVZnM1SzlH?= =?utf-8?B?cTVqS0ZHY2N0ZGp5VWE0QlFxZ2JjRWduZkJMN1BETnVwN2EySGcwY2tLc2hZ?= =?utf-8?B?N0NlcGNGZUV5by9xK3ZpTncxaDBTOWpXSzhsTUFQa2NUVHY5T0tlNjhpOStY?= =?utf-8?B?anZHRTJaUExHT01SWGxrcW9QYmtHSFJ5SXl3OHZ4ekFTSTQ2NzhMT3ZHQnlj?= =?utf-8?B?ZzZTMHJnZ2VvYUIvUjZqSTM1KzZpRDhIL2RUUmRMbzBLVU1UNXhjd1k2OWxj?= =?utf-8?Q?UV7/L5?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AMBPR06MB10365.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K25nSXBZMFprejhlRVZ2a0N4U2tiNURnN1NWR1lUU0lHRjlYZENEY2pYc0Mv?= =?utf-8?B?a1VLVnZZMms5SnJJbGUzbisvOHFwcHo2RjUwMTUyZmc4N3oybU90MTNHSFgr?= =?utf-8?B?WDZjb01JbFA4SVQwRUJEZnpPU2JVbllFUUtPV2RNN1luNW16MXFTRnA0c2dK?= =?utf-8?B?dnpRQ1N2ckpGQzE4Ri80RndtVHpmZ1pmNmV6anFLNDhCbkdBSXRXanZSSklF?= =?utf-8?B?RDlxRkpMa0hKS3FxQlRXeDhvVlpjUVF4NHlkR3M0TnUrRk9tYzZNaW10T0sr?= =?utf-8?B?bnpBMjZoMi9mR0hiaXFiYlB2WnZTbnkvQ0ZjU2x2cFRWMk1lbnVKZ3JjWkUr?= =?utf-8?B?OVk5VTd2eGk4TS81Rjh5em45SnE5TFd0QTVrTkFGSmg0ZGE1SmRuYlJVMllE?= =?utf-8?B?VVIvcGFyK2ZsZkNSdjgwcDRXWU1wUXRDRXNmT09tRGxYZmtROEVoYkVXMlhw?= =?utf-8?B?SEd3RkMzaTl5bUdYaFlxNjRUYlhWd3RiRFhJbWgwT1BHbm83aEJMOTRJRGJs?= =?utf-8?B?VDBuZFhEc0xsYTFRSFowU0VKWXlpMUdremdoQXFJZWVmL3JQNEw0YzVhSDZV?= =?utf-8?B?clZKdmZQaWF0YWxlTjllSTZwWldhaloraWFkRTN1TFRjMzdOd1h4a1VGTjNQ?= =?utf-8?B?bGNzTng3ZTMwWlhZeW0wVExnSUt6bkVGWm96WHFqaEZRNUl3bzdXMHE1QVhi?= =?utf-8?B?TDVuRHNGeFZVOFc1cTJ5RVhPTlRVQXhrR2xQcktCRHE4RFdxSW1qbGNGQWtP?= =?utf-8?B?VTlKbkpLVkRrWjBNTDVRZnJPSGhQU0dXVXBWVEswVmtXWlYrWmhGRGlLNEU5?= =?utf-8?B?aTlxbDAvUmdpazJxR0VZNzNIVmxOQXA2dGhYZVR4MWM5ODl2RS9RS3kyRmtr?= =?utf-8?B?dW1YVTZPQVR6aERDMXB6cVh2bVU1blRSZ3l3RlV4djZzTnR5cGhJejZiajd5?= =?utf-8?B?WVh4c2VLYUlwQ0I5c2dEWHB5dm9PSzdYWnJGK3g5anRBWjZnblN4UmhwbEJy?= =?utf-8?B?UjdObjdGVjdKeGNyTFVjeWd0a0x4bzJHUDZ5ZG5MTXYrSFZ2cjBxVU9QVGZi?= =?utf-8?B?VkRHY2RCSjlPSUxNS2RoMnBOenJUdENYOEJuMDBuYmZ2MDZhNUdpODZrUXU3?= =?utf-8?B?UXlLWW55ckJKNmRmL293bUJSWmdZWmpydmxseE8rSVBiVEVDVHlncUdDbGNE?= =?utf-8?B?Vzd6QVB3cFd4NEk1a21mK3lHbjFock1kY1RQRG9IM2llOHlsOTFEZWFUbTdQ?= =?utf-8?B?UXpIbFdPWmFQT1ZUS0RzalA2bVRyYzJpekdNQ1l5d2FvTkdibVRnM045bzlX?= =?utf-8?B?djJRcmhWSU00TGVyVitDMm1kOUlZd2JqbEZkY2cxbHZEUFpDcWN2MVhTNXFO?= =?utf-8?B?cDFpTXQ3RFoxWTFPRnhBL1puZ0RYOE1UVzh6U3AyUGF4Q2F3bmpRN0VvUWZZ?= =?utf-8?B?bnp2ckJMaEhqMHUxM29aNWxWMllhMG1TMHZJVlR6NDRBT1FsNURKdTNSTy9s?= =?utf-8?B?ZjZuaTlSbDRDb01vZTMvQTVBZFlScEhHenkzVTNHUzM5QzFRZ1ZOWVdSV2w0?= =?utf-8?B?YURJcVQwdlIxOS9OMmF3dlRmMjNjQXFZNmNaek1SSHB6TVdrb09lZnZSMmYr?= =?utf-8?B?SWhQbTF0YWcrbUJJOHFuTmJKZWdjeEg5V2V5UWhPQ1BkNWlya1FLOTc0eXdE?= =?utf-8?B?bk1qejVreC9tbEVVSWlhSEsxNGJ1QTNXV3ZBa1VFZ2JRZktOK1NHWnNQY3JY?= =?utf-8?B?ckhwNnYrMEZQV053T0xGOFZJMlNlQ1BaUG9lbUVESEVSdmliRmZjVVlhL1N0?= =?utf-8?B?dk1NK3FYcEZaOXJQWElPTlNDalZvSTA1SEwxVTBzMXR4bnhCYjhRaXAvbkt1?= =?utf-8?B?Z1JsRlh6VkErelozRXRpelVGdXNuUzJPN2E4WVNBYjNOQWdMdXZsU21qK1Zw?= =?utf-8?B?VnptcnkzUE02MjNWV2E4YlIyaTFMNzBtWW1ZTnNpTWRxbEFIYS90NkNyWUVU?= =?utf-8?B?bWFiWHMrbU9TSksvUjJpaVZjVzRoZ2FpKzJoYzFPMTFlVHRrRXlhbVhNK1Qr?= =?utf-8?B?Y3g4dmhVcmpNcEkzVHNpOXVkWjBWVnQ5ek9yKzJDYnZ2WUJoUlpVMUg3K081?= =?utf-8?B?Qm5HaCtsUW5MZUxoanN3ckJITVplWnR6UlJtdG9BSDJUbkFBRXpiWmRYRFlE?= =?utf-8?B?QUE9PQ==?= X-OriginatorOrg: vaisala.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e1f93ee-7021-4b71-78a2-08de30d83ccc X-MS-Exchange-CrossTenant-AuthSource: AMBPR06MB10365.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 12:50:42.4903 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: X5RzAUC3/9rfDC4ySB8WVyjo9SwC+ZTLuKPnIbbXYYB6VKKr71jQKP9ae0KdduSZx8Wjw+p2nkahWZTM5oQuSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR06MB10410 read_offset() was using static frequency for determining the tick offset. It was also using remainder from do_div() operation as tick_mult value which caused the offset to be incorrect. At the same time, rework function to improve readability. Signed-off-by: Tomas Melin --- drivers/rtc/rtc-zynqmp.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/drivers/rtc/rtc-zynqmp.c b/drivers/rtc/rtc-zynqmp.c index 856bc1678e7d31144f320ae9f75fc58c742a2a64..7af5f6f99538f961a53ff56bfc6= 56c907611b900 100644 --- a/drivers/rtc/rtc-zynqmp.c +++ b/drivers/rtc/rtc-zynqmp.c @@ -178,21 +178,28 @@ static void xlnx_init_rtc(struct xlnx_rtc_dev *xrtcde= v) static int xlnx_rtc_read_offset(struct device *dev, long *offset) { struct xlnx_rtc_dev *xrtcdev =3D dev_get_drvdata(dev); - unsigned long long rtc_ppb =3D RTC_PPB; - unsigned int tick_mult =3D do_div(rtc_ppb, xrtcdev->freq); - unsigned int calibval; + unsigned int calibval, fract_data, fract_part; + int max_tick, tick_mult; + int freq =3D xrtcdev->freq; long offset_val; =20 + /* ticks to reach RTC_PPB */ + tick_mult =3D DIV_ROUND_CLOSEST(RTC_PPB, freq); + calibval =3D readl(xrtcdev->reg_base + RTC_CALIB_RD); /* Offset with seconds ticks */ - offset_val =3D calibval & RTC_TICK_MASK; - offset_val =3D offset_val - RTC_CALIB_DEF; - offset_val =3D offset_val * tick_mult; + max_tick =3D calibval & RTC_TICK_MASK; + offset_val =3D max_tick - freq; + /* Convert to ppb */ + offset_val *=3D tick_mult; =20 /* Offset with fractional ticks */ - if (calibval & RTC_FR_EN) - offset_val +=3D ((calibval & RTC_FR_MASK) >> RTC_FR_DATSHIFT) - * (tick_mult / RTC_FR_MAX_TICKS); + if (calibval & RTC_FR_EN) { + fract_data =3D (calibval & RTC_FR_MASK) >> RTC_FR_DATSHIFT; + fract_part =3D DIV_ROUND_UP(tick_mult, RTC_FR_MAX_TICKS); + offset_val +=3D (fract_part * fract_data); + } + *offset =3D offset_val; =20 return 0; --=20 2.47.3 From nobody Mon Dec 1 21:32:52 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022083.outbound.protection.outlook.com [52.101.66.83]) (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 5806C30DD14; Mon, 1 Dec 2025 12:50:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593463; cv=fail; b=Cr55XGzSyazaKcPydbvWaObsLCszQk9UMCggB6DFqZrjxJjQpSDdnAGkr472k9rOy2q/vx9ZOwT55TrTctsq3wW+bdvwji7kMTa0915siQjRmPntkC7TdV2t7IL2yjHzTw8OiSA3J/KmwOsaxaegOGZi+WRmKyO6JGY+DGJAk6U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593463; c=relaxed/simple; bh=+TsfrjZ9ly6KMwwyOJc68+nygxm6J76vRecaAk6N5X4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=EMEos+bPTQHokkIJL05bqyxdn3kzgSBT2NdtQJKsC1rR1hJaU4A3d5+9wAQI5WFzHNleo+FpfgDWpYpW4wj7cH2peO9IZRDJqeaihh0i4L+tdxHcLgKgzKLvkNU1dgM41TjpQkqdWqAlrwB+rOlpHEYED+ax8WOpLtq+BezkbC4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com; spf=pass smtp.mailfrom=vaisala.com; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b=3JazVKTP; arc=fail smtp.client-ip=52.101.66.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vaisala.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b="3JazVKTP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oDcPFzGfxju+dbiKMUhH7hvrJuTw9Y/htZlUF2rxF55GbhhUvC9rk30rs3O9zswvMZvCWMw1Zh6M30vYTQoMGWGpcwTOrmbpBa23BRimbumOHvomMmmfMvJieXUOwxFT9Z4Fy0SnkCrgiG/3Qk536IBMzM/SQhislgYoc9CG7EDe5tTkfqDmJWuhLmTu4nH3ND5nMFWNxhOT8Xogs3TaBZVRq8BXTK1j2xWvIWp2/yGzewXfrnnbuxSvz9rcsGTGk18ycHjdCdAoBCwCCRzBhd2LduT9PKfmablSGHph8fk83RXFuZXx/A52tqu+y69kgLDpJuN8yF739EtUTBmmEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7CCD1VvObMnq+O2yBhn0MH7XGXbmxdQVGh3Xz9iGxMQ=; b=S5CRoLBcKEU5SETEiIy7ePfe26thkUpxbOG/g3WKMDIyAvW2dXfgGr63KRACWvdOyz0mmqGxOGqEcCC8f3MijEPTd2P11QcGuXLL6YGRKVGaTMwSFodHMe+3tjROe38NTEShfTgKp06aGDnBpqi6OI4VRrOiY/xb5ok7KAppARov6LivLzHZj8s3vXQjraGDd6adcEDz+uz7dsf0cOYfi5pTsc11ZvtJ5IORsr2tQSYj0euVohpNScOYLpbkklb/RSPMlRieYzbH2QKphRyCRaydPesgKd2I09TMPWrEOKSVrrUrf3XJ+Ncz1rHa8V3/kpiqgCO6IMOtrqKgM9LEPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com; dkim=pass header.d=vaisala.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7CCD1VvObMnq+O2yBhn0MH7XGXbmxdQVGh3Xz9iGxMQ=; b=3JazVKTPa1em6Y80zjs/pfum0xTWtStHicQt0awTfxgHSXehIpYLJVI6ni5Qy0IyrzGQnBhqlv749P9ni/swMeBssLuLgt1FwQU1pvuGKwUgE1Bhd4lkNLXwJcm3+XYzFXFR6G3ejYzxCc2gsvGpxQUG25IalZ4mvLUZmP1g4chC49lPERvV7TiJWq78QunwB3Qb5oR6ORMtHSuaF+qZTIbBo/pGNJ8+zP6CzN2tDV3EsUKIPcbDlb/BDIjhjRvoX5GFCEAMh9BzQNr6bdmdLBNavOtgOysIbUlKaeuyPVim2FYdTgtV4aJXlZ6DFkRni3yN477gOfcs9M3q0mwPig== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vaisala.com; Received: from AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) by DU4PR06MB10410.eurprd06.prod.outlook.com (2603:10a6:10:61d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 12:50:43 +0000 Received: from AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede]) by AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede%5]) with mapi id 15.20.9366.012; Mon, 1 Dec 2025 12:50:43 +0000 From: Tomas Melin Date: Mon, 01 Dec 2025 12:50:28 +0000 Subject: [PATCH 3/4] rtc: zynqmp: rework set_offset Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251201-zynqmp-rtc-updates-v1-3-33875c1e385b@vaisala.com> References: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> In-Reply-To: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> To: Alexandre Belloni , Michal Simek Cc: linux-rtc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tomas Melin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1764593441; l=2487; i=tomas.melin@vaisala.com; s=20251125; h=from:subject:message-id; bh=+TsfrjZ9ly6KMwwyOJc68+nygxm6J76vRecaAk6N5X4=; b=kYnRCaLwa+dGY+mZyZuexlhjSe10hyfHlcR9dPSoQflh08cO7gB2i2Wgz/h9MY34li1OolW4r A8vj9MnOQ8cDGpp7OQv4YFQo2+uXkTl6YiI2vTdeyCTLwzDYXALK7tA X-Developer-Key: i=tomas.melin@vaisala.com; a=ed25519; pk=6lMiecjZ+OeyZuxYsDm/ADy9D1JKvYrKdsYv58PMepU= X-ClientProxiedBy: GVX0EPF0001A050.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::49f) To AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMBPR06MB10365:EE_|DU4PR06MB10410:EE_ X-MS-Office365-Filtering-Correlation-Id: 268b2643-7ebc-4461-0d52-08de30d83d10 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?K2Yzak0rSFY0NDRQL3Z6dkM1SEVpMExDWXNLa255dkhWVDZIeUhuTXpEMjFk?= =?utf-8?B?cFRzNW1IMXhUd2Q0RndidmVxU0xWMEo5enFlNC91WWtyY0JUbDk0RVpuZnNv?= =?utf-8?B?ZlZrblhlS2JFQkhRQzhTemhXbFpoa1ZDaERrNmM4N0paNE94SW1ITFdOc01l?= =?utf-8?B?b1JXbkFrb2kwSTVMZ0UxMFhEdXJuYk5NSG5aYjRFdkJiQTJoNVlGVS95bXRL?= =?utf-8?B?bUhsaUp3V21PdmtNdm9qUVdnMStMRjZtdXQwTjBDR1N2T1MreEcxQzR5cWp3?= =?utf-8?B?cDlaZDNGQVFXZXdqOEpCeVBmYURFcFdhTXNVMmdldURBa3l4cm51M1hWbkN2?= =?utf-8?B?c2FncHNzRzFHWDNESXhBSWtPK3lZMXZzcitIbmZvbGppNkQxem5Uam9QTUh1?= =?utf-8?B?am9PdW02WURsMldWUnI4L0ZpY0E0cW5DMDQ2QjdDMC9sSFNhVmtWamNjeUFz?= =?utf-8?B?T01yTCsxRWE2b3pveHYyTmNPY3ZVN1UwbUE3QXBvdGZnYlhBUW1HWTlvdG80?= =?utf-8?B?ZlVxQ092c3JaUU1tUXVMT1hXREY4UFpUbmxra0tzbTdsVU9XN2xLM1hrYU4r?= =?utf-8?B?UzNOb0xXMWZwRUxjTnRkZHROZTB3b0NWOG5oWWlLUSs5UVdoc2JmSElkblZv?= =?utf-8?B?cGJtRnk3TGpPR3FVRlRGNFBCbWk5dzRPNXBKYmFZYVFycmlvbWsvV0lpejgy?= =?utf-8?B?OVJveU5rdDhXRmw5ckRycVRhWjM5TERabDBsRGFFTTZ6NXpBZTMvUmJ4OCt3?= =?utf-8?B?c2pCRzhULzV1SEZQWjkrQ2hQY1BUS2psMVdFemZsZzUyVlkxL0c1WDFvNkM3?= =?utf-8?B?bXBGc1YxOURESVJzSE5kcUViMm51Nit4OHdhOUFVSVBxd0JHMmRKb3RPRWlQ?= =?utf-8?B?cXlFS1pCMUVnSkJTTjNqMEdYNGtCU0g1RStheGdGUWMvdUFYRjkyNnoxQWhK?= =?utf-8?B?dmRCOGVJY1llQjBXdEZuZFVEMEMzV05tNjltZktMb3V5RklxZW9OaW83N0E0?= =?utf-8?B?MkJVeUZzQ0l1eHU5QnZFYjZZMzVTd3RTQUZEbk9LQ0t4N2JrTElhc3M3UWh2?= =?utf-8?B?TFhOQ09hZmRBYUtiZFdpREcxandPOXVtaWtkWllueHRJc1d2TEp3TXprM3lF?= =?utf-8?B?R2UzOVllWGpMOTJYQ3hIdHlkWFNTVkJuSVFhOUsrUExQeGZzVmk4N2NqLzVY?= =?utf-8?B?dmVGaUk4SFJRUFljaVBlMUxiUDRkTG4vOVd5NE54Q0JqYVVrdG1oanduaDBt?= =?utf-8?B?ZFpnb2hGM0RzR1ljZmdqekFwOC9zOEJWYWRoMW1EU0NMZGZ4cGRhd2EyTE9z?= =?utf-8?B?UXJZejVubCtLMWQ2dUNqZ3lCczhQU2UxSHV5WjRRcElxaXhCMHJUdFVpdU1U?= =?utf-8?B?VlRxYkxHYmhRTHpOa1VISHNoTU1FTDVIb09aZmpLK0FydkljWnUwejdKdnE2?= =?utf-8?B?ckQvTEpJTUNZMnlDKzZzRGthK2NkZ01Ib2NaWmZYbVl6b1ZlY3kvWjNkZFJz?= =?utf-8?B?SGw0NTUxajE5M2VaL3NIYWZpODRma1dzbkpMUEpLRElpSkFTVFBwaXRLR2t0?= =?utf-8?B?MlJLekhNT3hTdG9MMy80ZXJwN2lrdWJxd2lsZVhpbVF6NXVFKy9yTENJb1FP?= =?utf-8?B?UEpZVE1ueUh3R3BQVUNIU054Wno1NW1FN2FiM1RVQUl5Y29qSjlGak1ZK1JY?= =?utf-8?B?SWs1N1VIaVJZUFd0eEhZdkNvMzhsV2lSUHpGVncrMlVkcVZ0emxjZkZIdE0w?= =?utf-8?B?dVZkeEhrWXB4VCtTdy9pdzNMdHR1bFBRdDI1RHFhY0hEbmx2RGxrdXNWRG8z?= =?utf-8?B?U1REc2EvcHk1UTh5b09UZ1laRUtZVkZ2b2lZcnVLQ3YyTWRkTU82eE5QUVd2?= =?utf-8?B?ZkxDWHVGQkJvUXVWNFJQTGw1SjBLUXBVWFBsS001cEhwT1NRQmt0VCtCOXU4?= =?utf-8?B?anFRV2QwaHl1V0JFQjZEU0RoZ1kvM0VmejNXRjhHYU5JUklWcllGU0tVMURY?= =?utf-8?B?UU9GSThwQkE4RkFPRlNLQTQ2eEdEVlEwMUpvdFZaS3MyQTVoZE1MaDdUU2sw?= =?utf-8?Q?ubhr5c?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AMBPR06MB10365.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ym0vL3Vyc0k1dWpWWDlhdzB0NDd1OUlVaW1DTjFlZ0Z4dE9TbWNhUWthMnQv?= =?utf-8?B?TG13M0JFQVFKQnNMNE5NNHdVTmlEUnh3R1g2UmtDc3c2ZUVnSHdGT0JOSThl?= =?utf-8?B?ZjNoa1VlWlRYMi90UXU3NVZ2ZkFPTHdrdS9KVjdsSlVFTkJOK0d5cGx0MC9v?= =?utf-8?B?dHVLY0dvUW9oaml3bVduQ01yOE16YVBxWmdQUmdodEQzODgxTlJpbEZTc2lL?= =?utf-8?B?SGE1MTdkdmxkVkNzNE9CUkZjVTYzdm0rMlNiQyt3WXRvNllMTE0vbTdtZUR6?= =?utf-8?B?YjZ3WVJldi95TWVMcGFTb1J2MytNU1dEazNvOEl4U25YYmphUHQzcWh0Z29L?= =?utf-8?B?VUppd0RRM05KWUI1Uk1oSTZjSDBmbkFEWlQrZHA5SzdJMGRTa2diZVBUZEJW?= =?utf-8?B?K25FeUdlZ1ZTc2YyNmJkSC8yU2twUWhacElhTkxmZnBRanM3MzJmWTBqUzBW?= =?utf-8?B?SGRtV2VlMGl0Mm5OOE1RWGpvZHVoMlQrdFdqSi9pdnNQbjljdzNVYlFQUndq?= =?utf-8?B?NWpSSjRvaWtsRTEyTjRjRTNFZGJYWnJiSlZIbU1vU1ZBZWdzVXNnYjA0ZnZX?= =?utf-8?B?d0t6SHAzTVBlNjV5ZlQ5K3phYkRQS3hGUGwyZngvcHNtVm1RanJXMldTZjJO?= =?utf-8?B?bk4zblV1S2Y2Z3hZS0cwVjBxQTEvNHlyR2drbXhobEdWbFkrcVRaTUxxbjlH?= =?utf-8?B?K2UxcVpJS0x2MUtrYjFtWi9nbGN4SlhKUjhTblo4V1lPdWhlWW4rQUk1MTdE?= =?utf-8?B?ekVZMms3VG94c3NkOWtKWHd1Z0ordnB6YjZyZkdQeEx1aDZGOWxZUVI4azdw?= =?utf-8?B?TC9iTlMvRW4vS1c3akh5YVdkLzlhdlYraEVWY2Jiem12MmdEcklXcWdtYVlP?= =?utf-8?B?dFdnTHpHTjMvaENtMmFVZnpBNnh3YmowSzJxbE9JOVRIdUhscmxMVVNJelFk?= =?utf-8?B?bXZUVkg5a3dPVnRRNVZ2cWE0TStWUVVxUERPVEpkT29qb21aNjhrKzBoV1Zi?= =?utf-8?B?aHdYREtqRkJIekkyUTUzRmJNTHJYMmNTZnVkN0hJMWhCMTVwNlVSYVIyZ244?= =?utf-8?B?NXFEc21DUXVQUktYRGcxb1M2ZW5pYmErbmlqK3NhR1ZuL1RmVk1abGMrM3B4?= =?utf-8?B?QlpyYVJ5WkVMc2E0YkZRN1hvTFhsMmhLYy9rMWpoUFdzb0l1TzVxOHNFNmcw?= =?utf-8?B?QSt2WXpxNG9vckhGajM3RmVheUtrSjByUzhaWVhJMGVMbHZvRFQ5WUpHd05G?= =?utf-8?B?ZDVwTHoyd1Q0U3g0QXJVeHdOM0NHeGhxSExHMFRNVlpYbVhqeWFBbG9BVXBt?= =?utf-8?B?VXQyRjA3aE13Q29xUVBOaFN3VG1YOWU4aEZ6dXIvMG9jVTh1VlhHRkM1RUNu?= =?utf-8?B?NEt1OVN0UXI1OWJCc2tXaXBGeFMxdlRiZ0JVcjFBS1Yzam9NNWVURXN5ZDBN?= =?utf-8?B?QjBUakxHeFdkVlNFU012R1F3U3ZGamFSNEkvYzJWRlZCd2wxdy9VNG5GdVZE?= =?utf-8?B?czRoYWxManZ1TU9pSVhZRU93ZVhQbTZiZFV3V0lFYXRIVDR4WUZYdUdKSUNO?= =?utf-8?B?ck1UVmg3cWY1dksrMUg1SCs0SmpXekFNTHVKS1VhT0pXbnFSenp2UHBucUFJ?= =?utf-8?B?b0tvN2MwcU5KWTZDeDRFTHdPTlhqZmFXelp4RkxKN1BDQVoyYjM2dnByeXl6?= =?utf-8?B?S1pYTHpHZXc5OHVuUy9FZTBIc1IwL0lMTEFHM3lKMFg1ekNjdXNyaHlGOVE1?= =?utf-8?B?c043Tkk3NDQvcy9KdCszYzl3akh1emMreXN2Z1Ziem9IUjNiVFZWWVVvaVpT?= =?utf-8?B?elBETWhvMXhVUWtrU1dvNE1Jalhuc2g2VUpFTlNVVzZnZVg0RW9QOGZyVGtC?= =?utf-8?B?b2EvaENqS1lrbDI3MGgzYzZYTHFuNWRjRXJMakxMYSsraUVSQXRlMVNaZGxp?= =?utf-8?B?dXkyUEdVQkNjekJYcHp1RzhsRXE2UTZ1allzYWVtV21Eb3dYcGZyc1g4ZHdI?= =?utf-8?B?aWZlR1VGcTczSTlpdFQrb3EvM0txQ3JhNGdTZW5aOXVBVmhkZGVuTWhHWmhj?= =?utf-8?B?cnZybDA3ZzhqNlQyTStBSFg2SnZ5aUdzc1FvV1QwSWhreXk3WS9vaU5PL3ZX?= =?utf-8?B?NmprckRIaWJTUmVvSDdEaE5Sb1E1OGFHb0Z4RWw3NkZxMUZxSXMrRmswQjkz?= =?utf-8?B?SlE9PQ==?= X-OriginatorOrg: vaisala.com X-MS-Exchange-CrossTenant-Network-Message-Id: 268b2643-7ebc-4461-0d52-08de30d83d10 X-MS-Exchange-CrossTenant-AuthSource: AMBPR06MB10365.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 12:50:42.9436 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wJ5gpKe9BwPOIPbgiLf5hKafEKgMHlN7rOI4ywKf0jxNKE8etAb+/f9o6pP1QHQZtzGnLHnnubZskLDvXWyEtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR06MB10410 set_offset was using remainder of do_div as tick_mult which resulted in wrong offset. Calibration value also assumed builtin calibration default. Update fract_offset to correctly calculate the value for negative offset and replace the for loop with division. Signed-off-by: Tomas Melin --- drivers/rtc/rtc-zynqmp.c | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/drivers/rtc/rtc-zynqmp.c b/drivers/rtc/rtc-zynqmp.c index 7af5f6f99538f961a53ff56bfc656c907611b900..3bc8831ba2c4c4c701a49506b67= ae6174f3ade3d 100644 --- a/drivers/rtc/rtc-zynqmp.c +++ b/drivers/rtc/rtc-zynqmp.c @@ -208,13 +208,13 @@ static int xlnx_rtc_read_offset(struct device *dev, l= ong *offset) static int xlnx_rtc_set_offset(struct device *dev, long offset) { struct xlnx_rtc_dev *xrtcdev =3D dev_get_drvdata(dev); - unsigned long long rtc_ppb =3D RTC_PPB; - unsigned int tick_mult =3D do_div(rtc_ppb, xrtcdev->freq); + unsigned int calibval, tick_mult, fract_part; unsigned char fract_tick =3D 0; - unsigned int calibval; - short int max_tick; - int fract_offset; + int freq =3D xrtcdev->freq; + int max_tick, fract_offset; =20 + /* ticks to reach RTC_PPB */ + tick_mult =3D DIV_ROUND_CLOSEST(RTC_PPB, xrtcdev->freq); if (offset < RTC_MIN_OFFSET || offset > RTC_MAX_OFFSET) return -ERANGE; =20 @@ -223,29 +223,22 @@ static int xlnx_rtc_set_offset(struct device *dev, lo= ng offset) =20 /* Number fractional ticks for given offset */ if (fract_offset) { + /* round up here so we stay below a full tick */ + fract_part =3D DIV_ROUND_UP(tick_mult, RTC_FR_MAX_TICKS); if (fract_offset < 0) { - fract_offset =3D fract_offset + tick_mult; + fract_offset +=3D (fract_part * RTC_FR_MAX_TICKS); max_tick--; } - if (fract_offset > (tick_mult / RTC_FR_MAX_TICKS)) { - for (fract_tick =3D 1; fract_tick < 16; fract_tick++) { - if (fract_offset <=3D - (fract_tick * - (tick_mult / RTC_FR_MAX_TICKS))) - break; - } - } + fract_tick =3D fract_offset / fract_part; } =20 /* Zynqmp RTC uses second and fractional tick * counters for compensation */ - calibval =3D max_tick + RTC_CALIB_DEF; + calibval =3D max_tick + freq; =20 if (fract_tick) - calibval |=3D RTC_FR_EN; - - calibval |=3D (fract_tick << RTC_FR_DATSHIFT); + calibval |=3D (RTC_FR_EN | (fract_tick << RTC_FR_DATSHIFT)); =20 writel(calibval, (xrtcdev->reg_base + RTC_CALIB_WR)); =20 --=20 2.47.3 From nobody Mon Dec 1 21:32:52 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022083.outbound.protection.outlook.com [52.101.66.83]) (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 C822E30FC0D; Mon, 1 Dec 2025 12:51:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593466; cv=fail; b=YZbTPBBJofMAyLSlqXFuC3Xm/i2Ekn/uoR/8FIU324K1uH9tJl/vm8Ko6SfNKN88OKh7dVzO/HKmMSe2R/mMtb9OaTqQfcI57BrcTA8eSplPdcHM22B5SDt0NZ6AuHrUdqIE4PrkGhJyX0cfdioC3MjoJHfnmO+ujznGPNxitl8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764593466; c=relaxed/simple; bh=Y+veERhI52/OsiKxxXUQwe7DeNg2u4plRSJfzPoeomg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=mdUJW+yFH7LHvn6GmVTYJixuI+l5CteuHpptW5OQpSoMAcuejdWoU7y/ZlLcDi8O/v6ORA2UIhn+OxN/ty95thMvKhL1Oc402TRGAfqp6hWTkW00qC9D5kHWh8Xj5HgaD91pbdKBaT/LzUrmVhO1Xe9GVuS+M7xc6w3aRaorY/s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com; spf=pass smtp.mailfrom=vaisala.com; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b=kGh32OTQ; arc=fail smtp.client-ip=52.101.66.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vaisala.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b="kGh32OTQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OVa6Z27goPIpWn2W43wqwNUG4zKSrjvsUTvA4OY/U2dUxFk7zPPRbl2L3iZl7zzaXi4SC4WmTtNdVc0YLyscfpAfwW4eO9p7aeBKBZ5IQbXVfCV6e8yLvnFMgaaxy82f4to3I/GoozqNBiLLBp8owpkIXPXGzflLW5pXUq3UFs/3Qol7FREUwa0Q5HnOJSBEVo/jaeMFenfdcbgfmhoBGKIVkmLD08Y1mcI2q4eIdBX+T9vJiax0Zmh77r6xWuWNnkbtAQ6vSN0SjcmeyzFjzt6Dso4/pPNkcYzLIaYgYdRhw4aVEjWT1FLuHUxLizdIBqDc53S3XxgbmF5TBMyzAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1qkt7TTfyF3XYxas6x2VQksWJvY77vO21rXl+rKQduE=; b=WPAYbhhA77DAumu+nTXfJ4F2sHcXQQSv9rq4GnaRFNKDx5hfYDFW5G4Mj3rEYW3BOvP25Tl7rAAsUwbf+iW/1xdhSOjAHPsD3tjoPytbHAna1ojjSaw5xaUyOpemHaFWfVqb1Et7my+ySLnbW+MWLOC7mIddJs1fSrwGC/Y6+7hM5KnzHwy3lnNfl/WxqP4A7yxT+TcrpY7VrqMmSAznI8i/+ShS/qtKAiG6qJzyMNFhYCf32fG1oPJUnWGN6JcrzU9qU94aX0E+AIMJScTjX00okRVsH3uYnhub3GPfHNeT6DGkz7gigGyzrbgM+fbMvuN4C96Ks3uzIE1qhBcQ2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com; dkim=pass header.d=vaisala.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1qkt7TTfyF3XYxas6x2VQksWJvY77vO21rXl+rKQduE=; b=kGh32OTQIpiaMCNILl2J2+FBnwlgUYRIHcbsvd6yXSluQZ/z/3d6Z1exQ7a96s/4cdd0mYFawpVPdef///Pw1UJ6pjKtRqg7kCF/BhfXv3wk2XiXd0NwUYy0tiG3CfhnmCh0LW+Nwf+xQ+31k0hvtFI8jwuHvwIvwpG8RqOElOBgoxMLsUi4fTubd0yYUdq22h/9kHLYUzGYffluUC3M8pJ0FnET8V4YAccUoWK7oxZzzDaHSiZqssgkpec3Aj0Ym0tob8T+1GW+KY5PN5kLVGcRWZg7CYIZmvYOY1lbSeRm3x/owJz8rSaAIuf0O+L4iskOIHN77nFGJuqbCXXs6Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vaisala.com; Received: from AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) by DU4PR06MB10410.eurprd06.prod.outlook.com (2603:10a6:10:61d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 12:50:43 +0000 Received: from AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede]) by AMBPR06MB10365.eurprd06.prod.outlook.com ([fe80::4606:8e25:96e6:bede%5]) with mapi id 15.20.9366.012; Mon, 1 Dec 2025 12:50:43 +0000 From: Tomas Melin Date: Mon, 01 Dec 2025 12:50:29 +0000 Subject: [PATCH 4/4] rtc: zynqmp: use dynamic max and min offset ranges Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251201-zynqmp-rtc-updates-v1-4-33875c1e385b@vaisala.com> References: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> In-Reply-To: <20251201-zynqmp-rtc-updates-v1-0-33875c1e385b@vaisala.com> To: Alexandre Belloni , Michal Simek Cc: linux-rtc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tomas Melin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1764593441; l=1357; i=tomas.melin@vaisala.com; s=20251125; h=from:subject:message-id; bh=Y+veERhI52/OsiKxxXUQwe7DeNg2u4plRSJfzPoeomg=; b=t8b8RPW8zEEqLFM895uTCWd4Ry/RtPp3xurIv9WhkWLN5Q3xxDBDKZMZny9YwKlo5+AqW6KzA dg0Q4wVnJf1BD9bnbiTBZr/GbJShkiiMA5rwVvWI62SfX3C9vfvWM9i X-Developer-Key: i=tomas.melin@vaisala.com; a=ed25519; pk=6lMiecjZ+OeyZuxYsDm/ADy9D1JKvYrKdsYv58PMepU= X-ClientProxiedBy: GVX0EPF0001A050.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::49f) To AMBPR06MB10365.eurprd06.prod.outlook.com (2603:10a6:20b:6f0::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMBPR06MB10365:EE_|DU4PR06MB10410:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b507171-bb2b-465e-126a-08de30d83d58 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VFlybG5HNkhlNk1sd3lVSkhLdnYxSUpNTm1BQ0tXTWZkc2xRU0c1SGpScEdL?= =?utf-8?B?R1ErcjltTnA2MjA0QnlMUGhMUDBnMXdDbGVORE8raVFvakRIUDlvV01xd2Vh?= =?utf-8?B?WEZrOTUrb3UwUUJOT2lwRlVOZ25ib01QanVoMXoyMUJMeEhsZkY4Y3ZyYytT?= =?utf-8?B?cVk0SVpxT2lIc3BSKzM2eEVnK3pnMy84d2JHd3IvSWtCYkdreFNJUlFneElx?= =?utf-8?B?RzBJQkFEcFcwOTViSURvYjE1MXdqR1F6bGpZSkh6NXkvaVdFYXpib3l2V3BH?= =?utf-8?B?UTBKUzgwTkFMdUtqR2J1YnFJSDdNeTFDK1NIQ2ZpcXpqZTJCMTdBSGxWeTE0?= =?utf-8?B?cXVHZzhpayt5S2dUK21qQndoeHdDVE9FSTAwSjRpaERFK3JmN2lENUJ5aU5U?= =?utf-8?B?bjdhc0hCVmU4ZGk2OERnSjRFYVlMODlsVW9jS1ZhSnhTMzdscDJ2Qi9YaGJE?= =?utf-8?B?eXZLZWJuaEh1R2NNR3ZsU01PWjB1Zlp0MWFRL1NTalhhaFZUaS83ZWU5MWhi?= =?utf-8?B?L0YzRGdiNXRJMTJRRWJVampQTitER29QVUFwM0xvT1pwTHI5ZzVTZWI4dUdq?= =?utf-8?B?N0hyN2tUMjRWNGd0cEZhc3JLemZDWFdhQTByWmRma1M5d3YzN0xIUUJocW5m?= =?utf-8?B?dFJTTWtaZnI3cWdWUnJFR2g5TU5VNUFUNWRhNStNT0s3RC9hZUQwdjhLeFdV?= =?utf-8?B?RE01Yk1vVjFUb1ZYbWJQcy9SSThiNjg5NzNOVy9hcUZGNjI2by9nVHRla1ZM?= =?utf-8?B?TStDQUJ2UWJaOFlnYTJaU0xicHNLbWorNSswUHY5OXFQRWhwWjEzRnRYYnVt?= =?utf-8?B?N0w5RHBsdi9qa3l4M0Y4UWFobmVwRDZ4SWo4OSt5L2k0WSs5Z3RJWnk3QTZF?= =?utf-8?B?U1JRYVdyellVUHZJaFlYV3UvaXRmY0kzbVNHSzRiSkx2UkN1dlhpemVKZG53?= =?utf-8?B?MStWZ2lpdk1kWVNBNlBkMmUzYzlOVDREaGpXZi9peHpDYk5CMy9tam1xTlU5?= =?utf-8?B?bkpaQ29OTUY5Ym5oMDV0RzdJSTdXVnFCd1JBY3F6WW03ckluUG1WRmdnbHFi?= =?utf-8?B?YW9xU3BZaFY5ODNRejMxaEppNmhiSzhzbVBXRms4YTJhT2Z3MENoM01jdEtK?= =?utf-8?B?Y0F0K0duV0F5aysvSG9sK0J2SkQ1RkZiVlUvQ0FZTmw1M05ldmxVenpqdGUx?= =?utf-8?B?dnB3OG1NM1dGTHV2NDlYRVlQSGl5N0pLVXlKOHNVSkpFUHZNaW1TdVExUVNs?= =?utf-8?B?cUEycUY1dkQ4QTYrNXg4MXp1eDcxM2k1d2tsajNUMklCTWtQaUpnTlpNVm5v?= =?utf-8?B?KytlZklCVEw5dldWSHR4UmMwZ3dWb2l1OHlLaU8xaE9jQ2h2UWlCMW1tajFU?= =?utf-8?B?Tm9ISTIwYXJ2WkdnaXRhRkkrNzJsSCttbWlYa2NNTU0xQ0VHOGRZQjNiSjB0?= =?utf-8?B?eFdrYnlqdXBoL3BMTFVrNExqa3cvRmFBTXpLbFBTNlB0OWlVN1Q4QzYrNlRP?= =?utf-8?B?OUd1MGNZZHZwWU9HOVVPV3RmL3NLNUsydXF4Z2o5VTAwSVVyL1cwallYMlk2?= =?utf-8?B?SFhaWnUzVmdLYkVDZ0ZYMTVVTkROZzBjemMyTmw3Sk02MEZjMFV2aWhDNEhn?= =?utf-8?B?UVFpMHFEdVJ6NU4zdVpkMGEyV0ZieXovdnNJOG1SdjYxR0NjSFdxNTZBQlNM?= =?utf-8?B?MzNJVUpMWnlha29JMVV4U0xNTTZDTWZLNUs1amMyRktDbXZGVjhQS1ZscjZ2?= =?utf-8?B?UHZ3TEo1RUw5T2ZhR0I4ZDJGRi9kd2FDYzFwMzQ2S215U3ArTkFOcUs3K2ZB?= =?utf-8?B?THROaEYwYUxOZEhRWFVibmJXZkFFNXcrQzYyZWdTVlFobE9jS2VMbFBnK2RQ?= =?utf-8?B?TW1ERkdEOW0wZWJGK0N5MTcxZTFKS21HR1pYTDkvZXlvN0xaTzNjTjRIV1FF?= =?utf-8?B?Rzl5Qjg2a0FxdmhIYnRxcHprUWxmbWpMdERFbUVkREVwaENrdFFZdGFyWHVT?= =?utf-8?B?M0hOQzBEYitZbkpjMVA0TXpoL3lOc0dnd2Y4Y1dSMW1HVGhXSEJqUCtzcVN6?= =?utf-8?Q?31DrWB?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AMBPR06MB10365.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bUM5cEZ0WXdpcUhoQ1RzeHFLQm1uampPVm0wZlJqTzBkSDB5UU9OTjBsQ29V?= =?utf-8?B?MTFpUmVjZjJDUUZ3ZGNLUy93ZkRGZG01Nm9EZjMrODdnNVdJdnF3TXJJOEw4?= =?utf-8?B?VzBUUzljd0ZYWHdvbHFEekVQcDBubVdONnBjb1p3M1k3M2N2Qmk0MURNeWg3?= =?utf-8?B?M1lpYkxZUFUzNDlSV2x1YzJDd2N0bkpNNGdtTjBoOGE1VlJtcW9PTVVJSmcw?= =?utf-8?B?d0JZOVJQam5BV3o3T0JxaDVZZ0tHRDFSVGlvc0oyYkZxTWI0SDZxaFBxbFhx?= =?utf-8?B?cFkyQnhtTDhQUUJDejU2SFFoS1RPZW9TYVlhTkdaOW5neEhFdVJkYUhVMEpy?= =?utf-8?B?bThnbnlRTzY3QVdCbFpPOGk1emExRlY1RHcrS3NyVWtScldHOGk1MUxHd2d1?= =?utf-8?B?d0lMK1ZtbDFmTFFvN2lvSm9iSHVSdU9nd3dTeERXMkFNTk1jSzlvWURoY2hS?= =?utf-8?B?bXVIZFZlNU4zY1pZTXBJM1hVekRPSFBZQkUrOC9qdTVRMTlWOXRVc3NHSEQw?= =?utf-8?B?SGNQM0tWK0hwTnFlVHgzWDUxWUM4TkR3OWxnSnRNbnlleUlodndRLy8vOUZQ?= =?utf-8?B?dGMrd3kyZC8yZk5XekxHZG1iMXpTNHhuc2JkNzRkOXJ1RFA2WGVrcEppL2Z2?= =?utf-8?B?RGUxYXVpMndIcERsUHFZd0hJMmRCTTNtQjI2K1hnbmZGaGJCWktPNnd4Y01I?= =?utf-8?B?ZDJvRUg1TkVVWW82RXRNc29tTVZsS1Jpb3JTaktwdkpBamFxLytuNDRJVDBV?= =?utf-8?B?VTF0SUtYSWFpOXozYmtXOWRlR2NiWFlLeTY4YXNzcGNBNDZLVTdZclNybXph?= =?utf-8?B?WnZVNWFqaGhIWFNDL3pJMmJOOWFwM1NGZjVVZnR1b25QcEV4S3dTdWpQTWZD?= =?utf-8?B?blc2aWNFZ2tnTEVVSmpKTlhOcWNEN08wZlVEUDZSOG5CZ3pYM3pIZEsyUXFQ?= =?utf-8?B?eWJLQVZnYnE4TWkyZTlUNllqU1dveUYweDZNWWQwclZzT1YwTElPMC9lUndN?= =?utf-8?B?K2FLd2cwK3RTYmR6ckF0N1JSaVlLSkQ3MlVnZURNVUlqcFh4UExKMmp2dVAw?= =?utf-8?B?a0JoSERRUUNENE1PRW0xSmtmV09HT0NONFY2SzNYSHM5ZXpkc3JXd0xETmI2?= =?utf-8?B?SUREanlOSVJFOXRlbUpqN0NianQzQ01aNnZpeGlTSnA0NTJQTTl3c01jcGJz?= =?utf-8?B?U1RKdWdFcTRReXBQYTRpYmpyNWRMYm90VER1SXB3VVB4Uis5Y213QUEyUlZP?= =?utf-8?B?bUV6Z0NwemxGLzlaTFJaNW5rN1VZaGk1Y1JWT3BzbVdoSEd1WFVkVHlMY1hH?= =?utf-8?B?UE9wSS9LRnlidGFQdkFzVGdReHA1Uk5uZUZFZVdGWmxsZVNMemY5TVg5WGt0?= =?utf-8?B?UXJxdEY1S3F5M0dYWEl6dGl6ditLdTdDUlNZRzZpdUZVZ205eVdEdHpKTEdO?= =?utf-8?B?VlE3MVFiNE5vTFZaYjFWMWs2R2duYWwyd2MxZCtNNlVrZkFDSWJnUDdRSUcy?= =?utf-8?B?cTFhTHhNTFEwUXloRW1saDZ6OU94TUd5UkM5RVBQOXM2M2ZqVU84QnZBNkdQ?= =?utf-8?B?R0RKSVlhUmdjWmMvVFJGRjZ2elVoMHNBZWpmQ3NpN1d5WHNyOUFHazBQcGhs?= =?utf-8?B?TWVpRURZaWRMQkNPRmFZd09hbTRwSW9HR01EZFYyVHp5Y0Ftd0hIeXUvT1FK?= =?utf-8?B?cU9hc0M2QUJsdmMxak01TTBMSXRpSlZZWDNWSFVmc0V5amdvOWt6OVF2N1pO?= =?utf-8?B?bTM4MXZmVXBKUHFHYUZRd0cvdnNpd2FEUFB1cGdzb1ZmblBBQVVhQmVkSXJl?= =?utf-8?B?Q3dkL2hrWm9IYkNZeE5FeUJIM280QW41aVJIQWc3SmZHdGVoREEvQUJlZWZh?= =?utf-8?B?aHBlSFVsTWlRVElWMjhTVnRETmo1VHp2MmI2RnlqV1QzQ1ZSVFBtbWpmSTQw?= =?utf-8?B?cW9Mcnlsd3Nsc1p1VHZSMkpTSzBDNUZlczdSVnlKVGlZTjVnZHNGN2xyYmk1?= =?utf-8?B?TjNCaVY0TEVzd2J4Q2l5d3ZDM1NuMG9DUEx3LzU0Z0hySlB1dU50cXpiZzBV?= =?utf-8?B?YmZSZEt1bGNPZXJjWGt0VC94QWxwUSs4bEx3b1dWdE94NHhqM2QyWGJac1dR?= =?utf-8?B?Ry9oZjZTL0o1c0dtUVh3WExHRFBpUFFtMzdIbndTQm5xR0FDRmlxbGFacTdX?= =?utf-8?B?eVE9PQ==?= X-OriginatorOrg: vaisala.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b507171-bb2b-465e-126a-08de30d83d58 X-MS-Exchange-CrossTenant-AuthSource: AMBPR06MB10365.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 12:50:43.4777 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hFGaAWaUR0yFqK6UHKNVR5maUyYZdTBoxDk2ctYRIVLh5YOuMavh5bHrlGmxe8M+5aEtLA9IcSA++qEvCKVKOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR06MB10410 Maximum and minimum offsets in ppb that can be handled are dependent on the rtc clock frequency and what can fit in the 16-bit register field. Signed-off-by: Tomas Melin --- drivers/rtc/rtc-zynqmp.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/rtc/rtc-zynqmp.c b/drivers/rtc/rtc-zynqmp.c index 3bc8831ba2c4c4c701a49506b67ae6174f3ade3d..0cebc99b15a6de2440a60afc2bd= 1769eccfa84b3 100644 --- a/drivers/rtc/rtc-zynqmp.c +++ b/drivers/rtc/rtc-zynqmp.c @@ -44,8 +44,6 @@ #define RTC_FR_MASK 0xF0000 #define RTC_FR_MAX_TICKS 16 #define RTC_PPB 1000000000LL -#define RTC_MIN_OFFSET -32768000 -#define RTC_MAX_OFFSET 32767000 =20 struct xlnx_rtc_dev { struct rtc_device *rtc; @@ -215,12 +213,12 @@ static int xlnx_rtc_set_offset(struct device *dev, lo= ng offset) =20 /* ticks to reach RTC_PPB */ tick_mult =3D DIV_ROUND_CLOSEST(RTC_PPB, xrtcdev->freq); - if (offset < RTC_MIN_OFFSET || offset > RTC_MAX_OFFSET) - return -ERANGE; - /* Number ticks for given offset */ max_tick =3D div_s64_rem(offset, tick_mult, &fract_offset); =20 + if (freq + max_tick > RTC_TICK_MASK || (freq + max_tick < 1)) + return -ERANGE; + /* Number fractional ticks for given offset */ if (fract_offset) { /* round up here so we stay below a full tick */ --=20 2.47.3