From nobody Fri Dec 19 21:10:00 2025 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010036.outbound.protection.outlook.com [52.101.56.36]) (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 0ED4029C321 for ; Wed, 3 Dec 2025 07:23:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746623; cv=fail; b=S2ISbdnsueHirmEggTnmflcQmnOjIBtT1pN8FphMCbGomARuAC1TF6jsIKFwslKE/79QuKSEDD5D7znmsIVxdBpmzFhh3xJKWsQQ3A/XmVmvU7Ff5nwGsm7ou7tI0ByQy7pjSleyL9Huyint54KQmX0N+QeCCf+qki6rR2Jz5Gg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746623; c=relaxed/simple; bh=GCMH2hMNz92ioHOMoJ/gjUab6W+PKwaEycbVCwURfG8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=D1AZXSQ4rM1pNrdUtDYtMykaxPiNxCzSReJvF8Y0WEmPt1uJMR/a8Al6eFrNbOLW66NL5RuLWoTKioa2K/nJ1a4RXVq9F7lQf8RJSMaYtsUJI32k+DvkFfm/rOWafDsZOMhfp7uspWMMPvOGxUW6XE03fjEC6mm8F1xe2RtfR6c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=WWyXxKO+; arc=fail smtp.client-ip=52.101.56.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="WWyXxKO+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=twwJTdOjenFScgWQnKoKaSGT9tDnkL8g/SyCUkUk76ciyYx07We8eYTT4q8hehJGMtqMPXKGmQflMPmwf5/r+Uvir96fPaZUW7QFBAlQyGkq142o6hU2rlMnYJUoZoReCOjjxkRCtHQwRqYFJu/Ly9PSfcDYw/YyW/jxVSgOVqpk4DM/loM3TiT98JR/psldqIhuYV2makBFkHX1oN+IyqIRpbPHaCX09AKpvj6zB4ugJYXVvtO7h6TzMN4e65NRzbVIDSW5TRBRoXFAmQCLC37XKO1rDeCYOR3mz1HA5ze631ZIxQt05wkyLJZ35c7yT/sBSfUlgKOCKMQHkJ7nKQ== 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=wUxy7xqE0ajtrg/lDP8sB7LdbPBFmBc7ZvtxeHhfHHVq7ZQMXDV3eNsoFCUC1meLAXqwGU4Sm0SffFYesDW2myAXm+/5Thhp2morwFLkZrhn1HHqt4CWvehuypg3MILD/G/Eleih3zL9CJ4i+7pO0k/PC3Y/Dh2ZGW6h7C5znXbZQBKEDKmsGSZThy5zH5kXIOXF0oJML21Te9FEe1hsv3sbyjk18RgkamcHmOamhYDZckPsL73w/QE7mG5e053OV68xFX8QEXhtNeHn4Xs6X1ZeHon2Am0fcXe0b9sqBy6WPiYS6IOfCQDA1uq2KtvkrzrZrW2JkT+y7Qr3yXblAg== 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=WWyXxKO+y0PfCqedpveripDMidqAYLlc/6an/uERU+HdCa441qNFlwJNsHFji6u3uyl/ZgMcv9ZTPehNI54nK7Hx75IJZvJYT3LxuZfbwnJROEASqB9qowBNuafWmyIoVzT9Ftsp4aG3juhkOJzuDFB0okFv62uGKDMZ03PSrc8wqaHdxBZJpZwXkk355CC6vVlRZpRvc5Q9kxFs141hKxkicFZQc5g15paFg/jVAQBJespsesdiJLcX7xt/uanRjIgH2RkBLsvVzZTYCAF582zEXBCbj9d1zywkczdKnu4J8FEdm/cnc6gTWc5qRaWGgWHN8aoGuOzss1w2OfX25g== 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 LV8PR03MB8140.namprd03.prod.outlook.com (2603:10b6:408:297::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Wed, 3 Dec 2025 07:23:38 +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.9366.012; Wed, 3 Dec 2025 07:23:38 +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 v6 1/5] i3c: add sysfs entry for Device NACK Retry count Date: Wed, 3 Dec 2025 15:21:02 +0800 Message-ID: <35bb0a3cae4664dc423ef57a1ef3ebcb378bce00.1764746266.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0025.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3b::16) 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_|LV8PR03MB8140:EE_ X-MS-Office365-Filtering-Correlation-Id: 743ad811-d5ab-4908-665c-08de323ce079 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1G3d/wiPmwZwPf3insmHo1A69LC9jWA1PU10At/DyLku1L/NvpWUXXLAxk40?= =?us-ascii?Q?DhpkhELGJca+8mKbcdyog7YzPqF+1xZD826zlZrCuj1dnMk8ajAkFfaFDs/B?= =?us-ascii?Q?3KhiARLHHrJkDr2zp0dVQyRp8yd1Fpvzz1UTtuwO2T75TeA/HLlNZ9jeKKPN?= =?us-ascii?Q?kdQ8ktcffBLiUvg81j3SEJnjeu9cybMi/veTEeTtprS+ZVKA/a28dK0xWeE6?= =?us-ascii?Q?nsH7Hj3doHmnuMQH4X5iaPz+os4ueGOhhUtfhCi1wZXYzzK8gLemrY03iD3P?= =?us-ascii?Q?1ZNtMY73qDYDYNbv/dpg4r8d0Ckr1394LHZdnt8NdaUulGNQJwyC60GJDXtw?= =?us-ascii?Q?VKWXWIvsGfWX2Yk0lPJbarji5yTD2d+p8l85nqnwTZjMLury5Xoej52AhMEH?= =?us-ascii?Q?I8HoAmTUJAbrwl/dWuXCgH3uvEGbF022TGtjiSHr9G0rwi4wlislkna6JXEO?= =?us-ascii?Q?vNJ6sIBqyv5JUWnXIOvutEn0Irpe66pfeqU+e3hD/0oDLwQzsNsNGzJ70K+m?= =?us-ascii?Q?7OfQX/47vaLgc6q/eSZAr7HTScBrVejw/rk8x+CobLOMcODkLUG8PJshthC0?= =?us-ascii?Q?/cT+VqtRu6Q27ZyDPEyppWnUThg1psHSXnlnw5LRoMDEtjy8ddEf7AmN3S42?= =?us-ascii?Q?pT39JLDEdTrsw/roQFuw4n6PM6s0vNi+FTw3ERo7PRc7gPC4L5E3g0VXyyDI?= =?us-ascii?Q?x4DOukQWw5RiIeghCq4nV+4rsssvNoRAh/GtOTF4itKcCMacM4iPsm17CnrX?= =?us-ascii?Q?aTL+9U0+E/O4qD5OpFLjM9RFekScOMYCef+4elL/HaeTVl4tNabbNg2hw0er?= =?us-ascii?Q?OROsdQLPJeq2jqzdmHMp/HLpUxW4RD5/FKqpN2RlAt8ytl41dauVi9oqz0RF?= =?us-ascii?Q?TusmmxPc+KDKAShbxZuqmwiZZWXRsUjsf7dsfu/8GOfxQR+6aBjUUrfD8EAd?= =?us-ascii?Q?yj462zpceqm7O/b9jPQXJ0l7CmLbrmBsfFbBxtCDx7d/vaNGUfOS7VPDLX/8?= =?us-ascii?Q?M+9K19l8wKlYvcxbWNKgSPK1NanKcz5uUMSDz1Zl8z9By/1gTasqnYI782Hl?= =?us-ascii?Q?vZTxJ96A62kBSX0AcohMML+xwom/z24QXUOOuND2Y1k8f01FKlJhwrobprkl?= =?us-ascii?Q?KPMkkea/xfOvDWPnesAojbl4qX/5smegEY1kmDktXqucxwG9+Ga+GcsDRHsB?= =?us-ascii?Q?goqqH4WUDfXu1I9mY8YtYEg0QOzmiLdLnc+V4G7KqqWRm+BbPU8eu9V28JET?= =?us-ascii?Q?MLAfi0sEDvHkUML4eV4f+fnRbJfUJSuj8qW511ztbpt04v9LuhdIcjfA5DA4?= =?us-ascii?Q?ZuZ0iXEM/nYFZ13JLyNVnTkZlqzcXsGPP23QNYu/gCDbvgYWmuxEUMJ9GjeY?= =?us-ascii?Q?C1izONFefN930vvTDh8zdAkQfunoPt4NJBn+YYsOp0X+50n93fT0qoZ3teDT?= =?us-ascii?Q?vXUg6IZHNuB9GypAcnAQsYDa5fYoYbxq?= 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)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4HgpwtHdGHSB4oYWiV4W4jLRjijp7Vd+H/9Q1Kwtq1sjIzMe21DnROBm6kkG?= =?us-ascii?Q?nW2vsm4EbVHKSv81RhK2kEye/CMc0l7wuZiHmFmCXj62kzqdRhqqDD5rkJEs?= =?us-ascii?Q?S++o69TFSkP/m+dmNycvBkZXMH3v5C27EYomcV/23pgsRUY6HzDYPTOcWlR+?= =?us-ascii?Q?TobF089xPLIJhzJfprY+xoKjzkM+71nx+r08Dx0prM1gd9en5rKgvQaBbJye?= =?us-ascii?Q?kE9qkcqnEmFixbwiTnmyfsFro3cyPi8iIOhtKgEoPF1ABdmcUNTy58pIdBFT?= =?us-ascii?Q?4kDnMEp/OtNk3yaOfKiI4Dw6yYlxWzLHLikkz64g7qoV4H/o/FrPFInInyAw?= =?us-ascii?Q?eKopYcOGDT9IL6yZz7chwjIvCkCWlAp0cjsNr+gD4zQ8Hb4d0TMNwZk6FHXo?= =?us-ascii?Q?tAGtcsVnsR54k+iZUnk/rnUPbc56lDorp/A+YWNmLK1Wd7J7slUzOkDrxeIU?= =?us-ascii?Q?OeOud3OsiaGi1Xs9IbfsHUzbOSIl3c837uHM8nX6D4V/1HVxjKcYm0uD0rlN?= =?us-ascii?Q?0AhdGY2VCEOu+vQNNzysIcV1GH+fX2KAAyiMX9b8WEMwTxOm1eN1IdNRtPUY?= =?us-ascii?Q?LzehZhE1dvgiqtIbc19PdonVlc+Isblz6rx0aRufSh/b6OekKgOtkc5U6/eD?= =?us-ascii?Q?8IhJyo31cdawnCsS5iaHeh2u1A1Uk8N/I49iapw6YC3QCuGiUp5TZ9fK+fjp?= =?us-ascii?Q?KNW2KnCnfJf73OJS6IgrTT1C9vb90w1PmRovBO8zr7iFPxbQbbi4R1oRhALu?= =?us-ascii?Q?+nsgIuC39ht1IK0BKXTSrW6cDbQZ0iHo4i+KoSsC0XZ5LFZsCH5wOviLCLhu?= =?us-ascii?Q?R0KhQyMuwXPBo9tCq1sWr8/vb7420NL5/cHUUROqb3a2MoRiNzGAYun6jV/2?= =?us-ascii?Q?clj/hMMwGLddt+NaDev4s1b59rwyGwdAdky+EkJPnjalxVeCml1r0qBtmmSD?= =?us-ascii?Q?HxHJu4dTSPcc4Bw2TeEsV1lLOr9Wst2tiss5JHf7r4y4CnhgzM1xXn6dj3gr?= =?us-ascii?Q?Z0TW9KgbNTy/VPvmVXI7Nzd7PetYmrGJcetYmeL1FAThI4Q3drJWbPcE5ZoM?= =?us-ascii?Q?vgCYhKvHrl69vqighQGndsP+zbdgmdx1iG5RRyUKxEzlsoe5szbxOJiVHi8o?= =?us-ascii?Q?lD0zI0lMr013HYPXgr/NfQhAZaE7lmHL5aoMvvswlRyaEsI8DLRnBbmXa0w8?= =?us-ascii?Q?C0WKDfTGNEkSaGr8UHAhPjStKWaQYxFsxQ174pgEwPjH7jftnSFPTh2PLjq4?= =?us-ascii?Q?kOMVZ21b5s9IeDcEyg9PtL7m1IZMW1P92tc8+2ri0iNs4SFyGWbtnK1nud+2?= =?us-ascii?Q?i/cXrUcRDqL/q4yWY0SAbZ18UOr5liMsWmy3IcnLm9nbwCBzGN746qKt6J8f?= =?us-ascii?Q?X7YuCNZsqvmDO9l+fYDGck74QUsGtKCh2UOdaE9zC1OESN46uLHuvksNwfoC?= =?us-ascii?Q?3+VLjzU3u3Y/7fA7LHVI+m4IizM4nHEiLeo6rAcYEQdZLi9jLGyFGSq7c3tM?= =?us-ascii?Q?tco54QBUuI5c3t+2ZbIVEqQ1mY+9dHYqc8gOTquqOGt1nXx7IfFViVm5xtX8?= =?us-ascii?Q?4qU5C/2fQx/CJWQXriyQR1DKu/X3JbBQ0HuOZqbj2jfAp8erZUUhzWzpP60R?= =?us-ascii?Q?dw=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 743ad811-d5ab-4908-665c-08de323ce079 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 07:23:38.1725 (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: SvTKUyWNX6jzfzXoXGwcshLylcdgjKyNMAmz+9bawflSnbkWcaQGVc1fZ6/X4pPhYrnoJ3T2VFyho6Huen94Bs7Z2xKooc7BQMYIhB59tgw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB8140 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 21:10:00 2025 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010036.outbound.protection.outlook.com [52.101.56.36]) (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 1A3572BD015 for ; Wed, 3 Dec 2025 07:23:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746626; cv=fail; b=ebtix6x14yx2ct4zCFH8nMAGEAnUr5HGCS1eY/jwg4cimk6RUKqJNLeZG6qbRBNvDQh/LXuBYGpTJS6HQ5s2ltfuBggqynq/FFtVMDUwjMHzmoGhCkOGpkVC/mwIB9upXClu6e37yoV2twJE+tfLTqPuQvJgF8qvznf4qdQAajA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746626; c=relaxed/simple; bh=4e5l4PPeqQdENQNH1aZvmU3GNcYu7lg49HozFWBSTt8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tVPcJbReIgiaTZtskrUXHd2Aw5JCy51uwN9LDdQA7rjtvJa5rw2ZzAypmAc1iOBXg0XNpv5qvkBYnqt/EX1Va6jqWQ1I4WcvxomuG7HQTXTwHizX4hk+vCVFxThcq62tYpkeAMsCBJuLO2f+BoVofMRjgzLRqeeqt8qBNbVxWLI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=DRh41feb; arc=fail smtp.client-ip=52.101.56.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="DRh41feb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O0svQNafztEkYy9ScAjBgk282iQU3kTq86qWQBbRjSz9rc6qvP1idATl8CwY+yUqZBdnE4T5L4tIzBNjvAcKIrWF0RYb4OXaahZPd1O3ciaodm9b2V6PQTBP9206qu2tX8Be/UNg5Lynxq1uQUhVJrzOwa0mU+BSfYOxpt/+Qkh7LMBOwVp2Hk6NUEZHesU1/ubnrfWC7qCopomejw/JRvMFQ4/DYTqxlvzDQXZLC3bnlo3T0JnEMUfqOjEegbNitJLRlGrarj7Yl5Nd2maFFOimqW4WSyCwqj+wcEPSomOiFHy9dJ/zpYLf65Y0lqs2EnAdZKETna5OEmDvWQrzOw== 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=8n2jgP7re9xatp5ydsrJvB2NoZDchOQzhFwYx/IAiFM=; b=tYKNJLqcwAhJ8QdK5YOsc/lFkEqt9l15z8ugPYpSDxYBMv4mGqWQk9SfM8JLYfqmM5R43YlqPNqjtV9E2I613vEdGZwRy2FT/tYSCd7EK+xDGyDIcayP1SZeJjPiVgDdd6yTRaX0Wa2uZyb9FzVS0aBh3zgAVJHnmLmBP1hsx/F/jOAZ9Nl0yYeoGEL+iUVK/fXHW1Ic1zVmEnSeLYmUOjBVbQARabdmrbN5ImO1MTo+WLz6s+zNdKe9qoFptnD4DrvYcugNJRIDgcOy1+LpXhJKBHHT74xmBrM/qOHWRsp+p6TBiVCMSG3CbI9ETQp8c08qMBYSC/uXrNS98A2u5A== 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=8n2jgP7re9xatp5ydsrJvB2NoZDchOQzhFwYx/IAiFM=; b=DRh41febPf0ZvyGhFchLT1nZqJR6c0zD56r3zMS0yo4oStLDBX9vTfSQbYDz1R9BX8e5gKrf+g/djHAtBRcp22l4l0/Fvd/9q002uAActZea2JTgG5gzp1rJkZ2UuUebOU3hhb7bBaQxikcAahTdRpH5DdFnHB+JT4CIvevoZpV3l34bU5rZeti9pomnbr/27cvRwidogZcSIlDS4GqT+VGL/H9EqoA2Xjq5HUoJVI+YEW+pdlBSKQ7HhQEWIG1FN/mgtFaui8h+8XRNp3Q+ovLGl8LtYVlWjxPIksKW9kLibTcLQQBulDMVch+aaLslTkriQvrwFXE+vSiTanGSgw== 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 LV8PR03MB8140.namprd03.prod.outlook.com (2603:10b6:408:297::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Wed, 3 Dec 2025 07:23:40 +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.9366.012; Wed, 3 Dec 2025 07:23:40 +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 v6 2/5] i3c: add sysfs attribute for device NACK retry Date: Wed, 3 Dec 2025 15:21:03 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0025.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3b::16) 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_|LV8PR03MB8140:EE_ X-MS-Office365-Filtering-Correlation-Id: d8a9eaa0-774f-4d08-e8d9-08de323ce1b9 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?mrR81gji/VbgByLngfdL62ctC+D7CwFJX/3/CujjVAJCbMzpGv6m5Ti94PvU?= =?us-ascii?Q?bRbtOrMmU/All8hK7Q5MslKKIXpDqyatBKqpy4nH6XGCymsX9q6WZKQx/vZ2?= =?us-ascii?Q?lUuINPa+w2FG1oWJ+A4Vdk7ZqV/x3eR2foWT7dm95b+Kw9Lnk5oJ6H5zhqF5?= =?us-ascii?Q?KXIz6pq/KGpx1d3aE7K8Id4Bem6O66KRxIugnbGsJepXqMg0rpK+/7Ch9vmj?= =?us-ascii?Q?YA6FZR19YmIOVDbxf7pWWrKPz40ArJgL0A3wb5i9hWxMBKwxfIzfWeRZR3T8?= =?us-ascii?Q?BcI9pImAuJP6F+B7+rFDkTN+ZDhxC2sOcXkMh2/QFO+kh5vlkL1NnBCM6Ez0?= =?us-ascii?Q?66c+5QgSb3RkMpH1Zu7SDZdlGlXEfcuD2Avx6bh3o3DvLHCSpbvp0IDU2JlU?= =?us-ascii?Q?EtCVpoPfyfS/X9Id2CE02uX27Ex7Ho/3BF7orNa1t9YLw7Xb5kPo4oU4x0v0?= =?us-ascii?Q?Z+uYmvHjoDyqIR7aLMsvtMlN1ecF1coryPOjKOVqaFVPHxl6ibo/CGSW4u7/?= =?us-ascii?Q?R2gxk7cJwhtmuyO0zR23wO5MVByBx6fsprMiMZ/gr6/V7oGNo2x3vIANLCdx?= =?us-ascii?Q?fbaE9mpywKhYDGk8E1XIMHeeKJxJ0P1IzA2RUK5YcLKJ7HKxjXHz8mIGEmoP?= =?us-ascii?Q?e6sZjb/nSOoYDVoXsfA/HXgmBFOqmKTHV7BFtHopxM3SkXR1U8W1LCfAodLI?= =?us-ascii?Q?rObqKj8592PKH4QaAxWWYnVPIk0rzKJqa4tGAZQYnIO/FUAu7GSiORkRUbWP?= =?us-ascii?Q?smisgVEmPdWlDLAm+bb0a7YwEThocom6ViD1j+oJLO8xaxxq9056YA8ksqVR?= =?us-ascii?Q?5RjsI2SfodQWKvjAjR2UGIxiXJZdDVqlZENT2OAiZSLpafuhRkPn3oeaPXpY?= =?us-ascii?Q?YlCax1f0KLSkhVG97Xlz8cbLb7Nr6/py/NRGF9izVUYuAYiLE4ya2oVshlqD?= =?us-ascii?Q?BXhlzQeDKmfFEzmSEezcz5zuk+W25pxnjUjwjmOFF0b3/BN7rEty2JAy8Be5?= =?us-ascii?Q?9A2DTRJnzUrcYCPF5e02ntJxjJCcj8d19MZEUd7Z3N9IOZdLuv8o9vbpnELl?= =?us-ascii?Q?nji3n5+iytHhxeQjHZHV6/HxOQPziY8F9iuDjAz2ylT/reTcwyETBL4WkJCS?= =?us-ascii?Q?fRf37/7AWplV9kWQfU20+CPYN2byDrsANOtoiQ2ZAWsVUUzoSupGAgmF9UJc?= =?us-ascii?Q?W80GAhVmIATalvLHBTqoApojHvA+XrbyYjazwGrhn5YmaZ/wiAR5QFxxfHbl?= =?us-ascii?Q?55HyV3qvlQFkoh+wP1X7whkiMhqMrxhsSMucKN3p2jH/XUJrtLyNvE5Nl9lj?= =?us-ascii?Q?GZAbO/xDsDTwALNxytylHcAneOdfqA2CJxvdgONW0DkMho3kgfB+m34M5H5z?= =?us-ascii?Q?lHz1zFCWQxNSUc2CwkFGbK24SHhgEoROvL7/eOtmDOBvyexIdb3ht1CHFPC1?= =?us-ascii?Q?DAfvO5E7fSfAujtWlYs6Hbk+Bj1itHvB?= 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)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Jd+6GFJMkzVGsClIQ7WJqfEP/WIIbc+MWHKjlHx/WKZ00x+oAuzEr/MYmmBC?= =?us-ascii?Q?JaCCeBdvLDQSxbeeeVolW/EQM6PCMg0SqZ6muhBDBwuCSmRdRxlSgnAaOfdP?= =?us-ascii?Q?Yjucciufe6oBYctk/HNk/bPm5IGH85+sOSen5EnCR62XxH2vxFMxALXsSRjU?= =?us-ascii?Q?JwIqhyP6g49BSsNQgk+o/aTRBVMkQY3K/jAdvvNfMQ/vqVFU0zkiId5d7MYd?= =?us-ascii?Q?rggwaS4q24dWC8GBz3hAHV73EpVOs4OPc14EUjKf8O8sdfzL3e3Z9IeceNNx?= =?us-ascii?Q?6ehHuctotKrvLXomW592I/0zxivt4OPrWFBxlsRbgUBRWgTQYjXVb3L4HRdQ?= =?us-ascii?Q?5EhHcVUrkF5cCYrnpTgCgcrIlt97u0U1/+cBc7OH250ap3cGR6JMoDhGZ8m9?= =?us-ascii?Q?1k979qXLJGt97QwdJJX1dI47yAYHZ5zYX/5RQY4rkRyv189zoYbJgfwTkbMx?= =?us-ascii?Q?6EyqUpZNZIjqOr6ygxqYajBUXd1qGWjPDvwbrP9umodBOxfWFizf/uB18skF?= =?us-ascii?Q?0+1K9tSikNorzS6SdvxZtDTORoCNC+cTAT6Im4zUACMBHHpHUX5iXDVfkk9R?= =?us-ascii?Q?u/1WzVuW7UdzugZZ+WW9gTs6w8wBDECer7buHH2tJYgTCun8QevkyqfjpS0n?= =?us-ascii?Q?x2AbfMKM4M5nm9DeiPk+NnJrkMoCDrltcpKlADOTNh678PslZdCIjdZsLT+u?= =?us-ascii?Q?lnovIptA8OUMUfCO4w0u/gLezLv3FBrHchbUKp7+Iqp3HkhVBBM+CuqQuEDz?= =?us-ascii?Q?KUuanc7hOkMXEAg6atwc8tEq6Ggqo2sE0QEtSpLeUDwkgQ72fHd9syg3kqxZ?= =?us-ascii?Q?oWzF70U4PpgC5IlJy3TDtf/xXAlM6ZDxb5QIXkF+TUa5q9ZntT37jSV2/oON?= =?us-ascii?Q?45LrvsrerCko0C6WfUJ1HlbZcJKS4Oly2FRhfci8BM251YiXZ1WfZChWNdYA?= =?us-ascii?Q?0Fd6O0n5D6Q6qqXfqDPxrbOMra1xXQQFhkAiaeECtrMnunouhgXxeevZugyB?= =?us-ascii?Q?z0rnHYbe/xgipayHw4iZi0M78XKXRaCTcD4pT8HsTu3XeYWNSyH8me86vDHL?= =?us-ascii?Q?yIoq6Kkz6ZmCfGwyOvZp1BOtk9Akxd4IXNm1PxICYLbCDsmartKG8qBuGsIx?= =?us-ascii?Q?mez0obX1ufMLL4F9ixTa0DDMz3NkYpmA9smmdPWpxlzZ+Yf8YjMh/0JHyhqM?= =?us-ascii?Q?fGbgCfKnnKk/0136YzA0g1hDosynQdnMLcsdoChC0MG16TklHSfPsOop8fS9?= =?us-ascii?Q?k6NvkCffC6MWHFANN/CS5S8EvibYaXAGQjbfNAFIzIXkEJybohZp52TgFck0?= =?us-ascii?Q?u0J7nsFLZKLWFfBb5em/Caidi4W3SlNVoZTSllPchM6hupjaESV2XNaZRgxe?= =?us-ascii?Q?u2yfVwckS2llgO3E3khzZ4wXj1/FvMIR4ON/FQ/VdeqHMFaj/Do4CJSA+oJH?= =?us-ascii?Q?soEFfTrwoNf2aMIO3ndLONYuz0BA9sGdaAcLHkE8xnhkw1+JlIu/wyZ0tG7Y?= =?us-ascii?Q?WBE/d2a0ZTuGH1OnPSnfu3L0lZ4CCv+IyTJOn8XL9NMgULwHTbtByaMMLjNR?= =?us-ascii?Q?MwfHaYe4UtfL4djrjqC79tdgt/DEdP1ISYjvgpIa5+ito4i6ojIqfDHJRa2H?= =?us-ascii?Q?kg=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8a9eaa0-774f-4d08-e8d9-08de323ce1b9 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 07:23:40.0636 (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: mlaeFdP2pZC09KhLDOeb6eFwcR5kFFPGoRdk6NtitpQf4NK0CP5FUMiBKeh+sfH3o06KQq3F+c2gYR1ifX+UZwMWNibeU15m9c1i1Z201q4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB8140 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 --- drivers/i3c/master.c | 41 ++++++++++++++++++++++++++++++++++++++ include/linux/i3c/master.h | 5 +++++ 2 files changed, 46 insertions(+) diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index d946db75df70..e67f54c6e865 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -685,6 +685,41 @@ 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) +{ + struct i3c_bus *i3cbus =3D dev_to_i3cbus(dev); + + return sysfs_emit(buf, "%u\n", i3cbus->cur_master->common.master->dev_nac= k_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; + unsigned long val; + int ret; + + ret =3D kstrtoul(buf, 0, &val); + if (ret) + return ret; + + master =3D dev_to_i3cmaster(dev); + master->dev_nack_retry =3D val; + + i3c_bus_maintenance_lock(i3cbus); + ret =3D master->ops->set_dev_nack_retry(master); + i3c_bus_maintenance_unlock(i3cbus); + + if (ret) + return ret; + + 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 +2997,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 +3025,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..ee254864c8d2 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,7 @@ 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); }; =20 /** @@ -510,6 +513,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 +538,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 21:10:00 2025 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010036.outbound.protection.outlook.com [52.101.56.36]) (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 7821529E114 for ; Wed, 3 Dec 2025 07:23:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746628; cv=fail; b=eyNTCDoXBkMDRl6lmJpwg9O4sP1b8hdmWAjPlMf8+e6uGkby6rlgHgIPTGAQ4Mei2i4xvnsMd5CmuQpMX0SSSknRXXge6oUpGxVtrEEat+tO9Ix5ge9j3Hq3+5hIWjS/u/+qjNmfSSf/+I4zZluTEyZ9qVEj9DOGvEhFRt9mDk8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746628; c=relaxed/simple; bh=vHdiEz6oQOKCZnPWMV4aZnA7IJq5LQYClxm2j+jPVQs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=LrmYVRT/T2t/USICUJKQF99u5X0VORxNXRHJICvtHyioHMJ3baGFzAYN0GQMg9tIGnOI4vbQ2xyVD9cUrqlibZzu/F0CENuh9GD/xEsdpAEBkNO1UltMViYfN4j94BykPs1LdAA5+4GJyKi+5KgBVCQ/JhtSStK1zl7bNrRsFwo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=hN1czjsJ; arc=fail smtp.client-ip=52.101.56.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="hN1czjsJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZYzRSKaQ5orerv6Dj73ubBhQ2GA+vWxAtf3/lduC9i1vNE3cG9Ohp/pv4Umx/e5t9PqFwmCmT03qLODTe2AVEoGqVvu7SIVCknrSNwYBU6SeWVI8OrRnzFgn0s9rNss4zDUrjLXpC+EgR1pR1r6tX6NxYM2yAgal7qGC/Kc6VwtbSMUoD8fOfXOKzj2NEITaimF2+KqWkLQ91Y3k4nRkL4oPZSNB+w5xUXqlICva9i4UXKUaFOYfSGo+W28s+LVtBLDrzHjZ1aCQfPPPLTqyKS7fD5xl7ocnGxgqPOrtPK65Wicks0fiT0JKs9xg7e8euiglR+2EjoprzNTHAhXo6w== 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=zS7opTmVYH0Yax3Ob292OREWKqcsTT31hoMPwB9vu7A=; b=v83km7+ltaop/qlbyUPk4WSZKLYV3j4PerkN+KPCjsblkB/1VDz9VlepoeOkXBc5TdhPZ4xWbpa/CwfFJc6IwKxr0hEhKL2JXJIVIXODr+3Ywy7Lld9UHxlnpj2VWX7cPCXXFHAzBFSS55NHx9YbpxEn+rdPBPmVxdumUkmsJUdFvMMO68K4OoAmgpKnrbnObWYQI0IEYKSbb3kw/rsekcQi44lh5LnNfnbcH9uR0Uia+vsgVqgDYuyhM5YKHwDqMdOHe2gPZLY+c3pmYgjQ6DirtdfQdz4KXeixngXG0bFMRzaFWhVdFE2/a4gdwwN+Xxuyy6Bwtt8RukwEP5+1NQ== 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=zS7opTmVYH0Yax3Ob292OREWKqcsTT31hoMPwB9vu7A=; b=hN1czjsJeIwcpQ8ujz6amBGhjNrl1P5ZyFC37IEeJmIbxVdy6LDEc4vgQlWp45RFLX/s91uwPhN6pzGIqkId6wAiPB2HMNAr2yTvmsIS2rbpH4n7YjCHAhl8bJ5M4MKYcK0AGahcbClzBVZ2uYGH+seGqewqgLq5c1OynI1Hh8GwjQSFoPCwmKTdd6SFJEg4tgqYN7Q6q0xa0cPCJGtq4flPUEQEVPmLpQGMoEYIky8VrdyDNu5mrD/s85kAwTvKBzyoXgHviwXFJvU31CKYZcBmO6446Gj6jS1gH4X/MQdkBgvYuNpvfihXB4Tx6hKuti6RlJ/Kf6S3XOGgvxk3iA== 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 LV8PR03MB8140.namprd03.prod.outlook.com (2603:10b6:408:297::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Wed, 3 Dec 2025 07:23:42 +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.9366.012; Wed, 3 Dec 2025 07:23:42 +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 v6 3/5] i3c: dw: Add support for Device NACK Retry configuration Date: Wed, 3 Dec 2025 15:21:04 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0025.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3b::16) 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_|LV8PR03MB8140:EE_ X-MS-Office365-Filtering-Correlation-Id: 56785835-771e-4cdc-d711-08de323ce2e5 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LAA4mfTN5gG3Gmmo5+b435WiiR/tSr7JYw3IoSTpi2wbexa3OvTKe1us5y9j?= =?us-ascii?Q?zW7jVi/W4prb0LOALgRAwVzs7FcXHG89lkCrP2nn4298/f176v2bnxgXgQKs?= =?us-ascii?Q?TrONJEMxdwlwArwpnr81+k7xB2kd1vrDluVa5Zr74d73thJ9LIjfcrJQCITI?= =?us-ascii?Q?5mdVmrPGQOpjxUdcWMui5ApFW9fU4L9hlX80pqq0x/S6NAEyGqWf0ICOv90u?= =?us-ascii?Q?r66PiqGCxRtDA0J65ZY84gI0PO3B9aDsQKSVXYQ6QltIGUHiuiKY23e6acmE?= =?us-ascii?Q?4MERncWrCD8BKKGki/56Zt3sctWrepPURJkh+lu+R+TTcSrcYXMji3xgmIoX?= =?us-ascii?Q?2NRQ7nQXTlje3hPLO1W7DX64CCVj/3G9UMcddVtmxvTQqQqMiIUqPlPoqAMD?= =?us-ascii?Q?co4XPoIDRB4tIfce2/+0VlA6uxvFEQbS3Arb0AeQR3rTOj7UFPfGUF4LAcTA?= =?us-ascii?Q?GsDSz0rjzfqVmFaTXZjPPTmOWww6x3QFZY+ggN+NcbzSt9uwGo3Qr1F5/2fX?= =?us-ascii?Q?WhbZHhN9yBrMIo46Bw6hqneVvVfCax3cvQx4CAs8DmMk42zEwO4JP5BADHKH?= =?us-ascii?Q?GVOoSvM5zsNCiSXg8VNm7vm0iC0DDhbSjdmWrxSlj0P0r3tglR7Q/eVqdaXZ?= =?us-ascii?Q?xFlAztE040PnUGp6QIM418eZCFH33CvZwG+5Gyahl2Lf3xFfB3RorQKNc86Y?= =?us-ascii?Q?wV0txa31rRDkogjILA3yVlhk37vi+G2Fs1nzRWYpLnB3FiFRVhVALHA6MaGj?= =?us-ascii?Q?8i3+iGNfHKurkli6Pkp1nskXRZoZL7rJKjh0lIco6wWG2rfCJKLhQ04Jwj+G?= =?us-ascii?Q?ggvuvx6qWp4vpexjJfayHWsPB4naDVexQln32/X1M0H2GXZY8piPK2L1fUp4?= =?us-ascii?Q?AFo88s9ei3cbRz/StphDVL7NRvI0Fwp6JK7VNm9QfoWJkuOSq5W1p1e3fXtd?= =?us-ascii?Q?rfs6coSzNLWSyomJHg4LleAPxUVsAM/+mK/0ExHMrAjhbXBc06ou0oczCp8Y?= =?us-ascii?Q?QDPdFiCUIOe7TLTt1lKafLr4SEE1M9oRM4YwWOWCtz2SHz0YOCTBqWq5qPFY?= =?us-ascii?Q?ADEMbB5a6nWnqCU89jdNn6LhPCH3cbhjNSckZPLf56Mf4A5EJlE06IHrv938?= =?us-ascii?Q?rBTIZcqDupq2qmWUihiY+GfbQStpQ06c2aUT4mf8+Ay+CrmIOa8ISbnDLAp/?= =?us-ascii?Q?lrHIZG6B1FIUvkTGhcK5yF0A7FAz8I+5OZqAgTJAUffhW5i2l5+iqzcSMoM6?= =?us-ascii?Q?gDxBfPjKWkxvEnuGNJpQcXcQbEWI8xya+djDMpIZmjSdIQsz3o11I0zpy6lG?= =?us-ascii?Q?Z4Dx1IN7JeWJ0lnLJ86ZohNeSCJzuO5yPoe21WIa2FqACFUxhlCeFCXCJn1q?= =?us-ascii?Q?f89KX+vBT8ZDWvJG6F078fA3xsYZzJlT27wo0mrvfjQDk/b2vcrdNKaaJFBr?= =?us-ascii?Q?MSpOnJYVi131CoUKT7pFFSMelCL1EWIr?= 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)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Wni7pBAsbYS+6ljpk77pV8FzMKcPwFqNQfKjEV74xgQey1EXPa1n96pISZde?= =?us-ascii?Q?sXKSqOMlZdum/5wgdJrbWROm/OP5LuLR+9lo8/jfZNLS55+yxnFCEh1x86WM?= =?us-ascii?Q?q7QytiQpvvn2S1ZDNH3AX5TmC5va8JPvm1UW/9EWQNJSzYolIEEDSlXSV7jW?= =?us-ascii?Q?fx9Kvk27GXMIn2TAiA/URsQgTa+SuBfmBltZjraLn7MhCmKgkFk7qXvRloRV?= =?us-ascii?Q?KEwYciABvoHlgqukleYPw4Lxowbd03GB4p6gbX9YMf5eDNKqxC2/TK5eYcL2?= =?us-ascii?Q?xaVjIlsOy04rAL8SdbAf1CXCOZwpnkIK8s74hDSgBhV48lZbxY75ACsDxe+s?= =?us-ascii?Q?A60Vu7iXztfaNqC0DQpNB5F3p+u8kbXdn7YGR5pSJz7VXg06E64slDha6hG0?= =?us-ascii?Q?KJoMbUlDDcwCLSki5+GEuUrZzE0ElLc2a/th1aaqD4SIhPpsNDxgW89NNXNq?= =?us-ascii?Q?ii9A7VVxMNSfdq8dgGW6Av7lbrjFzrNc4HCbd0+AJPACa8CV+qSWg1M1Fo9l?= =?us-ascii?Q?xKgS+yBrFXsn5tbsyVDPTayRJ+07g0I4FVieamW3yv+5acAe1ssrKo3fzsyG?= =?us-ascii?Q?s+xf+f+iulWHH9NcRZWMr8+NM9opEsWuoS2KjT8pgIk9K4V3yDR7XZWFTAe6?= =?us-ascii?Q?o1oV9Iu7uc27SFl8mD0xPaNhmXv4GknR97F2XpfZpZx1ILQvAQNcmUGbDJ6f?= =?us-ascii?Q?IWJaSTe5vqknSIfAFX8PEsct2RI0tqqLuRDipFtCk3xa+TdXDkTceB2ra5Vj?= =?us-ascii?Q?BrmEt14o0bp6QSShDsQ8ro85ye/PoRu87B395pFJUUAFtUKVcOXNg9m0cZSf?= =?us-ascii?Q?lvpVIfEKhzN0REQjsJ92qM++QYvZ7k4WAwBcDLSqnLPpK6LGMtvBtLmK9Yu9?= =?us-ascii?Q?g2rwgBwkBJTZTzkQUnM96kJHWiZ/uYbLgKeYFFk52NmbY0rSuFuCLgtTTHib?= =?us-ascii?Q?HRfMWA9+zpGzbzFBFkIzfb+JuqQ0hrUZv+azNToMDAGNqPUm93EXHCRvtvqz?= =?us-ascii?Q?KeZjs6GFh0QTpmozV60yICQcbsiTkvfPvC4FoXvOOA9vhOKe2dKS4U02EasW?= =?us-ascii?Q?T1OZ3aazwbOOfW05Uf8jN1xYZLWarjcoCxICcZ14eSsVBJ7cumpTUgMPFORt?= =?us-ascii?Q?XxxsHvvQh9sn9NNKXN1DuUauYDEnYN10UrugaOTeQ/cUzB0meo1NDFfj62bb?= =?us-ascii?Q?Zh3HKVc5y+tBDV2KFHdSl4TxwrdRjqqrqC7gR2tZ1hqtiC2I7L4pVvT+QNEh?= =?us-ascii?Q?qSnGa7ut773p7QdBMmnHuVcY/UuOQtqx1GHGQBB/VDB5C/xs1jT8ONF9QFUQ?= =?us-ascii?Q?XAcpCA/KMqv474Knldlrk7oVS1DqPrHHxfIOHutLWlpiDFeOp9ttjciTLhF7?= =?us-ascii?Q?aJVh2TeZVRh/AD7uabGWF29eE9TxnBoJ6B4dYz2t+5POzNB8mFYZALA0AblS?= =?us-ascii?Q?MtlPlBvyN9todFo4eX8iKx/+AusqPEnXxLtw8uNgWJij4Ip3YvusD/ZqKFy1?= =?us-ascii?Q?xlgttWL2awzRp0noesbfXZFdZ9jTD2PcGMJithE908dnUqC5Ds5dLbIKwYA5?= =?us-ascii?Q?HmYeacgAjcB79tViUDBukk9baY6QongVxCGewMI8pap2kX5YjfmSdDdAyilP?= =?us-ascii?Q?9A=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56785835-771e-4cdc-d711-08de323ce2e5 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 07:23:42.0251 (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: eal7p5fOMgqLH/fc77qogvGuONGVNIRw+XiBafmRVDMmp1FGdouU8ugOOV5Ox6Nj8Hvi6nQ/KBpknGvfyNoIPFgYniXwxJYiiMVqIebRzgE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB8140 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 | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index 9ceedf09c3b6..252559ee2afa 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,39 @@ 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) +{ + struct dw_i3c_master *master =3D to_dw_i3c_master(m); + u32 reg; + int i; + + if (m->dev_nack_retry > DW_I3C_DEV_NACK_RETRY_CNT_MAX) { + dev_err(&master->base.dev, + "Value %x exceeds maximum %d\n", + m->dev_nack_retry, 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(m->dev_nack_retry); + 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 +1542,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 21:10:00 2025 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010036.outbound.protection.outlook.com [52.101.56.36]) (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 CEC282BE048 for ; Wed, 3 Dec 2025 07:23:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746630; cv=fail; b=h2hl2pE3jv2rZxHACUu/EJBBm+fm7DGI3qU4Ra+dV5rzEuj5ziF6jHTkPVUXnEN+oe8tc6ohjmWVDN1fZO8jlLV9D9DUqyy7yWrMpKSQZEQofuz5RYOg6j+BFSqFRuSLRb5Z6a7LqCco9Z29IxPn2Qo5W5uO7vZmNubUhCmmtNY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746630; c=relaxed/simple; bh=wjdpSf0AE/LM1bnVRf94xfURHAjAvw8zd4STBtSwW5Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OwRItstQSTzv9+5NzwbsLaXD8bbCTuxqbY3fKQmyAD0Aq38BPqBp15Ea0IHPhdNtFstDdqvGtITxZe+Zg92TyQ+1PRN6OKKeov7PHwbRte0YaOzEr7wvsY7TfmuA1JQm066ney/uFZC3W9izH9K674XeUPCVkJc0NYtKkWX7/7I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=aXEpnwpo; arc=fail smtp.client-ip=52.101.56.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="aXEpnwpo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vePOomp/Iog5z5juhbxTetBVG0SDr1fIyzfdWEWsMW2Q2W1BbIdL+KCHyHhAc1UGiIiW8EKVOQ1/ymKK2jkBYe484q/fi8tgYsD+ekcTB9RAlYcH0j8AplDLIkq6CPruYSOAfgmxuOvCr9Oyjv4rLuDnICfYtSPFur3J7ecqELr/iPZb0zWhA4YoRPMYYnHBJaNRa63pmjiVGUQzRaAHcrZIs3j1paKe8hEyjwUohjbS6WL9VXI5KQycEkn9w+p3DdoY+O6EjRyPY/7Ipj4o5pzTeqsFIkcLq8S4b/enpotSMYg52Ter6KZJUazsm7AIBnrqhK4DsQQ1Z5FtTabNdw== 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=5aMsKiFzOovwEbGnlpIUDSp9/skOmG5vdKnWMxQhsn4=; b=L7lTxOeidDF0nTPGI2kuKxWNe3Sst7LGt7yBosC0HRx5uWIFIUdXlPosUyjTPz1caHM5dQPWswzYYXV2Cm8Kc4N7j2OdNrCPt4gw2eNtOUW69Jfq0pV2geAGQZimh81o41dFAswy1jkZGDDexvdaKKW1hk3r58JJVZ+ggw62AOFn9oxoQ951qYoBPDZds/MCezIMe2asxC01TTe5jG/wabgD0MG0eBmoTqsbVfvUaEi7jG+OPUzcIVyBFh/6VIQeBEqHmhfyNPSHBEVr6y89W7EHEwGWCaBCbwjR3042F0gfgg4rsh78MFRwQQ3yMWBmc1h0nL3Y0Bb5XdfybKGFxA== 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=5aMsKiFzOovwEbGnlpIUDSp9/skOmG5vdKnWMxQhsn4=; b=aXEpnwpo5hJeYP0JupqWMsxoHVIe/MUQ++NMC4x6VnemWKQGQq8uCYnYVGEuFnE6/vkenPYbB7CLu/oZ2W1Ypv+iMLo2QXqMEOEN2jFnonz6dwCcW8N3CoLMqEPpxNKVhkdN+/Mx/o3qnLwCmoSqpn46Cp8F4cgE0qCs9yGt3l9CUX5ZYurscRUZb0+cxevM8+CzRD9RXer4Ok3gV41tdSq/xdEE/zmXOLpj9DUErJ1qzQO5Q2bQpcOW9Jo+Du7ICQxH+13fXAnbKwLV38l8UgPCgTIPRxuvzzZiCuGrcQg7BNOAOWWoiiqcd1cZT8elmZxC8VvKYby5rAzMLCXSDQ== 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 LV8PR03MB8140.namprd03.prod.outlook.com (2603:10b6:408:297::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Wed, 3 Dec 2025 07:23:44 +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.9366.012; Wed, 3 Dec 2025 07:23:43 +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 v6 4/5] i3c: dw: use FIELD_PREP for device address table macros Date: Wed, 3 Dec 2025 15:21:05 +0800 Message-ID: <144c97e13824da55254762ded701f4712ae32fe4.1764746266.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0025.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3b::16) 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_|LV8PR03MB8140:EE_ X-MS-Office365-Filtering-Correlation-Id: b77907ca-caab-44f3-f084-08de323ce405 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?3suhxl9YWCzZppWlNBTdMAeBKOr58aIif2TgqUbbmIaOPT3UIkVHXJ/15rzy?= =?us-ascii?Q?BnIf/oh0jOJH89f1APu0uTE8Y4Q+++ARhot2j5F56tSMhrdKyxp++GyXNduA?= =?us-ascii?Q?429Tc76bgza4hzWAlN8TwViVFiDJsF0BmrZt+Re3MAYSgUtr/kE/gZ4scTSD?= =?us-ascii?Q?3h6rfxvbkp5Xi5v1bja8diZqTJ/SpJ4aAXsPdrlk8HlPJj9BGb5pqB4ip0hD?= =?us-ascii?Q?NcOgBzpV4nrigwecaobZpPRFGxAABsSQqlxwt4ozPgAoAA+sRUjtQnQJvWX8?= =?us-ascii?Q?QbFt4YzC6DgFjCQBeQ+fsaME33xM+LCLQcco1abbtkYZ0jelxAJFS1tlyJ8V?= =?us-ascii?Q?G/I3XubBzxsUt0weOclUqQIxG1niKpv0SMFxt5Zinkk134l7YRmbcRKUZwZd?= =?us-ascii?Q?jGCjVFxznh1aELsrNq+GExGabtC7k4BLbljovVnaTc6Mcs7sHwUzk8SxMxJq?= =?us-ascii?Q?5MbZkyd2Q20PZ74M4Kp8V5EmEZGt7cKelkWdRuokltsMNJwh1f+h64wpk6Uo?= =?us-ascii?Q?w9PCvyiR9OXAac58Pl3IaDcyHfW3zeatvgaSEeUa8JMweW0AIUdmPPOZbOQE?= =?us-ascii?Q?W8vvIYeSji2FEPZhzVFULbnxh0lxFefj92btYbWNrRoePTOkHohkmX5AzFPY?= =?us-ascii?Q?CAy0LisxC1qlW9/5riF1oR+ZdqqLy+1dy+EVsevFwOiZ6Kvb7G69aKzjLu/h?= =?us-ascii?Q?0l9SpmLsFIJtQ3NxqFu2o2rqls6C5mszQiTy0pBZpDYOPYGYppqUDLnfHlaw?= =?us-ascii?Q?PVe5bN8WI+seskyayO9WiBiTXuTgbbd+Fu19i9YQKBxURvEMhA8ZYs12AKD3?= =?us-ascii?Q?3sJqSVvRhSrjRs6r9ZxmpRBGCpOep6n/Ev99AwQ5L1vfLemIys5hMDMNpqJ+?= =?us-ascii?Q?BFVDIVWVLULRp5zZ4bxS64C8J/kKcmdKPqF4ZjW8e0t3+NiCcLDKERgmeitd?= =?us-ascii?Q?QG9K4POcnQcHQjWbuSxJeQzfmPKXAXCWVX+DWFnv9RKBFmhIDWCJNQ/4ic3j?= =?us-ascii?Q?5scC1UkB+eaNHhERoz+YA12L3l5N/Z2ywVogcwDH8qvD+YyW4cUW4ZePttYB?= =?us-ascii?Q?eqvhKzMcyiA1nOsOwxMHhf+t6Syai27Q7TBqiIimVUZXcKtAk5JWM5RN3VVw?= =?us-ascii?Q?Ady4nF6EsGRXCzfk5SNYRGHsY/K1keUZvxZxKyrTHGtfD14aqbLiPW1dmIVR?= =?us-ascii?Q?EBGXJzZLYGG3qyjxC0e3L/vhp5nXoE7OHpOHWFK8TJSuE32ogYlg2qcZuTIw?= =?us-ascii?Q?yGe+f73onaWIOjUYm5fiBXTic1qwGtYjm6oWlEGHxZD1UJP61UWaQ57/KSfc?= =?us-ascii?Q?CfdL6LtrW28KxXtxzYSwdA/YV534bq995C0Y1Os3zqE8G9vb32JqkgvhpQMD?= =?us-ascii?Q?DYxxZkaVx0Z2xXEDLXoKriOr68px3ZfEkHKmX7l250v4LhRZLLqwaIDOdJrn?= =?us-ascii?Q?URNofKqw+bkhga7Zw2SOkDTyBu2NUb8F?= 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)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CYGojYoTOUkOTdCTd75NPi2GZFL/4f8se6NmDmlU3rEPK5WmNxjXilBR0Zfm?= =?us-ascii?Q?obCQKdUYsD1m+KDTN+y3cDavKPdU5SVo80L57RQXec4CjWhbRm6lcnCQ3pmR?= =?us-ascii?Q?KUlj7VgzMuFqE7UqFD8M7U4AOhuNEURUFsvUpyl1Wc4LDja7bBhBu5HanJNo?= =?us-ascii?Q?+XjyJpN+2lQiKJ5PXnpNQHGhDydqhAzK0PeWUNYI2ElyuQK3bntiZbH7K4Yt?= =?us-ascii?Q?MxJ3/fgCQNvLVFuYHYZB/Th7fn2kb9fEhjxkBswcghPAIhl5GT24v7PoL8vv?= =?us-ascii?Q?47jvacwvJQ55/a9bXd1nGPgUEBUGy8jY8Z/YNND5PelPbwSAzwR0DlIZWjLo?= =?us-ascii?Q?Z7e6pEkXP3TLrvB093y0QFk+p8bBm/X0sRp/SnpA4M/6tx51Ybgl3EFSHIrs?= =?us-ascii?Q?/BfbBVjx/BG6Zjf7u5lYl8uvG8W4BHWqe//p5wP+wWfYenQvX7cRr3ECajm+?= =?us-ascii?Q?75eSNs+x5ta02vkMxxbCIzTo/uHpJ0SiLQr4tv2DjGk90KD+jqC4xXMBBD5E?= =?us-ascii?Q?ZIJBE+fOclZea0iVoXOylhADH3xeTYrUr5HPzHNszc3IRBDHha0aIAp43XWS?= =?us-ascii?Q?GcVO0yV3mS1dXvflEQhHRSviQi9ZjqUIAmEbcgw+JjrTpcVz4OgN3ClcLxs/?= =?us-ascii?Q?w7WSUMHT8EOWOQpsdXqt/ENTyz/nulRIoInyvcmuf3ezw3tUIpIyD2z8wx5g?= =?us-ascii?Q?Ko8Bs2/YOXMDgSciOQt1x72aasFzGOAvE8D8Vbm5jZBsGyL1CuE+OMEf9rWC?= =?us-ascii?Q?+aY+qBGE7h25yQZEwhON/PcU1zLEuFBKIws6QDtjfFbJoxS52FuwmWoKlNU4?= =?us-ascii?Q?NXQrKnolwLdCppjmboV9AdzF9eqI5lODLolQ6htJdDVxg1u7C3aq7aiGQRWf?= =?us-ascii?Q?8QiBiZNHne/xlQ7cVcoj7WBZqKx6H253p9uexvC/LYszxaAFBqqRAhHkoCtI?= =?us-ascii?Q?nIT8U9KJdrbvNgcH0kgfWw0sPqm8AbAZGkDJN+p6pBVgw0R8a6rsKSqdWY1F?= =?us-ascii?Q?R2FjEz/f61UIv3vI68zmDdXMdxcAoVDsDJpycWD570OEgDlUGkts/zzr2tu4?= =?us-ascii?Q?/lUs/Z3Cl9V6AgIlhe+HQNn5S23tQry2f7Fg9d8Q17Y8C0JAvs1m4lcYXYuf?= =?us-ascii?Q?+WxwcHogOcsM8i9ivG4enckh5Mu5jq3N2RjFblaJOtD6jlPMInMSnfnogbe4?= =?us-ascii?Q?Zno4Fd0lJrn7DZuFE+PigKpaUygZBrW+TwygqhK5SxQZpQvZWdWGOlICjmOh?= =?us-ascii?Q?gYjyMpSylxUYNsfX6toBvOqk+x7ta9MNjZ9O5ZL+8lSbJS2pRRKFrDIMqmWA?= =?us-ascii?Q?xm9kUSmAlc1Nz0bYFxe8XnXfrVmqxmZaCWVN/XmgknYw7jKuV3/KCJczg5RO?= =?us-ascii?Q?0P+M53to2Tdbhs06TduFnyAdqj++LaSfcTQ5ll5y+ygNQKWycDFk+x5eMPow?= =?us-ascii?Q?h17zOHBPGTwfzWmacuUsIPZEOIvRuCHnbaKSPBm76l0kmu9nrXjSdTjlCZX3?= =?us-ascii?Q?LsItNcEd+oF27iKQgaJMn0x31uV4FkhgvT5T4oewlRxMTvKy/Qd+GDQRZ/jh?= =?us-ascii?Q?sKQi3qSlqurlM9hI2uAWQTqqaFVh9KmqU6y5d1+MlAQ7K9sjegVpUa74B10e?= =?us-ascii?Q?pQ=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: b77907ca-caab-44f3-f084-08de323ce405 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 07:23:43.9033 (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: Am6h9Lry9eqgBKkJLijKliF/Eipf3yalcryvIB4WS8nuh+rIuY8g3OqI2f4PmQbcDVtmZBjyw0N1hiXhneTmUQ3M5dS/ouwEnd31aHVUhXM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB8140 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 252559ee2afa..be36b3d7b64b 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 21:10:00 2025 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010036.outbound.protection.outlook.com [52.101.56.36]) (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 08A4E2BEC2C for ; Wed, 3 Dec 2025 07:23:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746632; cv=fail; b=Uk5LAGjyTn+yVcbQ6Wqeisg1fiuXjPz363fhOXIrhs8g+F+0/LR/ebJfbnGi2ekV91SjFKEQNBe25WcmvMRTqlMrY36dbgwIoml2tvqP7fu3t5WUkMelJM83sUQ+Fwg1Fyxu9I08sKKEt5cmS6M/MHCJj6PxRPQ+g+DLbAbF+cU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764746632; c=relaxed/simple; bh=UOE/3WGVe3E68iSauNchY2h2jmWqLMP7OkBgqx4I/nE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=VSPVDKgh2aUqUHKk0Veb+H1x6//QoMzIrw8hbu2zzjfLqmsLrpSXtXXtGCFGdxBgwLm2houv7T38VCvSzPGyWCEYKk+JqZ8kEPNW2HlOJmnQj4BH12aTX9hJCNFwbw4PAx6hY4gR1uVWJR1oUf7sOXNZsuPh+49eoD2dGmbj/jo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=KLceST3P; arc=fail smtp.client-ip=52.101.56.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="KLceST3P" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vaDkK1sV0/4xShcjNP17uCt7ESAp8TqAg92/otKENI/rn6G6ZAT8Yd2lOBLqCYX6jtvKoT4Hs4Ry+2cHkxfbQjQv6CpxTtd15bSen7jEtuk0XnyegpW+R1XyKXMS4/POlHN59EN++5flOE4kqhiMmOg8ydJYNWgovDGO2NqQd2+0vXipMbkCUYJn3SmnZNQOZjkswShZn+GC3ZDqQSdXIKPH+NkfZZhLXD3cApo2IlRiwLUzB28LbGxKnJnOfGHzONEKf1GkuXBM7VqMvZY1J/amNFLybx4wnTCTFbfLOIcI9fO9uLZf0TJJHGFLxinnIkT0sSUml0+KDwQ10OyoUQ== 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=kbXzNm7qp0d/jodPmOkahTbs9+W1gsJLSTqu/jMCggU=; b=IFu/PI4dRzUAF9y0ftAT7ZFKUyDxQAycjMUNcbKGgJCZINFku2JqFrB7KpMviPhqyCVJ8nXduslbDWP1r9o51JJz6xp95zZ9YZYpJ2CTVdsV3SMLjLGQs7D8JfjzUyOc6qEQ1+RWGtYGkH0d/EO1NEtsu4AocWnNd+T6CLJ/XhYrbr2y7OvyRTDk/HNWOVeerVe3/CN2S/0pvcFD8Cpm1FmBbv0PhHqXlX4kgw5b8o25m0IE9sGEOBZ0+hgeI9FFc54ZLPC7XqfP8HRzpHtpLKUsJCPVsf+x4xRxG3Ma6htRXbT1LQ55Cx/iZ+KSHZ6tTd28PRHJ/ApgfISgR67gBw== 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=kbXzNm7qp0d/jodPmOkahTbs9+W1gsJLSTqu/jMCggU=; b=KLceST3PIsZAZvyntHWYF6QxBZF6oXNDxoRWATBlJfaylwUfKmNpKG2e0kTXnoPZZTPq8YPb+nTCvVnzysLjxtc0R+eSJqX7GlbrBEvgIxy4sK1+PgzQkrhNRGEhYuDJOMaAe9rNOy/yBy23us8GTj8D2R5UjOFqEYUS18mCOjIXGaxgZCzR2iTFK7JQhcqjaythapS2IWtr4mu95HOEnu+xQIWz7GOzi7RFdi3BI0Q/HqWfYeAsEvyfSAOrTLUr0aUBB6uZwcXywy0XbnMowmoL3KOnaC1c6sFJ40mbmIhm+y7u+hwFmkkcSX9uSnv2KDWRHWjvRt4DRJ19ZdZu1w== 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 LV8PR03MB8140.namprd03.prod.outlook.com (2603:10b6:408:297::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Wed, 3 Dec 2025 07:23:45 +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.9366.012; Wed, 3 Dec 2025 07:23:45 +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 v6 5/5] i3c: dw: Preserve DAT entry bits when restoring addresses Date: Wed, 3 Dec 2025 15:21:06 +0800 Message-ID: <5b647e37d8f70dd35b4d2cf4b9df8a7a114811cd.1764746266.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0025.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3b::16) 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_|LV8PR03MB8140:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c102fb0-0ded-4665-a77f-08de323ce526 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2vPZJsjiYWKW6TNCGNIcAhSiTa4kXxarDH9sLrWJ8mdKQUlamKFk0zku2Fpz?= =?us-ascii?Q?vw46bDRs0wqP3S8j+vmaHR3pbKiUqaq0v/wacrC6935BGNC8QxQ+VfmBc8E1?= =?us-ascii?Q?e7wnmYtX1+HTrEnuLgsbgLa6eLhGqYmPPhzosqp6rvXlTIJ3FMRpScFpE15a?= =?us-ascii?Q?3xZSuMD2SRNpqjdHzm2L9GoIaYWqi+4PjB9xCUi02pvfiVTkvg8b2dYleMAm?= =?us-ascii?Q?JxiiyDFB6GEkysiDLk36TdgndprGCVb1Zlre2JuxFf5xMLfik6gO3msqbX+w?= =?us-ascii?Q?NlOfMjjL8esT+fTOpRLNgFVESsORXMd5VU+Z3UV/wBr98Heyida34y6Mv1y+?= =?us-ascii?Q?k0ZRVJ8m+jxXu7AkAojbWAbbuZMEUuUka5/I1nGyquUmovqE/60r4qQCGXOY?= =?us-ascii?Q?4NaQQERMDKovx3cg1xc1s+1CzYWMwJVJwsufi1z6bIuDv1ZDaX1UbVs+HR2G?= =?us-ascii?Q?j9ENY1NKBCwRiJq8U8im6G+Ax3xMqv792pdHj9PkrbQhukSyKWODCld+qSKd?= =?us-ascii?Q?JGf53FctwEboDkF0Ws2tTj72V84EAyRLmZPQDGbtEZHLgubZB+9PiIeOVB4l?= =?us-ascii?Q?YSgkWQdI2rLK2JC9clyetkGZ0r/RRtzuN3441YVyB7VwHdYlCHVikSzMwM2y?= =?us-ascii?Q?pMLfnQK8uGvo03r2669aus7HbOIPMyZ0esezDhPSEPjUACS+peyTmYcqg1lK?= =?us-ascii?Q?QyBYSvlL0KZboHAZoaDYm4anr8iiSi4dgbi7XsncfxvpkOSMBzwvToHsKtE7?= =?us-ascii?Q?TxXlVnttDmokA35jBlsz4VVt4g6/8jUCT4zqGM2SJmG3rCvO6LxIWYoCA4ot?= =?us-ascii?Q?RVfNwggcSse5HdPxB0hs8JK96aCFtG6HaVTVf7bRHkpwEncUzNxcbRPrbRuY?= =?us-ascii?Q?i7DzMxqTwx4dvi/VPWw8hHA3DrMmOnPl7iB1/hTm5bMm3xUTnnsSjU3Pylyd?= =?us-ascii?Q?mqLdpnnAdK24hvT+tLdUFdvwNw3GYZE6zhIJzm6jJocXSZiYZ615H+tVsmNg?= =?us-ascii?Q?4hW3mvVSkub/sAEGqYB5NeIwMgKWpTWYT/i1ZgMlysoaBXMtzAxe1wOmP34s?= =?us-ascii?Q?mj7mQ+8lsgg0S0T9iiNB5/VHfk/hrUvmQ9uR5k+B+xIOQjMypUCFciR8+eN5?= =?us-ascii?Q?rWI2JkolLLwSjaZ8p78RnyTkh3/APzVBi9AAATyQJi8hX1A7WuJLR7PMIDB+?= =?us-ascii?Q?45+An7m8JOT7suS4yZWnfplgeTlGLmkjtxbmPU803F6tHE3UkV0F6fXIFnWm?= =?us-ascii?Q?SjuN0ht1Ta32JaeDmh+iU1ukvML/XalbxcB+W+LfJ201ipYgbRNRSPKbgadO?= =?us-ascii?Q?EzvfnsvH7E67xVynfVP5/A0gshETOWShjj1R7THVrAYUswOrLGt5xxNzO3ij?= =?us-ascii?Q?LlfgUd4hi7hwMA2qQJ7KfVxUoApeYsLurlY63DMUwMl7jOB0nA6ke4B4SLuk?= =?us-ascii?Q?KyoVZCAOq933BvVhlsVhZardPf9CuGLf?= 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)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JsRmvAoBxUg+s6i5okpT2rbCR52uRmTPUQ8vQvv4/iw2OmS5llxZvDOjb0qm?= =?us-ascii?Q?NskE8qp2VtfvI5iTR1dbRSxMny2lrqnszNxdKy570XoLnOqyUPmLlnAjVPb+?= =?us-ascii?Q?/qxir5p9iqkTjsLSR4E2Av3T82GjPHIb/+Zn6N8Hz7IgZ7PdEJ2Ug1U14s+S?= =?us-ascii?Q?/ngMjmRpdCTCIYHhZeX+Q6sC/2eHlX9dpls/d8AZvNu4uM5lNvhwmsKSUSNx?= =?us-ascii?Q?B4ijlFkH9c2tNkZt0LBe6XGFC4wvBkze9P0dEXJsQBpyAkKujz8Mpg8+DAQz?= =?us-ascii?Q?Vduba389V1BMCttHx+3LnieO+vWjS7Houj7yP5rB5qagAAOcwJR2izph58th?= =?us-ascii?Q?EYHvssbsVzdm59wfXR3on7D5w/8ZDK8x08ZYVhNncEKhjWq4txsIUj257Pna?= =?us-ascii?Q?6HbF5jo9rsI9OkWkpc3P4C9xNMes94wQMAMH2l5AEmVeZAsBbPI2hW8bLigz?= =?us-ascii?Q?jEiYoJ8LYqMsM2tnvkTJER8yqH4NZ8YC2Uc4BL+ed3jaGx0GoHv6lz1dEiJ+?= =?us-ascii?Q?P/uDnxUL+cp5lq7L1Yv7pUwFXQ+o8+ijT2jiNrBeMC1kSdzz8YimfTBUe/KO?= =?us-ascii?Q?2GmOYRv6IZdI8rp6V/xSG374DaDr9pFcA9rCDuQX7HV1qhQcG6k4t6lQdBH3?= =?us-ascii?Q?EoU5sp6fJ0CY5KT6nhywLrAtti9s/uscqYapu2kpXRuljkdfdzqqvsWv0KSp?= =?us-ascii?Q?bsX6ptdqovp0o45tkRuk3KDbwZJyJQnWrLG4y1Y+gxsy4KL83tTsaDcyU+6n?= =?us-ascii?Q?Rf7dDobTTmOhCCu0eCd7Qiw1DRSPs0j+TQXqROAq18vZjyWcaAqx3uDL3D2A?= =?us-ascii?Q?IHORVJKgyYe8V9JWv5+AxikBL4e97EKxk57f8CPT2Ony4QMhQmSMoHS+f9h5?= =?us-ascii?Q?pCiNFGFvVmfnncUpIOzBQyhhLSP68uQFAyHWCztco0wpMVEUbXnC2OQboWoo?= =?us-ascii?Q?kKOABpp+JLgF/PCr3EVj4NI17hab3mjZczqyi3GyJ2uhTFqz2apee90OY6ho?= =?us-ascii?Q?2fCWTiG8JNBCnxugtllcADPPBxewgpKk3EERoVedmyAvNawpEMzvViTRSXDJ?= =?us-ascii?Q?9RSPAekbmz6wNs9dan8C2wKGKVAyheQvJKuxfVEkNcGEu6JJdF57HlKyboSH?= =?us-ascii?Q?xiNqqNrOfhWWhFe5XjqUAFhLrpdIoxXsit85Ga1g9prsNKM4+Vhcw73uwznK?= =?us-ascii?Q?IyBTuPIV/zL1PpgyNe1tyZ9j8Zxbtn8sB4xCUKgIyXiN0OHqsbQARDvjghBl?= =?us-ascii?Q?4TF1WQOEyBd6fDndYKq4c4s3km3Bgk8LvV4OLWISjhcn0JKlssyTAfFPYciv?= =?us-ascii?Q?j8YGnr7HRYaPRo9nZzC8DvGrHA8Nz+XyFtKxpUBF1OWPrPzypTgP3yeUAubj?= =?us-ascii?Q?pDpOPzh2zYO2B/gvgnytIl4t+6+qrLxAfd1UxUJQ+g1xwtBXTKmEuJngnLTp?= =?us-ascii?Q?d/++5nWlY7M7lVAf21h4XqajPpBmtYdKwOcXhuaM6p4zo5t92vazbNNPslED?= =?us-ascii?Q?Tp7G36c5EiFQVB0zeQdLz9OgpWuJa28tKXgPPsIxv+dxUwBb07XkFz9XbU2f?= =?us-ascii?Q?iPWJ5CJjxFVSp+VhdKpUA0T690QElS9hHu7gYfdCKZkdOqghKEweHDDqijm8?= =?us-ascii?Q?gw=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c102fb0-0ded-4665-a77f-08de323ce526 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2025 07:23:45.7867 (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: QkOb1h1LjnWU6CBXA/9OyGO+u8PUvVK6akqUY6P72CqEDi210StXM78YQ5Irtut7bnCbTB81RSx7j2k882TV0TCbkUmJOlUo0BKXD1KEzC4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB8140 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 be36b3d7b64b..cdb6daceddd3 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1695,11 +1695,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