From nobody Fri Dec 19 11:52:32 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011035.outbound.protection.outlook.com [52.101.52.35]) (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 6B46A239570 for ; Mon, 8 Dec 2025 07:13:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178040; cv=fail; b=mRXyzDYrWSHoZFE3POpqrp8oVPRS+Zm7lvQnDUNUDNJw/Zeed9DAjwvAXDmQesNDL9aunFarbBeHeJI7qyF9llhLsW7+VlqvSshG/bRmGWa3M0VTefhoWdXGN3XhiuIueP9HyH+jrQO2i4/CxFfGAiUbuJ70M63R9anqmhvu4Y0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178040; c=relaxed/simple; bh=GCMH2hMNz92ioHOMoJ/gjUab6W+PKwaEycbVCwURfG8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=mCEG9cN7JEJXYuDAl4qLXKkSQ/G4DIiD6aM8km/FLWCTeS5BQRJrFzmmYL0ELlWWT3ZpKor0M5hQQogmBtGvhc+UOU5O24We57uJdq2AQc1csnkxY2Cg1hv6AHkWWMvVy1etpcaKVbicoPQhrsT9W8VOItgY+uhktoU0r2A43Vc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com; spf=fail smtp.mailfrom=altera.com; dkim=fail (0-bit key) header.d=altera.com header.i=@altera.com header.b=r6Wn2xTW reason="key not found in DNS"; arc=fail smtp.client-ip=52.101.52.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=altera.com header.i=@altera.com header.b="r6Wn2xTW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TNO52/0lIWDEpetkMlmtlz7PwF94VwllBHZpWmG/5MEX5nrR0Cix7+4XiVmElThAVnTmHctGVkob0l54eRSRFca0CzVDC/brV780CKYixlm9wshy2o3RPHGT1yQ3MH7IGjgomDgmJKXliTiDeTHqbjEH+GWR+HmHQDEX+B3m2hftHknYGwCA1d/dKa9oNF9HLWwF87sgX8pKDtDou2BWeysyeIcY2FtnUSPAnEg546rrUgUYxbyOLeJYcj6CO72iFxbiozMijFEg2uuxRfXoSK6cRgbdE4xV1O4pI9uAFvav46wPFbo5E/HtANxvgYzZzDqgUm+8DXFxGDem7Tc7fg== 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=xaEm0zOzBn21jy0g8I48vBFSxKXMaKvwGSbcmsiaP+4=; b=Gj+2Nw0Cojwd7fcT5v4dev5OzVAi/bIMR0WvuJCVGkLKzhkiv5unXP9Ym2lA2IlFYdi06Ch0NTqOPIt8kYHFVcFKrKUTQDu//KUhIvYYsYeIsMxQCi48j7k4zyCzxgVXm4YKUUIhIewAvfI5FZPKrygaktN3/H7t5RIPPSxPPUVBGt+VsJHV3gQKDGUXyhHXwl1NHBRaJNKowIa7Rwe40cIHuKzEKv+0k5acBn7ML6EritCPILtjm0DtKkSSH6CPbpVkGSgKFN94e/0R85anveYnmZzuv4lH0foIKJ+TZuaYf6LiZQatX0J9tii70hmccS5O2sgNT23Zi1jC5CfjGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xaEm0zOzBn21jy0g8I48vBFSxKXMaKvwGSbcmsiaP+4=; b=r6Wn2xTWYTd64ypIQziikuq/GHj6iFjQ3xiMojXYZu8tHUT826ZgC5qZD/z3uGJng9xUUaUqHc6JmHSRZEC8Y/eY4hfyLKQ74CEbDuR96qMJsZ3kjo/5q6QoCxHHVUATaGYi3IpcnrSzDFsKFg8TQSE7noHRvIHJnZGsDfH86CdrB75eGItKpRpUPGrr0PtHztjephhjxLPfjepiQBjhVMHKrQOlSg/libPooMqpGLjT9ZAXZQZb2w6lONrCAWx+9rxFHXvNmQdw6wsCrDDKOH/fYowTcgzkxs6Nc7G57vElDr1xnSkA6B5MkhvKwea9+UR5nQCuiRdyWQBDE/o9jg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) by SJ2PR03MB7475.namprd03.prod.outlook.com (2603:10b6:a03:55b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 07:13:54 +0000 Received: from DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542]) by DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542%3]) with mapi id 15.20.9388.013; Mon, 8 Dec 2025 07:13:54 +0000 From: adrianhoyin.ng@altera.com To: alexandre.belloni@bootlin.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Cc: adrianhoyin.ng@altera.com Subject: [PATCH v7 1/5] i3c: add sysfs entry for Device NACK Retry count Date: Mon, 8 Dec 2025 15:11:16 +0800 Message-ID: <35bb0a3cae4664dc423ef57a1ef3ebcb378bce00.1765177110.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU0P306CA0060.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:23::7) To DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) 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: DM8PR03MB6230:EE_|SJ2PR03MB7475:EE_ X-MS-Office365-Filtering-Correlation-Id: a13d9f50-f807-47a2-83da-08de362958a6 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FSVByePrutGurq5nW6uqhByQn0ibOn1ZF0v0sgyVjpWBoEhZT23X7LRlX5Pf?= =?us-ascii?Q?BkSraUhkMeu85HI42X/hzvIWxwhBikzabNt+VhThGAWTEpI3pSOK8wHB7bvP?= =?us-ascii?Q?uC0YccvCtaIndbQsZ0AUzDaq1sp78ef1K24oIdIjg6pEYXIQ8gx5gzDbea4Q?= =?us-ascii?Q?RoxoQIw3q2iJjvy9IvNnIROyM3ucPYD8DJpxjFtoyPH0Db+DMh8r86fjjoCY?= =?us-ascii?Q?1oHTHrPCxtOxRkSFDIVrlIl6V85DRcPDOi+WeVpAMfjY3SRRbmue2rMr3Z+c?= =?us-ascii?Q?D64hhYx6JxcRCVl4HbYbKO9UH85B3thDm/4uQUhbV2MVQReSH//Hm4u0pse2?= =?us-ascii?Q?l/L5z+MNDanCYxEAaa+4NW+fwyY/i7nfJsVPQTZ43SAoTOZjuV+KaZA2W2tO?= =?us-ascii?Q?vVD9hoy81/Y5/IIs5veer/nqZOP95oQDaXCju/nsoXcqqBDo+l5MzDShBE67?= =?us-ascii?Q?sczy33wtW9Hta+WrwEVc2pglyccHmDd3jCpIk1tlfgx9q1SoTjxkIZPj1lBI?= =?us-ascii?Q?wiQbpq8ta7YMwD5NWFEEEpmkdxWx0DFWQpKC86Eb7IExKZ4CeLk9uxIvo2GO?= =?us-ascii?Q?B3WuPY6cX5lyLA6XZm3W8Dnog3I0PmGU+IsT2Igmt040IKzx2Yg8hjwITeL5?= =?us-ascii?Q?oY67B/NNDr0P6L3qWufX+xi6d0DMIJ2pLmLlQSXlXkFtXxvtCbH9m4kS1Wnj?= =?us-ascii?Q?egV/JY9XPzAREfYj0sJL2CjTHAtlKD33ubG/2KbB74RDZ9ja/qrK944KKBLk?= =?us-ascii?Q?ErwuaF7K3ygwxsiriqHjyGguRjWFx1u2m5jE4W4DJlmmmTuCUypdXwivYM8+?= =?us-ascii?Q?YzruC6uy6PoXRfpBl6lwDFh/f4BtaURW6pccT9I16VtuUNxKf5V4dcj+EPS7?= =?us-ascii?Q?J31FUukkntdJ4Hn52S90QLvRvKhFfejNiMw+mJFxBUWK9eLt3veN+1zNJOw3?= =?us-ascii?Q?KGr23Qz8IW1VHaC8XjW1XJRgrwvlmTv7gk51chLPt4Q8YfYmqhgpev/nqaAJ?= =?us-ascii?Q?A3UtJ4TI3+n5dfaS8k2DGsfo3sXKnQlRmdwLow1ir3EIgiMWZx0BW5xjM0X+?= =?us-ascii?Q?s1Qh7GBey+SNgZm/jjf+RIHZV+XxX0U3LDAr24UvDWplwZOggf2uReMf20pY?= =?us-ascii?Q?9NZ/B1DIhE0vaGR6dsySAAd5Cp5JECXwy4tUI9SgDI4U39tJ9D2KZ0yN/ZNl?= =?us-ascii?Q?uTMAhxHJjQLquacmkEgmph7JHZ8hMb2U+a1KM+gRm91wxQoUytPyE5/9ffHR?= =?us-ascii?Q?6YAuAKV/YLgRm4hnAOf5pBoiVeObrJMkv1kmNPuEjTHRgep0rHgyx4O8wWaZ?= =?us-ascii?Q?CDeF8WGMLKhQz47S+Pp1Jx3SuF0uwaPD+4sTEJ1Heoe9bHgW6iLVMUHp7sJH?= =?us-ascii?Q?GLLlVXVVWqdBMQVsm5U1/IowBvNvqxxyu4ZGHbDPmkkxLYu9+TritwO+JaZX?= =?us-ascii?Q?IbrgbKPIUZvC0JMZRCPm1sp+TZM3EFaX?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR03MB6230.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?slOJnTynSRsHPdbI48Zr1J6QXXfs17EmPkXydsmZR5mnpChT+vve+MJaUq0f?= =?us-ascii?Q?FexuNjruS2HVmz/WPEk+XZAM26KRwHcCWfu/AZYG+6e5uqRKFLPv/u3ZExN9?= =?us-ascii?Q?FHXp2MBiCfLEruUI2e3ssFbk51vb4ksmNTPZ5AjCHTllM0MQ0l/6mbkdtkI/?= =?us-ascii?Q?200i980Az+Qd6F2cawKe5K2dkdrnZN1/ZkLOO6GJGrTp9dFtWPjfHb1VRdPR?= =?us-ascii?Q?72olChHYJRc0u9b8xCQtLxG76zvk6/q4pfsq3sh1twgw4C7QuMD6p8AKloiP?= =?us-ascii?Q?XhS+85cTRP6fidun5ofn2x20vN5SEAKG1V5aRHmQo1qnZHuASkO0EyiPNDIc?= =?us-ascii?Q?GeuNi1veZLggV9vm7TYXuHcqx/AH/frrhsw3FWoUlrOtvas4c/A/grjCn+N1?= =?us-ascii?Q?KRBtUFs1qwjJCT++PxQKkSqLMEKxGFKfs1XwG575+6A0DRbFfYYCq/f5Mdh9?= =?us-ascii?Q?uiqk2ATFPeioBNitFNmM4XqyUDtH12o7RygermuowquY1Fuia6OfM58V5VYR?= =?us-ascii?Q?dwuGgwFP5vYRMYIb9UZbOwGOEc5BinOw45woJBDh/IWzvSfuQxD6swuEkrDF?= =?us-ascii?Q?cVZhtVH4UPWQ9vlz2WCTz4OnBEAnP27N/i6nbsf2X6gJmzJp9PXTC8E0BMyF?= =?us-ascii?Q?VJaVWW1BURQt68iZie8fALKcLgx+zQvjifRazsnvppJ/MVGJOvjQtSE/HAD2?= =?us-ascii?Q?9XMWYkRxHYeoEyGd9NCN/0G/zhnUbdTrLPDUkvvjD6Aq1yHZEpfmA2aBwBZV?= =?us-ascii?Q?cQlFkh5Dcs7FiZBtpMkN9pJSxi4dcOrRrCmfABgjgEI20g5zKsuTMTqg8DVd?= =?us-ascii?Q?dsjRDYOkF9aRq/fGj21oR936lqF3NiVtPyKBvmz+r+jiWYQdht2J4eDLJIIo?= =?us-ascii?Q?xSvGOX/7OQInHdx+h5JvtRmL70q9LHHfzxwOr3gRx+3p0SP2xSYaDBxWAWmc?= =?us-ascii?Q?W+frU20YQ1/6SMebxVMIiMGye8359zy2wduwf6TBvTUE9GjsKohkspNmxUhb?= =?us-ascii?Q?VNySHj5WWLLBY50dPe14/H2IwRyk91L2jZB5qroY2vaAY1SNFONUahXjq5Ka?= =?us-ascii?Q?SdAjRywdZa23+i8iUtuhzE0GQA6tAeT8Mf7UjOrrXXpHKvmqXxBeSuiKekfH?= =?us-ascii?Q?ldB88zLd7eZeYzeqFp+t3er8rNkEx9q5C18h1psj4ZxHNv3xkvZwRO6GiD2A?= =?us-ascii?Q?+d7tId/MQ0mR+V7GeKEwrSSsA7azsgAAItNN3juZuJ1VoMPps/pTGr9cFSfe?= =?us-ascii?Q?GJKVCAOMW7HUiRZGm2LbyTg8/viInic02yq/WcYivtY9x6nJ/OgoXn4aEZI8?= =?us-ascii?Q?xUk3cz1kWcPIfylK2DBGcb2LeNhtVFVpzc4Palh0HITkG5WjXXCtJ3ASF6Lh?= =?us-ascii?Q?IBtVEUft/jLs7ZixWvZgc1naXqmJiK5i9CatDpb2JKY4oiIMc88DUIu7/fxH?= =?us-ascii?Q?mpuscHvNva03P4eT2BPBS8fs618uhWrf3DIsCEZqZhbupBLrhtit2cH6oLLG?= =?us-ascii?Q?RQvneQbbbn0vmWqDZKh3H4b1JovnUWQyG5HVyvexS9B4vJbeM4EI1D0lS8H+?= =?us-ascii?Q?hxVP8s72dq96fRwcxaTtbICE9dDcLulZ6lxPCecbqc3qCIKIg5ncnZN+oA9I?= =?us-ascii?Q?FQ=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: a13d9f50-f807-47a2-83da-08de362958a6 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 07:13:54.7077 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 22XhEqljYrQ5e/D1maya9hC97pj1pdB2S9TPcwB3wxPiIzm6Tv4Euf7nOyiP1ucbwCrVNfWdnjryH/CtQQYFJQkKC7RrLK8SnNUStB4xt70= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7475 Content-Type: text/plain; charset="utf-8" From: Adrian Ng Ho Yin Document sysfs attribute dev_nack_retry_cnt that controls the number of automatic retries performed by the I3C controller when a target device returns a NACK Signed-off-by: Adrian Ng Ho Yin Reviewed-by: Frank Li --- Documentation/ABI/testing/sysfs-bus-i3c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-i3c b/Documentation/ABI/te= sting/sysfs-bus-i3c index c812ab180ff4..0b8a0c223f4a 100644 --- a/Documentation/ABI/testing/sysfs-bus-i3c +++ b/Documentation/ABI/testing/sysfs-bus-i3c @@ -161,3 +161,15 @@ Contact: linux-i3c@vger.kernel.org Description: These directories are just symbolic links to /sys/bus/i3c/devices/i3c-/-. + +What: /sys/bus/i3c/devices/i3c-/-/dev_nack_re= try_count +KernelVersion: 6.18 +Contact: linux-i3c@vger.kernel.org +Description: + Expose the dev_nak_retry_count which controls the number of + automatic retries that will be performed by the controller when + the target device returns a NACK response. A value of 0 disables + the automatic retries. A max value of 3 can be configured. Exist + only when I3C constroller supports this retry on nack feature. + + Valid values: 0-3 --=20 2.49.GIT From nobody Fri Dec 19 11:52:32 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011035.outbound.protection.outlook.com [52.101.52.35]) (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 419A025F994 for ; Mon, 8 Dec 2025 07:14:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178042; cv=fail; b=jeXM8ppYNR3iHuUE6NrbwL8fT9TVD1ulnaCTb5CivIyGJDVuXAZG/Jk4lMdpAHyncpp5l8RWvLgNFj+YGwa/Sc2Cwr0KoJRz4Qax+/LQ9lOEx28EBDDMVeAF52Q3mQugkOy8ulf7EwpwsjTURaku6/HD4duJEUncyS5DlaeiikQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178042; c=relaxed/simple; bh=KCgF9Qp90aydiSVnRw3HeNK1choqSihcMpTJTg9cq84=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=cPc5Q1V5YyC73BCODjGVE8mIzdfl03awULM7wvEuV2n6Ba/rrlPmiyPe1lHyvSCo90mR3UuEK9knMeN/6ixzfo75GucsAe3djh+PSz9L2k4zet0G+DPydfAMoTBAr2IHyGelcEuUrxPGWd0hOSUj8hmnWScUwCSwM+8/xG8KrYc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com; spf=fail smtp.mailfrom=altera.com; dkim=fail (0-bit key) header.d=altera.com header.i=@altera.com header.b=rCsJZQMN reason="key not found in DNS"; arc=fail smtp.client-ip=52.101.52.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=altera.com header.i=@altera.com header.b="rCsJZQMN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i1l19ZAxvAg8EOk/jnIWZfFWgDP3z5opHPt6JN6m8GhhQoxfuHVWdIp4asgKn2gUZTogUAlZN1k1kicxnYzpXQiHLgQeS4FQ4cKrLnKtzRmqeFJtDgwZ6egnByL0STUT5uO6hDhu4608S8jiajDP0DhwF1+MZLKoTvUIWcuQUWKsko/iex7DZFdpQdJa2HjIfjJ6F3BFnJ45vOGLQz6dDk0jcGXEPZgUi+IzrjnlseIGIGpMqyjHFbarq0lCZcynKsuYUcPYTk3ZuN5PeVbUwcar+CaqEfz/biC5BouKXnDU942tR/+BbaXGnqHra3m4snv7klxCvdZLJK7jEvcdJQ== 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=vOLHnx/9IBSlMK6fF463WP3obguPRwXjgeAJMXuBphk=; b=y8Pgpz8aG6v+VxnqhqH79EM6V2tfSf44AMNq3dffviVQzibNxpoRpycLy1hQvToezVUH/tuodYl/6JTxzn7r21fRW7rhjiIv9OG+RZgJY8p/UaFlP563Sunyghj9X4SeTq/XVbPJ/Pblg3H3b6EUXyOIYZLFJnOpTvJJ45Upuuav/Y3phfe6XZWT4vS6w5uoBGBF5PMp9b7bTm+yVaqTsNuQUQb9kX4VbHigf0ykH8OGleFjj8QB38+79xwcTumHmuLKEI1dQqfai/YKjxsmo8NEKybxWq9lenY6nF6XiF9rIsPH4Sykwr+OiLqGgth8sGXzZF28ddc0ddB9lytLzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vOLHnx/9IBSlMK6fF463WP3obguPRwXjgeAJMXuBphk=; b=rCsJZQMNx1p2B7soDIfQVx6VxGXfpXogYuS/Z2ZNi0mG9WIp0PDhl94CnrKoMjXt8KRTD9rX1LGEiCvm8XWoaOUlL10QX/qnYmiDbNjXnuBKRSWi5GvMMBP0cjlAUC0VHyHzgOTav4edUCdogDH1OTErN3LUWVe9TreASGNdX3fIxOiwGA7msuPODGCL7d+7Zw5TjQ7UrQS6Y36CSZySlMb0feduSF2rW8JgToixk2Nnk3n9OpQqJWiDJJUBF//0mJzkkXPjuDzkFKeYa6mkkW2WYzSUnF1ZmXYXoUZaaFJ5n6G0Dv6ZWh0mL2U8nEWGQRLeuKOEYeel8ITmyDMMTw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) by SJ2PR03MB7475.namprd03.prod.outlook.com (2603:10b6:a03:55b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 07:13:57 +0000 Received: from DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542]) by DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542%3]) with mapi id 15.20.9388.013; Mon, 8 Dec 2025 07:13:56 +0000 From: adrianhoyin.ng@altera.com To: alexandre.belloni@bootlin.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Cc: adrianhoyin.ng@altera.com Subject: [PATCH v7 2/5] i3c: add sysfs attribute for device NACK retry Date: Mon, 8 Dec 2025 15:11:17 +0800 Message-ID: <39c0289a838af7e6bbc5736f0d114b2e895556b3.1765177110.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU0P306CA0060.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:23::7) To DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) 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: DM8PR03MB6230:EE_|SJ2PR03MB7475:EE_ X-MS-Office365-Filtering-Correlation-Id: bc501ee2-8067-4e98-e0b7-08de36295a1d X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZINd0o201IBGKZ+QEHek6/lL68zrJAFoahscRoRiPiCIz/aLumDRZz4tVEkh?= =?us-ascii?Q?dRnNMqwK1z9ESBvJWNT1gR4F93jeKqELNlUQpFHpxazicJl6416Hk5Q0NLhl?= =?us-ascii?Q?jzViez9Z+Enk/17slhTIPUaqgyXVQ98MTH9sRj+anS2IZAZ5jZeaToDi3obN?= =?us-ascii?Q?JWbFvdwqSxbC6aTywxiwCnZx/oSPmt1qwLzsr+K2f4bDzYAAH2bESZnI80uq?= =?us-ascii?Q?gfhqVb3gLILE97kNi+fcCS9MTzG4xJdpncDoDVO5kixy+NW42QG/QNYp9v5Z?= =?us-ascii?Q?WZDu8kK0Ps9iT+BTZSyCUAJrh7uP4mYWOwVTHaMmb4q9BG3mcWvyUVPYL4B3?= =?us-ascii?Q?NFCcOwnljYPrUv5Ch9qNrjBgJx9XDpTlYZ2bY3mOcujrbPafiQoZF9FkWuPa?= =?us-ascii?Q?+QA8hNqPC0i7UTCnDlTScDeZtfZYtoBNk95/PoV1RxPoS/W6csD/gFdJQx/p?= =?us-ascii?Q?sx4IYMjq5mAELGtwzErEPAbtOLEBquJe10VOTRD5HRmSnLOOee5oa52Ucc1C?= =?us-ascii?Q?b2EE/MBH+0g+T1loRMIkNUJz+7FM0MW54hZdd+dX0Hc60q5+dvD9ddV4XplL?= =?us-ascii?Q?dYq78AtwhacnWezggUtYIY4+Yrzq/Qh8Gk/1+YvpwUrUHTBzkAQYyPJBy1et?= =?us-ascii?Q?INgRqWXZPPN43+MRD4OUvGR3Sb5OUK31eUWRt+nFpKTFGUXTUgyCwhDlv4xA?= =?us-ascii?Q?48NndUPMIcYekpOo4+9AYTn0MpOGxvV2mGDqWQ9GX2qAbp458eM6DzI2gQZS?= =?us-ascii?Q?XltlwtZE6NGcuvzqiFM9dU+Z+78V8mRQjDoBQ2hELWFe+8CqfWvJRLPQiuqZ?= =?us-ascii?Q?R5zl6mgqABAdlCc4rtuBLTJzWVTT8lFh2atBX/pLm8/smdtjI/jBosuX8k0U?= =?us-ascii?Q?bJgcYDh1JRx1NoZWC1AXMvui8vwFFHIKGYLdFKAplBgERIwQSvNefSzL2qHa?= =?us-ascii?Q?m1MrhCbqoupF/GYJ/khLX+Q4Am5YBpHQhyeAkVp1ZK7l6Cfq0UaWl6N5T9qU?= =?us-ascii?Q?A1hOfEE1+h8jMbAQGcNT/bQrBXCCQlaReF/9dn3Ald74hK2FSvZ8Ixkefsoe?= =?us-ascii?Q?XJHFsLIiCVGIFPy78rO4U/XXS7v/O23F4MHE1osSbPQKPT8BIZfQ28gp3gXv?= =?us-ascii?Q?S1U6UTu21yISCcQwlrWUdNi7vfEekSl8bTwK4Fk8BDHZexhOK0QHhd7eN0Gw?= =?us-ascii?Q?HJ2yERt8igcMDetAM56PegfwSw27Y3N6QTfhb7E68b3ppVoB9yjQ1NAV1rNI?= =?us-ascii?Q?Um+PQREa1Td1NTwURh0bLsRAfrpij+MFD/rlihaUfgLJgtXILqtLv0z8SZ8e?= =?us-ascii?Q?oyg/sMvT4Fh5S3hEzvo6r0k7OxhHKF9D8dLYbqq+0zac6JbwB7s0xXJI1e/0?= =?us-ascii?Q?i/R4qrvG7bXEsdj7j7JrOBFQFbftT80mdP6CyXVkahVjUJUoiZSNfgaTZXru?= =?us-ascii?Q?07gdvUSC0UfsoMnBhvvMIaVeyfxIP1R4?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR03MB6230.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RLGyOIuKFQPTYwjMQDdWerQmwD0VubDrWWlBgZXiWXGoBOZtRfgzYztfbnap?= =?us-ascii?Q?NoS3FckglLNoJMtuEo564hPeqicPwtdBM1FTPU7O9DMaCVAsQzWb8mbRmwW+?= =?us-ascii?Q?wBoRBa766PHD8suujf9TnVTgWABjVo06IfkXLizMWpsVbmvLdRtaH+y58kON?= =?us-ascii?Q?vRzXOU0qtKk6k91AtihefRcyhmR4oG8pzMREDBICsjUfrl59SsoKAgzJo3YD?= =?us-ascii?Q?wALIX4H2b7vX9Ysj8feJ3VIKDJn+WUNScydP6qijDdp4e56yKIbX5+eD0qSl?= =?us-ascii?Q?yXJWwsVpZCnr3v7wR+vspzZ24C+gOWy21Zu2NMYDoJQkUef+n7rNHndEmRLo?= =?us-ascii?Q?cM1rRHxHDDoxlNQrwOvEJJ2M7dJPrK80OsSGwRNcFwy3xnxG3nX2kGMagByz?= =?us-ascii?Q?cgPxvK3SqTDOWV+Tjo53Id6beeYPtFndWRBlz/F/puYdL+uWE504jr+1bqxY?= =?us-ascii?Q?khjFafJ/Am0xdmfBDwyVi6N8dOYDet2WARyHV1nP0Ff57BdPsY//QHHlYg+a?= =?us-ascii?Q?sNuoX2LfjRTaWSDwEm+NJ5m5ger577XfvUT+mkOQ5yHG8eN5UbuOXNAiTL9w?= =?us-ascii?Q?YKJeWKyxp4j1PUgZ9UOYUY6fqYeasvO6o9sr9FbW0I7oDA6kaE7NXc6guTNS?= =?us-ascii?Q?yo06TsIAR0++s/VOdducO8juZfR/5IE1IZTcTE7Bib8B0PQJjwUMxKaREM4d?= =?us-ascii?Q?VzW4smlbEgZE07aIVRw302OY6PB0IBx+hFpKBzd851rZp34Tvh+v+RG+NDcn?= =?us-ascii?Q?VDxxun3NKCmk8F0TUpG/+8M1SIgaB1oV3GClz7a0j04vsT5mrPrK6JIKFgd2?= =?us-ascii?Q?4nm+TegbTTJyRIkKed8LFjW3bnrEw2HrYWfWMo8WhRkUfUltM6v1ZHfSRyXL?= =?us-ascii?Q?P/yjFRZusRfzOZrBgyBpdyxXbaUYd9ltOJ3rparmJfKB323+CrdVI2BCQpdu?= =?us-ascii?Q?Dp2yuw4ofy8qRjC7fWXHrvWV80zbIg8qiyypaPf61IoIJP3ZNZ7o/WcxcSGx?= =?us-ascii?Q?GbsAJN4Qx5+KiN79HPzxYgI3EaaCqp5PPWcb513tCqjBc7SLLd9Q/CQI9z3I?= =?us-ascii?Q?/sz0ZC4RPe2HTWk5nEJN3LY1kF3XqIEAZiT/qDzw1Btu6vCqcAIc1PVpBbrg?= =?us-ascii?Q?AF5OBZVnIhM38/nxL3wXQEXOaWedGNbE+lZzluEem3/uhGcaAVqs4FytqNNd?= =?us-ascii?Q?aPy+vGHEld7lELKUmlBkqNYxIvB7c8/zG6iZxHcarQFNGxF1ZH6fr0L6mPqn?= =?us-ascii?Q?glmBuzNWINT0NnadGHVkIStwJ1/8O5WAM5/v9xaFNP3A7xF3niSRLzzDMQFv?= =?us-ascii?Q?uBX6/VHFJ5rM5HSd3rOUV5Vh9YR4HQczlOUh7j+leuBEpwIyMzDMFm6blwod?= =?us-ascii?Q?Q2T+st5ztOEPrKsp3BC/d8RQB1RxgYDPKn+Np3QLDAutE14fTL+o4u7atIAC?= =?us-ascii?Q?T6ZLE50N0nxkU0IvayPEM7PsYBHV2NkFBU6fhA2AbRPL0eck5OuGDVlisWQT?= =?us-ascii?Q?HDzawkmXZ9SDGpOylb9jRGOiXp7uB/fx67Zt5a5GEY8KbdA5JYtcpIqRCpQJ?= =?us-ascii?Q?JZDJdaOhDwTKHJ+1mpo1NxWnouNPXxF4Us3m5gFAcZwughD7Mch6CLSyPsrX?= =?us-ascii?Q?Xw=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc501ee2-8067-4e98-e0b7-08de36295a1d X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 07:13:56.8329 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WEj8u1neZ1WPlY04hNvFuTg3he2U15h2FxNRz5UQpLhx/HIpCTGu8kpOalFPUi1KfVZGQ+lf5Hfsg8fH3WgTt6YqPVbBxPHFtJ1Xx95dVkI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7475 Content-Type: text/plain; charset="utf-8" From: Adrian Ng Ho Yin Add a `dev_nack_retry` sysfs attribute to allow reading and updating the device NACK retry count. A new `dev_nack_retry` field and an optional `set_dev_nack_retry()` callback are added to i3c_master_controller. The attribute is created only when the callback is implemented. Updates are applied under the I3C bus maintenance lock to ensure safe hardware reconfiguration. Signed-off-by: Adrian Ng Ho Yin Reviewed-by: Frank Li --- drivers/i3c/master.c | 38 ++++++++++++++++++++++++++++++++++++++ include/linux/i3c/master.h | 6 ++++++ 2 files changed, 44 insertions(+) diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index d946db75df70..2903725bee03 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -685,6 +685,38 @@ static ssize_t hotjoin_show(struct device *dev, struct= device_attribute *da, cha =20 static DEVICE_ATTR_RW(hotjoin); =20 +static ssize_t dev_nack_retry_show(struct device *dev, struct device_attri= bute *attr, + char *buf) +{ + return sysfs_emit(buf, "%u\n", dev_to_i3cmaster(dev)->dev_nack_retry); +} + +static ssize_t dev_nack_retry_store(struct device *dev, struct device_attr= ibute *attr, + const char *buf, size_t count) +{ + struct i3c_bus *i3cbus =3D dev_to_i3cbus(dev); + struct i3c_master_controller *master =3D dev_to_i3cmaster(dev); + unsigned long val; + int ret; + + ret =3D kstrtoul(buf, 0, &val); + if (ret) + return ret; + + i3c_bus_maintenance_lock(i3cbus); + ret =3D master->ops->set_dev_nack_retry(master, val); + i3c_bus_maintenance_unlock(i3cbus); + + if (ret) + return ret; + + master->dev_nack_retry =3D val; + + return count; +} + +static DEVICE_ATTR_RW(dev_nack_retry); + static struct attribute *i3c_masterdev_attrs[] =3D { &dev_attr_mode.attr, &dev_attr_current_master.attr, @@ -2962,6 +2994,9 @@ int i3c_master_register(struct i3c_master_controller = *master, i3c_master_register_new_i3c_devs(master); i3c_bus_normaluse_unlock(&master->bus); =20 + if (master->ops->set_dev_nack_retry) + device_create_file(&master->dev, &dev_attr_dev_nack_retry); + return 0; =20 err_del_dev: @@ -2987,6 +3022,9 @@ void i3c_master_unregister(struct i3c_master_controll= er *master) { i3c_bus_notify(&master->bus, I3C_NOTIFY_BUS_REMOVE); =20 + if (master->ops->set_dev_nack_retry) + device_remove_file(&master->dev, &dev_attr_dev_nack_retry); + i3c_master_i2c_adapter_cleanup(master); i3c_master_unregister_i3c_devs(master); i3c_master_bus_cleanup(master); diff --git a/include/linux/i3c/master.h b/include/linux/i3c/master.h index c52a82dd79a6..5a03e5aea6c2 100644 --- a/include/linux/i3c/master.h +++ b/include/linux/i3c/master.h @@ -462,6 +462,8 @@ struct i3c_bus { * @enable_hotjoin: enable hot join event detect. * @disable_hotjoin: disable hot join event detect. * @set_speed: adjust I3C open drain mode timing. + * @set_dev_nack_retry: configure device NACK retry count for the master + * controller. */ struct i3c_master_controller_ops { int (*bus_init)(struct i3c_master_controller *master); @@ -491,6 +493,8 @@ struct i3c_master_controller_ops { int (*enable_hotjoin)(struct i3c_master_controller *master); int (*disable_hotjoin)(struct i3c_master_controller *master); int (*set_speed)(struct i3c_master_controller *master, enum i3c_open_drai= n_speed speed); + int (*set_dev_nack_retry)(struct i3c_master_controller *master, + unsigned long dev_nack_retry_cnt); }; =20 /** @@ -510,6 +514,7 @@ struct i3c_master_controller_ops { * @boardinfo: board-level information attached to devices connected on th= e bus * @bus: I3C bus exposed by this master * @wq: workqueue which can be used by master + * @dev_nack_retry: retry count when slave device nack * drivers if they need to postpone operations that need to take place * in a thread context. Typical examples are Hot Join processing which * requires taking the bus lock in maintenance, which in turn, can only @@ -534,6 +539,7 @@ struct i3c_master_controller { } boardinfo; struct i3c_bus bus; struct workqueue_struct *wq; + unsigned int dev_nack_retry; }; =20 /** --=20 2.49.GIT From nobody Fri Dec 19 11:52:32 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011035.outbound.protection.outlook.com [52.101.52.35]) (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 417352877F4 for ; Mon, 8 Dec 2025 07:14:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178043; cv=fail; b=fT73O81QigoisZz+xFLqQlBdpK1HVrQc3wAtr+IQFmvTnDp3HFS9YPsXyQKu7B2BWj5M31PhIgtoLL2Ykhg0lfKXlYLng8qSFSYICilYl2EQt+wuWsDL08t/O3kvhr5VD35VXffdbWu+VW1pCwUt9ZHz2TCPNCrvsxA26INg6H0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178043; c=relaxed/simple; bh=WVFtkJhx3uL1zFk49LWQSZwYxrJYKS9vpl8SUZQkoXo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Kjg40t6ZHdBYAZmc4rhRYdm+bFrQGjxw8tHOa0sPo/ymc+PpZNYllBZhwxx51bBkyhR0/7CJyTs6W4zu4buQNKO2Eyf5mcevsYR0Q+caVQkS46d3OLRN/DNqoQq2U7FcEdXrmdk5jalTiJlPTzGEguB3RCCw7nHDAxbX36/JUF8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com; spf=fail smtp.mailfrom=altera.com; dkim=fail (0-bit key) header.d=altera.com header.i=@altera.com header.b=fX5E7T4J reason="key not found in DNS"; arc=fail smtp.client-ip=52.101.52.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=altera.com header.i=@altera.com header.b="fX5E7T4J" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KvW8hzk+UdFrXhj2colvOArQViLZG9UJZcJT8hf7MYB8ruE1prPEf4DitxX3xHlHOmmb+Uc4gcfDeR32Ek6eTb/ybGKd/T0kqwl1j8n8Dg5HSNtpSo6fCgXigNPec47vbSPz/O6mPeGrCQd0MQ/HeLUlN7dLVxZ/oRKKKPmOuZdUBzDegHZTOehafBEeYG4rJpjFm+mUNnoglD0hLp5v6832I+LnbroqCgpbwEGjjEbj9aOTayp8GNXx5hFyjZ3Nxdrul2uViO8zS0RzRyl+mJc+8jgO32CWHjj02gMWi+UWoesjuGvYPPMyP2/qcbiCIm2S+OQ8n26dKNmNC+Cx+Q== 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=xCwUgqjiOlz03Hg+LACPBAukGhUn30n5Gshu5uwZAWY=; b=UkmpcrWRh88/roFYlO6eXKfi1mJ4/FvaAwDZFQncH541/0THIlUobxixYcBeoFcTaqPv6qe3ktTbfEOYwfqfPmXwxnDQiewGdFXiLmJT7r1eFzBhO+Q79GPGhlc01RfU+vfFeXg78lokJ0ciSMslHK0KePKAbBwYGjfVuJDngEvfnfF55KqW2eT7eDjCqFIifAjzldYSh4vRznaEigvT9CT6wn50Sdp2mDGdLizhD27Z6wRmCLsH5LoO9FOt8qFmz6GGnD5GLygEx0cPDBeMBdeGMkNZ793Ak9tUTvr8v9Z8J6rbInwJ39egSorNMAI96Pj0sd1omfQwQiZed7Dn9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xCwUgqjiOlz03Hg+LACPBAukGhUn30n5Gshu5uwZAWY=; b=fX5E7T4JTZnXEQpibJfYyDDlE2Y1gVtssp5pgn6n/i0jAkvdmDPMigPgNQ3mHLM/3sqt8U/YMDhswZU6Uq5osWCYTsmHwwPaQEZWPagaeXsBYRNKJJ48Du+gc0s+bjbIapnLXJ9z59cOGGTL1xmhJXd5pVIoqAdN5X0ngiEQwPTFrXBT5XDFdwy/0lsNgEUZnLxe/6DtpyIRhBoka/4l1LJ5OtcmKohOmRAUIlwCZmAHp4nSbCa1SJlmpiALO9HXsTw8TRiiMkXDqsKF74DvvnOlss/SrM6sqqspScxPRHvvLCW9rTYo6UBHFjhMyWwNVR1376lZqCORu7z4EvuZwg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) by SJ2PR03MB7475.namprd03.prod.outlook.com (2603:10b6:a03:55b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 07:13:59 +0000 Received: from DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542]) by DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542%3]) with mapi id 15.20.9388.013; Mon, 8 Dec 2025 07:13:58 +0000 From: adrianhoyin.ng@altera.com To: alexandre.belloni@bootlin.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Cc: adrianhoyin.ng@altera.com Subject: [PATCH v7 3/5] i3c: dw: Add support for Device NACK Retry configuration Date: Mon, 8 Dec 2025 15:11:18 +0800 Message-ID: <5a1e1a6b3f2f055c5ce1e111c798e10a4662f8cf.1765177110.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU0P306CA0060.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:23::7) To DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) 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: DM8PR03MB6230:EE_|SJ2PR03MB7475:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f3127b0-e484-4ab6-14ba-08de36295b67 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?H760L2jiJK8qOWmC9BYppc1vEqLn+FzNjSgMLS5q8C3DXdslHmTCyVfWUG/A?= =?us-ascii?Q?4XW2hqzYTMA9lBx1yakzFAcjaqyWcxSctpkzeSh8NsS83o70DQ0DmyCxzSXv?= =?us-ascii?Q?zAeunJnGC/qjLlH7LWrFL0KaZwpz9yEiIjYuAt+heZVMVOg+xnblNWtF/I13?= =?us-ascii?Q?TqRFdpRSQu7Yhae+fqOA5bv9Rbd+FjgrUhJAuBw6np1iv+/nudhaWCnPkxe6?= =?us-ascii?Q?XcZAbJrovTZBGUXoVlzCnlKJurg0LPKVrNbJ5AWXIFrkU8YdRsKOeSW5sN/9?= =?us-ascii?Q?8I0DECzmJ0xVWZ3KH7MStnBZ3izvNgzlfdkzRA/UiAk2YEDcFzzhHdqgevxD?= =?us-ascii?Q?KlMswSJkUotYYOK0Ku9a+EeXL2EG0Kn9SqHZsdzoZxiqUZ1F6MBBq54M5D55?= =?us-ascii?Q?DogrNOSe73GicTrVOSO7/2MuN3BqTA7AYUZeJ19Ff8EJkpYlh178OMxm/6ky?= =?us-ascii?Q?uBIHKyreEMlBJCAplPrSCFVqawlLlxn5CIlF97xTPikFQYGcYvic2IPVVzV7?= =?us-ascii?Q?1Uh8eTK6KmvUgpRMRWlsBUyXYCXEpAcNcwRhaFhMJFqc03MM6Yl5QLfAsSKp?= =?us-ascii?Q?1qqWyV7OXxjAxOqNEDdMmlUXx4n+4d3gXx+QIHO6HY5Z9sME0h7dHpeBPOgQ?= =?us-ascii?Q?xc/3QSh/z2d3ZeMTNbEEvQHhdFSxuPLVhVHyNpkKv2r7s+4zlql2ybVTk0qC?= =?us-ascii?Q?vHwkMrsQZqSfuyE/6qgK3pQzS6XoJASptwq0RRyUPl7i13kH9Qa0rJ/F5X3v?= =?us-ascii?Q?Gsz/31bylLrdWCN1sDVq0L93kJzWvfOKeG8h7VgL7bRENhPgxdvgrx9NFTlj?= =?us-ascii?Q?AF6zBCRStPmmrjAdNPvR4SM6IOpYEruqP0UAIH6MVPkrL/v6vuHRanJjD9cl?= =?us-ascii?Q?RkRArUG6eg8DGkvYCRJ8OH+f/Wd1j3NfbiIsQsMK3sl+iUu2EPYDIgv4PguU?= =?us-ascii?Q?gu0IphopX8zI5lI9IY+m1zmC1SfTSMUi7wn6jKKX+gWMoL4ZDD9M41FLdc0U?= =?us-ascii?Q?oUdD06uR4vm5LJbMrAi/e5RyLuHFsw9g8yGT5KgpFr210XxfTXypfn4GiaXK?= =?us-ascii?Q?907eL6kh8fLi0GFdPY+CzAY1OoEPOTxi0LveW1LZ9HTXR4rtztARry5lIYDT?= =?us-ascii?Q?5VL1RQkk1+17gIQT8hiBsvObRMIXcxo5bdowvuYokYH+uaBBRVpjQ682cpNg?= =?us-ascii?Q?QT3mCKB6BcklJ/kiJyu0+NvEboo24qBAWC45Oygq58rk3wt+wu1B/YLQ0Si7?= =?us-ascii?Q?3B7Ryv/otPoeMXVEkJH4Ia4s6ftPm494NuIx342QcRslLFiZHcm0HMDHJOUV?= =?us-ascii?Q?M8qYcy62qUVjWd1VcVKsmb73PUxLbSM039yA9xKyq/yXmKAoiX6L29Im6VPj?= =?us-ascii?Q?nHFCrlAmJ7kJs7EWlh7dokwV3kD5kSMD1xfKZr7p30uvTTgPSuJ4D2K84+it?= =?us-ascii?Q?xAnO+JqDIHqDBnyzw5dMvBg1mQLjZhgc?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR03MB6230.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SmZ3c8Hi8j7m+8r6DXBUVoiVdyEMg3/t4Aq7ArI/iWAZ/69vuKH1PftwdNXV?= =?us-ascii?Q?b4n9/CTEdpQ/5pEzxmmNHITtpf0yCY4agv4bBeDPnFTH+XyztwDfYXOxhtOc?= =?us-ascii?Q?6t4eLeg+HQiUW99VoMXRuW4UdCDrMautKDaSzSZVIN1MkqBvMESDt3XqfUWC?= =?us-ascii?Q?MYHRI/NxEIO/MONYFIcYJ9k/MBrrKe1XoyE5Fc+AP7DLIR4wMB0bGS0gE1pu?= =?us-ascii?Q?r4It41T0BcA7cW8bFZShNsq4Pw5AIuDT+e1jqWUSZXgkJXCx8z/Xp4Lj/80g?= =?us-ascii?Q?9bB9VtXxqa+HOnq5IvNLOnlDAJuvuosWLHbS5Wb4HdtvqefvSVxOwDSPVYal?= =?us-ascii?Q?RJnNdE+lqJ6CMxm6VlH7g5wFKn5uFjLQd+9cvjIIvk8bl1JKrRgT85fbmhg7?= =?us-ascii?Q?bD5dEWh+5F7XVnyIFvhGgfYhnDI1sO2cpnhjWJso2GgSUt5wpwZG1+b34Xv8?= =?us-ascii?Q?vKnGl74yop6ps2Fes6vy5dft1/J93zvqZYa6HwFue58/mMRo1wSYNXg1NIvG?= =?us-ascii?Q?L5EOpbUswGh4gc7zx3Fj0LT9pVt0BGz1ByzxY8WN4mAT2Hk7JElLlNmr20sZ?= =?us-ascii?Q?OzN28XL2/6CHzaSWEEaggrUUb+P2GnECX9x1SB1ikGnF1frGcwiyzdjBxb66?= =?us-ascii?Q?W0ehOEVJJedf+9QyOrbuJZ5JiqsG+dCfvSY/uGEr5G1jZcfLEvvpT8GHcaDR?= =?us-ascii?Q?a/Y8Orgq7nk8wQ348HrBpRUKS3gcCbSt12qFXarVfSg8v95ZkIjMtrGQfUFM?= =?us-ascii?Q?MOxxlY/Ypxqjn6JxovHOJEpA9n0uF11IrroPdYTBNDLC4g+NsEVtOD6OkJh9?= =?us-ascii?Q?P8EX/iA09aC/SUWzzz5BpZbPefOFv8QVB8XZpImW5ysCiin0cN60Ri0cGfNx?= =?us-ascii?Q?KDu40eXrrISCpmENMbnJPYqWVYei3X7DiLaNnxWPrObvaSZVbvOWrIESwaU2?= =?us-ascii?Q?LS1m1K2wTiN8EclMBieovZuEvYo2gPcqRvXKr7TYZTEm9SRfTyYVWViTIQSb?= =?us-ascii?Q?2h/v3BBP1OmahG35rnMFD3vGDeCyaq2TjS16Xi59bHm/pacvpJfCkz3mnOXR?= =?us-ascii?Q?BpHp+S1+m+rEodx71czQTfeXzUNfaPOE2rn0UpQSUlqctQqNvpPKfH043C/d?= =?us-ascii?Q?K+fYNOsQKi/lA/VdYXZms2zENg0l+n9L7usx31IJn8otsxN3b3lMm2l1hI8H?= =?us-ascii?Q?e0Pgt9SWrcx8egk0V+BWgkWcvxMoluMfY3/iJHVHPLZrDqcMiJtsCNltLLEk?= =?us-ascii?Q?gsH7SckIi/IshiS7PP64ITRRASpVPyimbQmo9YcfBdpqoyXwaRWXDeUmI58f?= =?us-ascii?Q?jo3/stqAkpBUdeOqAmhRoQ15s5xvxWbeYzY/siraUWB9SUtXSrqwb/ZLtA3D?= =?us-ascii?Q?rHlxhp0uieWlzJaBP+CD26iz4gBlPfCs+5d5gZm6z840CpVDCmIhKIgROYhS?= =?us-ascii?Q?6Dev6PvsNNTzPjeFCJkn4bMwsT17P/XzT8lWgtp3WHAT5QSax6rk+o6LFIeP?= =?us-ascii?Q?aA+5TlyW4/QQpoCljoQ+QBDyRDrC8MQ3eIS5CwxfYEtBiZuKHruZo/x/MMVD?= =?us-ascii?Q?SVCIHEWdv+PaJg1Ow1XihagP7t3I30Ok3TUeBvGS/fPGd0WcEP9xk10skodR?= =?us-ascii?Q?9g=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f3127b0-e484-4ab6-14ba-08de36295b67 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 07:13:58.9101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: n14j3dFuT1F2L0R5lZtlFE1gSVg4OdIQK1fzcGTO7ssUKVHn8QLEPH/zuMIECEehRBIe0ydx1FsWBnfCJ3lsYw1XRBVGwqb/OnE/tVLnlVg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7475 Content-Type: text/plain; charset="utf-8" From: Adrian Ng Ho Yin The DesignWare I3C controller supports automatically retrying transactions when a device NACKs. This is useful for slave devices that may be temporarily busy and not ready to respond immediately. Add new ops to configure all active DAT entry with dev_nack_retry during runtime. Returns error when value exceeds hw specified limit. Signed-off-by: Adrian Ng Ho Yin Reviewed-by: Frank Li --- drivers/i3c/master/dw-i3c-master.c | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index 9ceedf09c3b6..ce33600d4c5e 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -5,6 +5,7 @@ * Author: Vitor Soares */ =20 +#include #include #include #include @@ -204,8 +205,12 @@ #define EXTENDED_CAPABILITY 0xe8 #define SLAVE_CONFIG 0xec =20 +#define DW_I3C_DEV_NACK_RETRY_CNT_MAX 0x3 +#define DEV_ADDR_TABLE_DEV_NACK_RETRY_MASK GENMASK(30, 29) #define DEV_ADDR_TABLE_IBI_MDB BIT(12) #define DEV_ADDR_TABLE_SIR_REJECT BIT(13) +#define DEV_ADDR_TABLE_DEV_NACK_RETRY_CNT(x) \ + FIELD_PREP(DEV_ADDR_TABLE_DEV_NACK_RETRY_MASK, (x)) #define DEV_ADDR_TABLE_LEGACY_I2C_DEV BIT(31) #define DEV_ADDR_TABLE_DYNAMIC_ADDR(x) (((x) << 16) & GENMASK(23, 16)) #define DEV_ADDR_TABLE_STATIC_ADDR(x) ((x) & GENMASK(6, 0)) @@ -1484,6 +1489,40 @@ static irqreturn_t dw_i3c_master_irq_handler(int irq= , void *dev_id) return IRQ_HANDLED; } =20 +static int dw_i3c_master_set_dev_nack_retry(struct i3c_master_controller *= m, + unsigned long dev_nack_retry_cnt) +{ + struct dw_i3c_master *master =3D to_dw_i3c_master(m); + u32 reg; + int i; + + if (dev_nack_retry_cnt > DW_I3C_DEV_NACK_RETRY_CNT_MAX) { + dev_err(&master->base.dev, + "Value %ld exceeds maximum %d\n", + dev_nack_retry_cnt, DW_I3C_DEV_NACK_RETRY_CNT_MAX); + return -ERANGE; + } + + /* + * Update DAT entries for all currently attached devices. + * We directly iterate through the master's device array. + */ + for (i =3D 0; i < master->maxdevs; i++) { + /* Skip free/empty slots */ + if (master->free_pos & BIT(i)) + continue; + + reg =3D readl(master->regs + + DEV_ADDR_TABLE_LOC(master->datstartaddr, i)); + reg &=3D ~DEV_ADDR_TABLE_DEV_NACK_RETRY_MASK; + reg |=3D DEV_ADDR_TABLE_DEV_NACK_RETRY_CNT(dev_nack_retry_cnt); + writel(reg, master->regs + + DEV_ADDR_TABLE_LOC(master->datstartaddr, i)); + } + + return 0; +} + static const struct i3c_master_controller_ops dw_mipi_i3c_ops =3D { .bus_init =3D dw_i3c_master_bus_init, .bus_cleanup =3D dw_i3c_master_bus_cleanup, @@ -1504,6 +1543,7 @@ static const struct i3c_master_controller_ops dw_mipi= _i3c_ops =3D { .recycle_ibi_slot =3D dw_i3c_master_recycle_ibi_slot, .enable_hotjoin =3D dw_i3c_master_enable_hotjoin, .disable_hotjoin =3D dw_i3c_master_disable_hotjoin, + .set_dev_nack_retry =3D dw_i3c_master_set_dev_nack_retry, }; =20 /* default platform ops implementations */ --=20 2.49.GIT From nobody Fri Dec 19 11:52:32 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011035.outbound.protection.outlook.com [52.101.52.35]) (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 EC39A2D29C7 for ; Mon, 8 Dec 2025 07:14:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178046; cv=fail; b=RyDkwO08X94aVNYHiz2xu5OlMhKzfwDb9zgG5nHV2jyKk91pAWqMF+wzXBrV19QDPysk/TeWRnsGmxMwRRyg3f1G3v3qxnnpxjiX/34+t8LE+xHc6swsW+nj6F9q4HYuX9l4nrnFyzQ4Z/IhDcw7e43OInf8zslQoZkyvj0Zl1Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178046; c=relaxed/simple; bh=ocyUo8Gr7c6XG0eHVJZRW1An7qoMryNXfPhayJ4sEFI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Kv9dw14qboERe2wtDscoshWA2eAHZBHEsZSmUUwt+00tW6Jx7Ns/TDC7Fdq11gG71AisKnnKn4Kp5csWx7FQYrHuYIr+PjUE0+dUxAUTGWeLDwkrGeJrAm8bPmtFIlY5WYVFvtvzFRrdIiNP8OwAPKkA84uKmYXeL4BY6fxkzzw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com; spf=fail smtp.mailfrom=altera.com; dkim=fail (0-bit key) header.d=altera.com header.i=@altera.com header.b=ELmcLLvm reason="key not found in DNS"; arc=fail smtp.client-ip=52.101.52.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=altera.com header.i=@altera.com header.b="ELmcLLvm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VRzuR43iUwEYU5PUN1KO7A7RQyJj89q+OImXflAGCcbVtQB2yfizHDyshOa4sY5XpLVyK5uLMaLGow4q/SA1Cwx+dYSL3Ga/TkQ9PAP5P9VQl83O5K6WHIon8ec9WUebI5uLodP/Pz2O3BWjqEsg4VOUivH77svUUD+s/E6ohHoGNpjtMi28WoEeu9zxAwdqr0VCZpflmJMfHA+jaW8Hln3Oxz9plodMT+vTkVEzFnyxtoyuGmBcV/7qjX7WhOkGoL/MkyCk3cQuwL8rJQJyilvWjObJxtVTsTlVVOqPE83LdXns2hEkqmpkvIyPAQRs6JHbpNvunQjOn2Ixp1OviQ== 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=KBQcYoXnCA5aexBrW1l/Zv9dgGm77dX1yyKyPswL0O0=; b=rznaJU2b4OngisI696EYFOohukZNuINKvsznlSRJFPR/zzZixaN3gHLJxWzN3IQQwJsnU4CCkvLJHuDHrLkMWDRWlOunmR3Yxhwzwya9oJ8K/J7jCw1BByL3PmwFCWkNhOe4A1pL96YlGsQUltqtt/TsyXa83n6vdeW76apz1oeQq6hIQTBnyHhj7OoO8Krn0AuBonWcqLq1tNESvlP7W5uqnl+i7iFQ1uFD4ErcPbzGCOxYia7vAaO3/K421tNYNj594UcbvGE8ym0HcBPaBvgpzis0sVjGs+6PvCg8AV5Q/k68pQ6ThoGqJNrgQSy58+itweuVHs6Xfy9/F+EU4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KBQcYoXnCA5aexBrW1l/Zv9dgGm77dX1yyKyPswL0O0=; b=ELmcLLvmpo73zq0UxVoD3TjMF2fSoZXTEhG5yURHBmVFlRSXF+wPngm+69kqJ7oXlavuFyfnkBNKDN63jNPLMSSOafIYoHyWRVg9WBhCkw4RlL0nfQN24sexjdQyyY4NNH10NanJTZUgflE24q2d5Z5tD+9J/9UGaM+2kZKc0Pof8IqX5I4PVUg2Ne5sqG1S5X/JW4FBliPxDiPQscnSGFgKNci75MMKi9s86G5jlqJMfq/D+rFqWqCuHeWgwW4GJ51ObZT5I+LHnc/SqheBs6PgK8T5LzISfYKexxZBAQgFf4bRtjv8Gi93E+1Ht/byKMPD3ZjyGD1C3ayJxuNuQw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) by SJ2PR03MB7475.namprd03.prod.outlook.com (2603:10b6:a03:55b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 07:14:01 +0000 Received: from DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542]) by DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542%3]) with mapi id 15.20.9388.013; Mon, 8 Dec 2025 07:14:01 +0000 From: adrianhoyin.ng@altera.com To: alexandre.belloni@bootlin.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Cc: adrianhoyin.ng@altera.com Subject: [PATCH v7 4/5] i3c: dw: use FIELD_PREP for device address table macros Date: Mon, 8 Dec 2025 15:11:19 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU0P306CA0060.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:23::7) To DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) 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: DM8PR03MB6230:EE_|SJ2PR03MB7475:EE_ X-MS-Office365-Filtering-Correlation-Id: 4320df58-75f3-4246-2bf5-08de36295ca6 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FnKwZGTy2rNo3JLYkSE4bU/8UQ3Iyl8HZhLq1PSSHYx7X+r8DCibynEWvC0e?= =?us-ascii?Q?Soc+v+Sg9uATF00Wv6YkR31984dMyt7HwzT95Eb1qhtxTN2PDMmi44YkHVew?= =?us-ascii?Q?UkSpa1t0E4VuQ8yhXmP0K6WpOHwN0C3rBjMn8lqHFYGOuOA4nzlh4n8a/ZMw?= =?us-ascii?Q?NxLrQoosvXpw93E35GAf8l3htR2146o0861STA6uw3qTMcCGxcsTPI0p94rU?= =?us-ascii?Q?nhBs24KXhVW1p/R6UNHM+xE+8czw+twMpVrp/2k8kRl7wKzds5Sai98lWZqa?= =?us-ascii?Q?wNyZy8pdB2LtGZMYo9DKW1cWor46RWN+hcj3Uwm6A6uSrIc2yJ3hI4f4Yidy?= =?us-ascii?Q?Bbf84ZBieHqfAH3DRIdVEotb6qKhIzaw2z+ceGnnQGQVG8mGBeptcCzEPDeE?= =?us-ascii?Q?Ss2zO6hmz6Ad5/RZpf2k9lvzTj+SBjyZ5dBCS3Sn9B8ozVw0szDwO0TlmJ0B?= =?us-ascii?Q?LDMgxBy/RaH56XRXpueVSg4tzzbUSTjaqvXRc62+8sQchfnMMLasA6Z8j/i2?= =?us-ascii?Q?c90w7BOpfUR3/nAfgEbMWp4jCi6ExH+y2q7oimiPCF5vOio/tjZseZPyS3Ak?= =?us-ascii?Q?y59mrsYvXQC4Ju87vkVW2d7/RxkV9WCrZ719/o/EFW/AkRiEP3h1hoaU81yc?= =?us-ascii?Q?4Hy2a+a/+SnT3OEG64nqnICQc9abQ4bQw/c/nw47cNr1JGup6qgUE6ezET4n?= =?us-ascii?Q?Hp3Pind0cCDM8Wf1cNLpSTY0i1r0qRRGg3sp5AxkWQqKUfxmrrrFNfw5U9xj?= =?us-ascii?Q?2+AG/NTa6nW4IfVHdWvFT4XjWzC9V70m8ZK1LxbK2AsobebGC2OmOjjC7gRZ?= =?us-ascii?Q?DllRs/X+t9zJFE4jzDBbZ8hw7mZul9FqQUaZZNfaeme31HJh7BBU0xyKFZs/?= =?us-ascii?Q?ttIo6+2KPDzBTSALE9sd4Pxp1S0N43t87bwwKoZW+ZwOugLLORXvd1ilpKlj?= =?us-ascii?Q?tH7/k95qU2rDorTtiXk2UcBOCsFvRMD6JHr9f0uZgsfP6OwjJ1XhM2fq6iPa?= =?us-ascii?Q?GypB/TezaaL+FRm3MEEhgrnVyGTodJi1BP8LawIEA1nAGW7DUsz1IoPyQr6r?= =?us-ascii?Q?Jx3XsgeWhJAKkU28ycUulUIxiQLvfvoPtDMCYgTyFQ+btnoZOwJvrT7R9JB9?= =?us-ascii?Q?ClD9i8DD00/jRdq0ik8GOtk07v40uOPcYaYq7CmtwPXaNWMvN4rQARlRFMFO?= =?us-ascii?Q?5jXFLvVR20/t8FfGQodjcFArLJKZ3viSwqLBye+qQ5TeCpGDMOvZESLC6Qn8?= =?us-ascii?Q?kvDEQ154G95tEpLvCqll/WUyS5R5Hk1mnWdfbd4vRL1BRPV+aGPIgQgndW0N?= =?us-ascii?Q?N8BAbZqxuvH1JXGBRnEoZgSc9vq11cS/pX7Akjze0OraFWQW8sKb+PMzl1jk?= =?us-ascii?Q?W+nmBS/G/YkY+fS8yS+UPvY/JI3qhKV08D42OUHNmIpmx9nM33RGYl7KjEe9?= =?us-ascii?Q?XR9aQuGGz3p/ybxlacNpRxIShv4P7xd4?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR03MB6230.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QzeyVy+JPjSzqgkCnMMSDvVA54jm9eWJveoPHB3C/BMVIRmBxMq0SpvSxf4M?= =?us-ascii?Q?cVPMcx2bG5EbHpqISxaeUADDRhkjWCCyhPvhRG3XhM0EE8bGiIOzW35+qvN7?= =?us-ascii?Q?/2sjqVnaldp+BQCUbq2E368/u+tMg9hankXlh/H3/KenUuhbr30G5ulZbbil?= =?us-ascii?Q?ZzOu0Zy66fDJRMQE3f54xO6BPnle8N83W3ANsz8DyLp9FBEAa2rcauEmFtCh?= =?us-ascii?Q?arMYR+BgHZtI+FECWLscDRd1BpYsNX6NLMApQkNvO09Y0CM9xymlWZrTOOWr?= =?us-ascii?Q?PJD5sZm+82dQl7TNoMN4UGu8J9yAHzZpDCYbrZc1RCNEqAN458co1w3jLtpV?= =?us-ascii?Q?5V5Ge0jhosdQZODgyaXzV63Cu7Gc7AnTSrFgiiED/gaEgyF4ewc8wpXyh4mC?= =?us-ascii?Q?OZka71y7P7+VqxOg4w+xHWgrrEuJlvtdhRShJKvG1IdhH7toaZyrAcz8d8Ue?= =?us-ascii?Q?gjwDztid8vwcPCTS9Bb2wd3j6NWpQSfr2iLww3B3JsveX57VKyvtcjRs++h/?= =?us-ascii?Q?zy/aJcKjbftcuC6rCFF2Lx0R1HBKu6fzqEKQgCSuBOy9KDb+DRvu/6z93vPL?= =?us-ascii?Q?/t0tSRK4Cuhya4v+FJN0N8b/SitkiEtto/+NufgUEQ5htsCK9ZJ8qdp1cE/V?= =?us-ascii?Q?H6QRvVdGGlcO3FAT+50fFYlnhtCiKPbxYmo+g4a5QZcas6ZkJMEgj+JghO5b?= =?us-ascii?Q?VhAgYNDOzsdWjyzSObE+xdaQcmayq9TWttU2j0QpUnAgpl+UsKSfOmeSs+fv?= =?us-ascii?Q?TLmpK4BWKnFz2cYBIskR816WbrMHlJiEt2TGMQlahD2PfCBe4+VMcZWqE13Q?= =?us-ascii?Q?kXnU8U8z/GCkbj/r4bvLNrfhDjbSj6xv0fitZ7SWmS9Pz5bkWgnJlm0RSyIm?= =?us-ascii?Q?JpLzkVYzHTjOSRTTp4TfPTBODgSkqPjgxaCJDbc2gX4lHNBzhfihQPtKnDUZ?= =?us-ascii?Q?nfzXW/itFJa9j8M3Upshsnady3s48ElGzr2SuqRE2ZdX/lznjs82V9m9nEuQ?= =?us-ascii?Q?8l8yXe7oSWmTmWH4BwcSNGu1c6Wk3xI4940gXimX4E8vPRn01kCgSvQ5eIXW?= =?us-ascii?Q?DgmdTUXZ2SuCdCZBlmN0HTsOw6sEX1gBKJN/pybTRS6WNK4GUqFx8UZjPwc1?= =?us-ascii?Q?Oq/EviKuxIY5/Uo8x1B4GV5FcxxyjBWDOv1CXw8TwOGODhAdMmZjv7A6D03Z?= =?us-ascii?Q?0+Cf/3BABS1AEjW3Z/Kj0tAAIbwEyiMS5FBJe1WNNHBDW46S6CrLpcWMP58a?= =?us-ascii?Q?xgQikSSwK4mWiV+54OJqMlc08yB+4rApQhLib0gxIsesg0hIPeIwDTkKaBJX?= =?us-ascii?Q?W5BR0PPiTnhrm+PeKg8Viz75QKIbKIEjLnoSG7WTFZQSKly//3M8IXz3m2wo?= =?us-ascii?Q?fGgOEuUvK6tE4L/oJ1KWjzYMKogNnmhdRzHdwrLVx9YV10JBMqQVPDeBFcsp?= =?us-ascii?Q?skzjKGF1mkDm2f+OcXc2LUzgEEwY/KAt8jHHSUOtKURRQvz70vResvFBjP7e?= =?us-ascii?Q?rGNdDoFUjnijMlDuUYWxmeckizrxZChMt2/O7doM8Y5WiechbFXPAxxsL8Cq?= =?us-ascii?Q?THjEwL1bOc3OJR5b2BNgUrwySRJJFAQhVdSIJmqkdXgP4X0TzJH2ZVebVXO+?= =?us-ascii?Q?Iw=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4320df58-75f3-4246-2bf5-08de36295ca6 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 07:14:01.0525 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mfPQdInFL+8W9j05fOW5cNKRh91arrHneqv8gm1F/T9JYs3hpZvNhcTHo1Mc0MXRtHleTeKBE1aEDo8Zx5uTD/plUMsTi1jIIJSgkozZldU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7475 Content-Type: text/plain; charset="utf-8" From: Adrian Ng Ho Yin Add DEV_ADDR_TABLE_DYNAMIC_MASK / DEV_ADDR_TABLE_DYNAMIC_ADDR(x) for dynamic device addresses and DEV_ADDR_TABLE_STATIC_MASK / DEV_ADDR_TABLE_STATIC_ADDR(x) for static device addresses in the I3C address table. Replace manual shift-and-mask with FIELD_PREP() for both dynamic and static addresses for clarity and maintainability. Signed-off-by: Adrian Ng Ho Yin Reviewed-by: Frank Li --- drivers/i3c/master/dw-i3c-master.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index ce33600d4c5e..f96b30c4cbfc 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -207,13 +207,15 @@ =20 #define DW_I3C_DEV_NACK_RETRY_CNT_MAX 0x3 #define DEV_ADDR_TABLE_DEV_NACK_RETRY_MASK GENMASK(30, 29) +#define DEV_ADDR_TABLE_DYNAMIC_MASK GENMASK(23, 16) +#define DEV_ADDR_TABLE_STATIC_MASK GENMASK(6, 0) #define DEV_ADDR_TABLE_IBI_MDB BIT(12) #define DEV_ADDR_TABLE_SIR_REJECT BIT(13) #define DEV_ADDR_TABLE_DEV_NACK_RETRY_CNT(x) \ FIELD_PREP(DEV_ADDR_TABLE_DEV_NACK_RETRY_MASK, (x)) #define DEV_ADDR_TABLE_LEGACY_I2C_DEV BIT(31) -#define DEV_ADDR_TABLE_DYNAMIC_ADDR(x) (((x) << 16) & GENMASK(23, 16)) -#define DEV_ADDR_TABLE_STATIC_ADDR(x) ((x) & GENMASK(6, 0)) +#define DEV_ADDR_TABLE_DYNAMIC_ADDR(x) FIELD_PREP(DEV_ADDR_TABLE_DYNAMIC_M= ASK, x) +#define DEV_ADDR_TABLE_STATIC_ADDR(x) FIELD_PREP(DEV_ADDR_TABLE_STATIC_MAS= K, x) #define DEV_ADDR_TABLE_LOC(start, idx) ((start) + ((idx) << 2)) =20 #define I3C_BUS_SDR1_SCL_RATE 8000000 --=20 2.49.GIT From nobody Fri Dec 19 11:52:32 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011035.outbound.protection.outlook.com [52.101.52.35]) (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 D27022D63E2 for ; Mon, 8 Dec 2025 07:14:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178048; cv=fail; b=ELsOud7ygPrvCGWs9ElXcUOSFPnVpGYFPnzkl2CmNO3QwH5PfThEVzhXvIhvuwiVXaMcaER19LyZ/FH1DRFgQXoIQgEgSc+6rJcgJyNAXl4WMv580FvH315l8LvlSZrh91PSjlxq8V69+21+j2qhwvG0Jk2mFsCpN4Hfovna5ns= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765178048; c=relaxed/simple; bh=4z0CmlyNorFmoxeNMsW2LLyLzmy/BD3IlmkLD/TgVcY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Ec9CqZ1o1VXWLf248qRNTjWOfeBbF2eszvHsOwIZNKe5ACU5KQ8wI0l9tEIdh8Sm3RA5Ip7lmRbHMkOfovjM+xJYz9jhHlK1oQR3rDmvhzdj0kdNHA0rcds11rinBSXYz2QWESyplIITXxRy61fwpO9RW3O85Sfr8QB0pj+q0xQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com; spf=fail smtp.mailfrom=altera.com; dkim=fail (0-bit key) header.d=altera.com header.i=@altera.com header.b=T3Jmw0a9 reason="key not found in DNS"; arc=fail smtp.client-ip=52.101.52.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=altera.com header.i=@altera.com header.b="T3Jmw0a9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CP8lGqT0F1mHkrK0/4T0ekIV4O1slrYNUinqVnCQ1/BdV6wKui+s49pvBzjsNowjLp0ByAGlGChCcS5IfigeI615mBYriHdN+LOQU+aIcEo8f3CSxM1iydan7nDqnR92x58r/4HyoDjh3xoVfoiathfvY1t8jo0Ru7OspbOYCNkdyrzxXAvxYXSKxVXiKL2ZaCEB7r8V2Jtb0d2g/asoHesp5wyDeH0dKUAH9hBWAvFkNaF69B3NOdEH9JQWEofwRqxEfAa53iYlRsSRl9pBkzJWakXTMfvZkUrGJUYIqC2UHMbWTz84+YIlickR+SGjkImIhUCwUgiuulGqL5l0fw== 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=4ZussLaBiuI8OUlsznCz8+P3edV1h2TWAyYpNaZFRi8=; b=D9NZNJy5fJioU2lN5crZzPc6lKQ1P8VMy5gYnxLKPsgsw5XvmwAtwynGk9tXZ+YJopZr594SkSz81mPvQ4hXNhMSqyv+DmsDpKYGD8nP8KzKA3R7t6JcgIO736fdyegpaRcVaB5eIMxkznh/9chDTQWGpg+p3xIRZnwphmUi13XFQuPtHUod61kQ4PWdtJusNpQZdHqbmfiziY2ZkpF1YEwDgy8Lm+CuKtyKoXEEhJ6tYVBUBS9uBN3RLUI0m3Eg8DmWfLKFbE7ifiJKuaT0uyT431VjjGMBB6NXYq8xBcRujpAbNeruhifnEN6BvKSyrlJQ2y+L/bPsCQ8juPB8zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4ZussLaBiuI8OUlsznCz8+P3edV1h2TWAyYpNaZFRi8=; b=T3Jmw0a9YPhlWkDzANxSLRFDF5zuB5eC3RGqksCyTOvmh6Nf1Q1UmnZ11y+5vDcu7MEPk4jMa6My/AcyGX/T9sSWCBUkNFhsAl3LNPkbl5jVk0WeJqgtzU3fjWFijaF/mN/npnP5URvLIqm5Rn/X0FvD7azDbmJIm2s15+++1rNUFVqhpGqvUHrPM4mfU5ouOy0BKm9Fqrn3GjQnrehKm852p7v6iHXyl3bsdQI8y9dYK2jbgjyh4nCLP3xn2EkvqYubWcWv6ijOOxxOKNPDq69PWErgdN1ld+V6yXqYCi9hicg/7BWAtocJCgCSAz0LeJFF6njxlVFcCuuoUOxMjQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) by SJ2PR03MB7475.namprd03.prod.outlook.com (2603:10b6:a03:55b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 07:14:03 +0000 Received: from DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542]) by DM8PR03MB6230.namprd03.prod.outlook.com ([fe80::abad:9d80:7a13:9542%3]) with mapi id 15.20.9388.013; Mon, 8 Dec 2025 07:14:03 +0000 From: adrianhoyin.ng@altera.com To: alexandre.belloni@bootlin.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Cc: adrianhoyin.ng@altera.com Subject: [PATCH v7 5/5] i3c: dw: Preserve DAT entry bits when restoring addresses Date: Mon, 8 Dec 2025 15:11:20 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU0P306CA0060.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:23::7) To DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) 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: DM8PR03MB6230:EE_|SJ2PR03MB7475:EE_ X-MS-Office365-Filtering-Correlation-Id: d99281b0-0347-4d35-2f36-08de36295de2 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JVGm1+poL1BIDt36zq46kq0iCAqjMAkNOqH76xU8xWMqV5gbG7P1WISGyca7?= =?us-ascii?Q?KJvqYJWK/7RC8dxTyiQNobo+ml1O0K2555pSn92pDIwk1J7BtCbau93/bXhy?= =?us-ascii?Q?CzZYGDjrdlNFHDBXEiHO8BPn1OtqcoDk8UA+aB3AX/HzrmjEubV5FFY8nGJA?= =?us-ascii?Q?fNnPt8LD0NuHhrvs27JgOI2K3RHcGqGl1rpmdcD50fMVFdb3/eTmDjTIVwEl?= =?us-ascii?Q?i9M7V0ToEZ2t9TdxxlRrcG5gjSX7QXFPge6MXtg/an4B5p9M+GQIn/9BEeiP?= =?us-ascii?Q?t4ny4bwhO0xk5G+d67Lhgdl4Vcobrdkw6fX+K2DD38kq+7C7CmwCp5KGsK40?= =?us-ascii?Q?cAdUelh7JDRlKaaKWEe4kBTAfl+sT8DV7mT1n6QpQMCTkr1z5pyZkcVdn6mB?= =?us-ascii?Q?+ki4TGPHegdLYXqefSSohWEqyvIcY3fasLEHn7n/iyWJzPRnLmrDwq52a5I+?= =?us-ascii?Q?6eAafdwMlKLmys249Ns1s4eN/45y8SQCQWRnKKsEBK+cOd9RW/eUo6K7+Ilf?= =?us-ascii?Q?r/SpyJ1wrtWKrHYEte1+1J5bdYmpy4FIm8ES3EsFSNdhg5KljfE+EslHCReU?= =?us-ascii?Q?OuK0xdOU4SoAVtms2wYPITjdd8i96UwinDluYy+aVeZz9nu1j9srEbqeH8ch?= =?us-ascii?Q?BrVey9rFIrW2iApU0k3geSK5umoewNIj1E8IGNK1KoKYiKSpNmj86odcC8qq?= =?us-ascii?Q?k+GXjvxBv/dengHetDic8PkmdIXLSktG61fIgAze+jpLUED/bVDaU7RK5aMc?= =?us-ascii?Q?wui6lkHh6kZ9+xjEg/8lxLLi1OAPeXc+G0MONCGIH+nYfmVsfcHmgEdR9qBv?= =?us-ascii?Q?ivFghnJOdAF/YsFWO6KrGwnqyoL+gLsAjaVuH9FmgLF7StB8KCSWQM4VJPOc?= =?us-ascii?Q?fhv+G0mkUqGuveS0s8IkLTUB0zkQZ1LEHf11g+H8MhFbuzhgq9ROiARDjMGV?= =?us-ascii?Q?XeDsUQ6Y9ioBogmtv3mOSG9kPg+wgRdVXCRGxk75WQ6CtSwgBDFJRu0II4I1?= =?us-ascii?Q?IxwMbrVaIporNpEGYyAAbuhDEpyviKtBt3ANp736mdl5UM0/n+7VI0HnLdKJ?= =?us-ascii?Q?e9iKt+V0ymZ2aJUtrb3+3xyYX8IXNn4EtAiXRrbfOQaWj7P8dtBkhjfvFppE?= =?us-ascii?Q?vUDGXAbFZbZaH8Jgc0DFHqqBrlIjQV0Bv/7bOxNlEc9Ft44ZEyzkiEV/eWsg?= =?us-ascii?Q?plYxY9gKHYZQTdvlpNHkx7oF5zqcPejfAhE15Mrb1SULlTODkPVgX8kKyHsM?= =?us-ascii?Q?+q9xmVRKiNqEkztm+jvCVEzGwCR52lGaHk3mNO7b7XrPbvbZjuXNW68g2+JT?= =?us-ascii?Q?bOnvugPRvcqSh7UZbdhMJ6HD646UvsR95YjiCWejsFwDTHvLptAGvfTNMGod?= =?us-ascii?Q?zj/212apfAImCeCxdYF1OF4qh5uRBeT1Lpsp8vWw3Uy2lm6fx+kjc+TrjMwh?= =?us-ascii?Q?JHJqaC//HQMEyhz1JZ8ZFz0O3WTF0CIj?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR03MB6230.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SYOWR00nmXX0Tk8M6mnyxtx6y9Lv41r13aFJcZrhNGxioLLLJ4zOWcLiGXfy?= =?us-ascii?Q?q1LyNYbfsyw+MQILRDogluc0MYQi5AdceZzjpaYwjuuUSm9mY4eJvmPuFF6v?= =?us-ascii?Q?Ha3qWQwiMyJ4h1y9AVBPDtx0uUFDj2EheYg4pxg8DyumcrXuSzGuVPcvKgF5?= =?us-ascii?Q?uMwehDl5YIFwKx2LezqjnT5cbhBAm6+Xp/u25Fz7XADptvPKQEY7pQEvPZOd?= =?us-ascii?Q?DQ4ZWhXTegbWpp9pwQHs06APLuqOdeApI6uZ9dXHNlp1fFYcN4q/Yw5qCjLz?= =?us-ascii?Q?7IyM6Dt8xax1lwbeiUoV7A0Jl4iFxv7X0RFtyndcHg9F3s13K7OpcpVDDWUZ?= =?us-ascii?Q?EyrmTwSXHNqygIlnd8yMvYWPfh/yE73EHOdVjQ9zMl5BYFaax14JDRLeITJV?= =?us-ascii?Q?EvIvJl4DGzmmiNeN2uKnrPON8qyyZ8z4lN/rM4AahCIbEf4YgMvNKG85XFAS?= =?us-ascii?Q?IjfC6kd9SPIO87bGSbq2T2RAWpCY+4XIdKH7MPuTbTTueu5L3sljSz7esWLe?= =?us-ascii?Q?HbXkopgI8I7+oqRBqwHVpdaUC+weivA4kR9zE8YxrD31Zl5d0tguYyMBYMEz?= =?us-ascii?Q?nH6+xShSJythG3EhfM+oYMJMSnB/QUjnemt5Z4Qm/mOMkyj5HKzAZNNEHVb7?= =?us-ascii?Q?SXdDNtT2bhbtnwQxetYEapD07CoTIQxZJ6rj15oLGIuH3JMJsBZGxlNmBjLX?= =?us-ascii?Q?guke0XzTkNmy3Ya2NwSA1peGoPLtdS4oSpqkPhyoo2/7oMirAzRed4MkrUU/?= =?us-ascii?Q?msrvCYNAoGlNlVSJDYQJ80FRq7bxPMivYlAuiTVp85W4B7uT6kVumeWpUXXC?= =?us-ascii?Q?5BaBXJ8bG8pk2utxj4JFzGii6OvUeN5i7aggE5qJbfyyBVVCu+p0oZ2tZHOY?= =?us-ascii?Q?Arac4vpA4HBqBLB/kQY4efgifAmtZpfV4phJ3eQl93+PoZZ3+KQEH6qA0lL4?= =?us-ascii?Q?C4bmhzDbrtIO7VKvhEToa8c+lNgIYEBFQ7AbKr2lmI/IMo6VZjTU8HKsQvWG?= =?us-ascii?Q?5UsHACBkkbXUYve5HydRx0zZYLd5aownnxj2An++D0zgyaZ7VcVCEEnj0wBp?= =?us-ascii?Q?RMj1INESPnhtEoXQV0KbmFL1k2G1IF7vl1swevw/5QhQZeobyYqBrivLpGgk?= =?us-ascii?Q?m6ap9A4lWdZ5QpcChzQto4sE3eTQpLrrlvcnEb9aennlg8btTz6eJYTJq68Y?= =?us-ascii?Q?dTWEjlnhsoDw/BCeZ6pGG/JfBRvL2frhqjDBohk42FQs2WVhlpSaswwUNlE0?= =?us-ascii?Q?w3WwZHgqHF23NN4w9g0j5mATux8X0G7Z8teY/i2ARmF6rUD9wyOk/4jTJDjU?= =?us-ascii?Q?AQx1p6EJTDbBYZTgxRTLE6lZKOO3RvlQ+U0K9d5Os6aT4dsUQngL1PH27/OZ?= =?us-ascii?Q?tTYZcoS9AczN5qlGkXWG1gjDyZEl+fSPkDtEy7+UgT3opiW82V4nsO9OD1Lr?= =?us-ascii?Q?Qnrv+jj4KYSHMU1vY5jLGNiVIqHMrKNhWcEdDfIXDdC1UV8VTsys6cpyoj+U?= =?us-ascii?Q?RGldfDZSqRkLgajA1FMzLalXSE9m94dcASSiBBHo/h0om3rlwo2Vfl0NAqX7?= =?us-ascii?Q?+Uo/t+ZfGNsC2oJSa6qcxc2PP1Hw4HaaJ9OkkKn1AYuIGOulBbDvWDNsLion?= =?us-ascii?Q?Ag=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: d99281b0-0347-4d35-2f36-08de36295de2 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 07:14:03.1220 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WYOJHs+xtcjWbZcodUghuCUC8QiFgFx4NMtdz42kUmoWh6mScA88ezIeJz2cSKeadaxyI3Kak7cgY6KioN9hYJHBriTEQT12gkeCYxDthPY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7475 Content-Type: text/plain; charset="utf-8" From: Adrian Ng Ho Yin Update dw_i3c_master_restore_addrs() to preserve existing bits in each Device Address Table (DAT) entry when restoring addresses. This prevents overwriting configuration bits during PM runtime resumes. Signed-off-by: Adrian Ng Ho Yin Reviewed-by: Frank Li --- drivers/i3c/master/dw-i3c-master.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index f96b30c4cbfc..9ca609df593f 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1696,11 +1696,16 @@ static void dw_i3c_master_restore_addrs(struct dw_i= 3c_master *master) if (master->free_pos & BIT(pos)) continue; =20 - if (master->devs[pos].is_i2c_addr) - reg_val =3D DEV_ADDR_TABLE_LEGACY_I2C_DEV | + reg_val =3D readl(master->regs + DEV_ADDR_TABLE_LOC(master->datstartaddr= , pos)); + + if (master->devs[pos].is_i2c_addr) { + reg_val &=3D ~DEV_ADDR_TABLE_STATIC_MASK; + reg_val |=3D DEV_ADDR_TABLE_LEGACY_I2C_DEV | DEV_ADDR_TABLE_STATIC_ADDR(master->devs[pos].addr); - else - reg_val =3D DEV_ADDR_TABLE_DYNAMIC_ADDR(master->devs[pos].addr); + } else { + reg_val &=3D ~DEV_ADDR_TABLE_DYNAMIC_MASK; + reg_val |=3D DEV_ADDR_TABLE_DYNAMIC_ADDR(master->devs[pos].addr); + } =20 writel(reg_val, master->regs + DEV_ADDR_TABLE_LOC(master->datstartaddr, = pos)); } --=20 2.49.GIT