From nobody Tue Dec 2 01:06:07 2025 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013064.outbound.protection.outlook.com [40.93.196.64]) (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 B52F727FB34 for ; Fri, 21 Nov 2025 18:03:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763748197; cv=fail; b=i625dAKygf5RFsoVVVuwRIwCHSC/v/VMePrc/5sFMEP+eVYollO14PlOFlzQ7itQabTtveb6OEFg1G3r9z+BHuLb1f9SDe2P1yA2Q9HWU3i86Fk2dmnsbdoosHzKrNRll23lxBp0Hj1OuoTcr7n3VUNOrrF1YOfkh3eLsyqzdak= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763748197; c=relaxed/simple; bh=b8mefbk+2fddt/gso6U7E6eN53o8lkYFB8dV+dRO4gI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=RJVACrYUJXOtPgU39cSXKD0odBAjnyv0kz6Iy1ATulXlMQptj/zIAoQ0ZJ3+FZQHHRh6zWfZig7Ai5Be2gT6YXLShLX84SJPBvMxX/FvQedgd9bJkr24SnWhTwo9foJ7VxJqVfb45QJPoyONZ927fFV8oFygn8kRxs9LYlPm7Fg= 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=VFONOIPz; arc=fail smtp.client-ip=40.93.196.64 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="VFONOIPz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CeKVCLoDmuuP8dM2unCE/Q7IIP7eGil+U259MXerNPvf9Nc9uh7ZZHVG0VxDkReQMxfo0knNicmlyfWhBhx/WjUieHIPIkg7INEzSEPeoJu6dGy8D+MjPterWyZghKi4zcoIy6PofX3CAph99dBbB3n5ipnacAks2+Lyncq4x7QvKefCVtMbI1h3vN2lShh+8zP2w/Wb7cxbE25K8i6C+VUHR1lmismGrQHpDJGNecSnROmCHwzWp2lC+Lk8MdfS671aPrY4A4+NUT/5sf0+8f1IJfQuZhFW6lc0jELM6kvy/4xq5PcFW4IaX6T7yiXQcfPAg0stAF6RjVfrSuzYgQ== 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=UIp0IfmdKYekXNJMpvU8Zns/88Weyx/ssLK//h805VU=; b=lHVRYfybbXG8OksFZmSMNDJBcTaehh99+UYRTGLD7Si+IPZ5KlgFwtw4ZU1BZ/eBe3iqhuboD+Ak1f6u96yLfNJq1viyEsVK1A4Atic9Kg+vwPjqBzAX6ukWCuUyXxV2mt0ctMnDAUJy7yUYmREq7dh9FfACER4+cec0NqaVZJciRcSR/l2nO9ebStPysqmXJ0vthz6HnucuuNPlYEXNDIKymzJqCZnthqARPZfigtAYtkX/ewLGsh80ao2AQLieHs1sDy/2IMYRr8rXl/DSTdnRnep1l6sloTfK2CHArufNIum6MdDofIyDIjQGFQRsL29MyeMbo7YgJa0Kaugrng== 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=UIp0IfmdKYekXNJMpvU8Zns/88Weyx/ssLK//h805VU=; b=VFONOIPzEeD4uSwOr83XqmwqGdPmCnXyc7G3ehMGM4/fs7jbZiqIJQ4VeoiC2SLhCLpTSLYN7HGpJTmaCMciibrwSO1pIIPggIK5OJqXhIEko/E1nN73jc2aI7fX5uyb26f9iAPmg+6rJpjnwAk8MsKFCR4wAqDY+UcSCWLQ7jwGR33h/Ld+LNYYg09TDFIeD8d0MKUPe6SqKHezcQgxTP9ei01pghtagYyvKlMRGtNIqJqhnxAWN9sThqTtgsyoS5nl1p07PTq6XWU2sBaV73rncCNR4n2V0cD8XQ4z8SHEcWiC5oiY+gFrQfawB+xEIR7XNDgfgCtuOchw9ekRBg== 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 MN2PR03MB4926.namprd03.prod.outlook.com (2603:10b6:208:1b1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.14; Fri, 21 Nov 2025 18:03:09 +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.9320.021; Fri, 21 Nov 2025 18:03:09 +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 v3 1/3] i3c: add sysfs entry for Device NACK Retry count Date: Sat, 22 Nov 2025 02:00:39 +0800 Message-ID: <6ad1cc6cc835ddb01cc179f91cb9a8bd2eb5153d.1763747151.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KUZPR04CA0028.apcprd04.prod.outlook.com (2603:1096:d10:25::12) 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_|MN2PR03MB4926:EE_ X-MS-Office365-Filtering-Correlation-Id: 33a3d5d3-beb2-43f4-b684-08de29283a4c 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?jXv2NrlKxs7Wblsk01UFi2Ga4DiqO2EXiJdKaCw/gtrtowmeyvxG3zHKm6l3?= =?us-ascii?Q?QVHYsxQ3K0BIZiPgbxYqav7SBr44fatNh4SovCSQt2voxmkB8i0ruwF3hF6m?= =?us-ascii?Q?n7orqvFXqOGr4Wk23cIUAXx9cwUADiWYVWBM8HXZyRb61LWeWx2q+j3KrKOs?= =?us-ascii?Q?De7LnSCkr6mrTW6kasX5M4KFTZKg7A3Dmo9XbQWnipNT1n4UHKaAxnOMO7ti?= =?us-ascii?Q?8Lqsi+ART4vAYT2MuABMoKb/50jdL83yoG0dE3caS6VqEYzNLogMcm2vaamK?= =?us-ascii?Q?SVPTl6nVCWPFMN+LL1g/eQvI/mdcK0DAEOMvNvMVokHj67Nx2Qb6LacpFtKU?= =?us-ascii?Q?vCivnU4cMAHLDJsDcdoEFWmZhmV9srYpjiD+0km+ouVLS3JRwmh2GQEmjS1Z?= =?us-ascii?Q?wwQM3ECKJNuP0Lx2o0UBTXcdOaqjDW4XSh+PtYDjCqAvswjWQ3OwdjLntgIC?= =?us-ascii?Q?6uqF1gY7lM9fqu1QDXlanMgeguJHmrK4483/7dUCvFPMcfSdFKKdVggABEcR?= =?us-ascii?Q?PeBjjiAO/xudQWZZK+MICWusU+bh9FACNL5pqjoO1NUrGeGvlmk/F3tndsrK?= =?us-ascii?Q?bsMfFTvwas0/LHVUl44fUT/b2zu+qKjyCE1tQmYJrAu06rZ3vVnBPQP/e1/E?= =?us-ascii?Q?3JOm9t+TXe8xFA2eUcXomsIBSG9B3j28RWDK65RMoqpkYluX9FKl06CQlp5l?= =?us-ascii?Q?lJYwwvnpt4CDfdlBeMzOLsTgX2YFyfdpW+AsBOKwU1bNNjRILtE2aejC6vGx?= =?us-ascii?Q?oafhmh/VZOYMT1bYoSdAa62bmDBD3w+uXcUaN1IIZqqgPMkZ6lSnP0zXTNuU?= =?us-ascii?Q?QuBj0g8HMzyY+n1Q8eqQpgrJTnvpsSB7LA1Z2oWDGer5fUESSWUXh82oS9UP?= =?us-ascii?Q?mmkV3Way+U8Thm/cJRAXbcnXLiDTtmUufADSm50BbPJwXcrjXjQMN7AQTcjz?= =?us-ascii?Q?2jBM4b9+DLg/fZdnITgDkF6gObul4lc6vVZxI3cEuHpOHrd9pcwMnOOVJt3W?= =?us-ascii?Q?znK8nFnyyOXOagSbZip4j3u8rY8BF2DCFIqpI7DnJG8iVTZvjjBm9LLKSYqE?= =?us-ascii?Q?eJxDpygGyQ8uUSLMl+31tByAQvC+ecwH1VzWdmgD4lHkqhHqr5SGjbJXUECF?= =?us-ascii?Q?KY/yIZcQ+prPg9CPz+aBg26qJHA9ZtAmTERwhDqU8mlhvpHBg6MTbKGVbily?= =?us-ascii?Q?5TvI3e3RBdoGOjOSCkhuo71OAGje5ylQ1ZV1a18X2/k4z+25JR2vNGGgA4Jr?= =?us-ascii?Q?X2rqFeZk+03r7QgL8qpKUQ8RiR/VhXtehyzih9Mg0N/CneXceVQYWCjn0qkp?= =?us-ascii?Q?j27IkBg166UnbHf5kJzVqomLY3m/6SnIyed7mVeRJeec0zme2ZWSEzysTxkD?= =?us-ascii?Q?bIwUqyHuO3ppdKlG/8R5oxu/7yUlW305PcALKt5kjUTPaaF8A3DlBDPg+xRO?= =?us-ascii?Q?/ef3dV5uR6afClFqZkHglQormpQEQkHg?= 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?LDM+Ft0LL2KA1kyzMQU7HUj67XJnFMDhVqdO5DWr+4lIaffuq9621yC8Fav9?= =?us-ascii?Q?8Pq5QSt7yoLFlFfmhBzeNLvWsdSSgJ8qKliLbT+gH2vwobvyXcd2+WJTx2I3?= =?us-ascii?Q?ZCjNvheDtf10ffLEYd1NNrrQG7AU5vqaL9sLAasgLjh73+uDGGimejl87wfZ?= =?us-ascii?Q?ZDhrT3e3M0HypHyNw42uv2lJyPrc/sXsS3Hl9+7gZonPkNVQ1nulqp+3QbGu?= =?us-ascii?Q?qcBy92XcPUzXbpk285Log739kP7uk6sShV9IodQ/j4UgoPVrDzLALEmYka8h?= =?us-ascii?Q?p6RwD55/c9a7I+5//1GcIeTiCRVav8o+PMIP8FYyGD+2Th8ZqDUPz+QKN2x4?= =?us-ascii?Q?JXI66r4Wysa0D2en8iEp6QslchN6P08dypM9HUMbGoeMTbjo9PXO3Tmukjn+?= =?us-ascii?Q?DVhmy2utklv6Qi4tN93LrfDFGp5bXl9f4e6QPKFXJ+UnwHPoipa2DPBCz9fS?= =?us-ascii?Q?a4urZev4s6aoRJYJdsjgHgjPTzZdS2Thh7cIqFf0zhteLgkG3xR5Zd7X5Ipf?= =?us-ascii?Q?U3dRq3EdU9s3OANJFtKl3Y++BgQeNcx1X577n0VRB4pJUOma4mA050fKI6jg?= =?us-ascii?Q?ebk4OCzRtYOxQdvUVuNImYqBdLnfdDaJntaGwMwpsOYsVTa5o8z1NTUJHssV?= =?us-ascii?Q?/9WWX7bovObjxkB3JFWLyHHJOzeHs4zfph3NYzRbJ1/RbZE9SOLVGAKka3Cf?= =?us-ascii?Q?avGSeI5Kj67UIBwc0xRgxw0Y8JsADHH6ldcQb0zXyM07/ffy2+jxrNXAgqBq?= =?us-ascii?Q?DW9sh9lr+jd5YEkwzq6yGOvDEiYaqURpHHDtFQgu58zHWFbM/YJLZRGz0XeZ?= =?us-ascii?Q?7RiSEkNpNVqpuRqLrvmZ1XYZyFikXTpdPB0pQR1hOSdwojFYXBHhy3sTxI82?= =?us-ascii?Q?/AFXazvSWi180iUnR9Hveop0JEuIgH7drOs6Y5FoP7bkOekfN0EzPv6njvnR?= =?us-ascii?Q?2P2tSyJsvkLM1NKUSrLFzNM3EuuVpDulDGfqRm1A2X/02Tjc3wLyjrlVXDNM?= =?us-ascii?Q?sQLb383sNxRk6e+Ulqy7sAebEdb18m9AxI7FKuImli6PsoY+ohR0tEz1O8pd?= =?us-ascii?Q?wHx23akrB1ULswEvD54bNZzozyHjfGtL8n0fRVhG5wBOFzCIh/0fiOwP8rDN?= =?us-ascii?Q?qAF8HxCDmrs2sXV8kC5q7Jj/bTqTauFS019YkKPU676MwuGYNjRVWob0pIoM?= =?us-ascii?Q?pHkdC7HjFkKh2vNvA7CYIvBJC5+UMhXQq0758kdHLK4pIJu12rO3/pshb+yj?= =?us-ascii?Q?pJau+qp9U1lUJeExBMUJL6FiicKlwNUtz5MOPtCWcxH2i996x5vfTE5NYXQu?= =?us-ascii?Q?af2v3kNq/adpAIawRS9G59HiCB1Q/65FZ+EBcic9bmZatYJv488JHJ1Fjwh1?= =?us-ascii?Q?WXHMwyulO411OrM9zMJIO9xAh9fpiKoBwVXXFiuKzL2USuuZgVPYHGtwM9tA?= =?us-ascii?Q?FbxwRglIc0xXZ3htmNQRbIwMDGQUZWL7DLCGDnGwMIPW1mA1KdYavvCJ8krC?= =?us-ascii?Q?WSjOWmbBsN8dRYzBZtrv1MxED8nlD5BVdUHvz0a0jNaLqfCkyl56/iqBIMxo?= =?us-ascii?Q?2TgEDOmo9ohR/T15MrDvwJRCI2JqI+I8roF/L3xjafF0Agntt/H+vRwYSL65?= =?us-ascii?Q?pg=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33a3d5d3-beb2-43f4-b684-08de29283a4c X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 18:03:09.0348 (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: lOoIdRrXVDSMBGXtBivfgP3bL6XgCTBresqbGVYuPjjj9Ms7uZgKm22u1v4oqY4KvvBGs8q07iZpv9/X2lCsNtrNcZ48g+GByY2CMm+YXdk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4926 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 Tue Dec 2 01:06:07 2025 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013064.outbound.protection.outlook.com [40.93.196.64]) (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 9C2523502A0 for ; Fri, 21 Nov 2025 18:03:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763748199; cv=fail; b=Bjg277irGBS/Ic8E7UEGDOBHqfG+WIXislFv4tsPs6f7HWxCf5xJweMjNKlQKxhFSyjX7YJ+LSUyXYyTznK8IRMg70vg/9jv6wGz9SeFqKEfZnpkwZpjiPbRpE1wyvFrESVhzE/m0Ry6nTybEfzltCq8V+rz+iLtBTQ88UqSm1g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763748199; c=relaxed/simple; bh=Wgyg4T27RHmSNf66jvPCOgkazdAMlAX23voINqtt1F0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=XBUtd8Q/8Bu52fi5IvlxCL64IbRhfKD6Ma5B2k/bv36zVoierNaNq+iiHhoY+XMdfElMdT8TJk5x7IRE9UK6s5TupQ/ShxaGafzE5odW7mpaZqhXEF4hIdcuUcBNc2JIfnRkXTcoaD/Fh+ksWqHc7WQbEGHwfJCaNkFaQbx5/kQ= 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=B/AAzz02; arc=fail smtp.client-ip=40.93.196.64 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="B/AAzz02" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YfgVc7l4NhQYYyh+FrnaawngQ6lqtIn9d50AsSqVtauRwLocwgIE5LUslsVayv5pZ932F5BnA2YS0fd6MlPagnKsx6upxhQsHCLjIyQNUZj10+ln5+IpkDTV6xYahph1MqzNUEA4fKjrpPaUfLs2Mzzplfw4LFlv13Xre84qHTuTYZZUOnIuzaE9H3rqoGOKk5S4fW4zGwC0Hrckm07gnjrVJZ8j+YkfdpLZtNxCufrTd1HaPGl6CNaJA9uWt7pUw2TToRJh6tJv/Mkw7aS4YHQv6HODKlP6B85m5V7muqW/UVCuTIE6uekXMYn6/N4T7QEB6JBCL0f5Zk7unLf53Q== 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=QAp1n/Po+i6A6JSg5qjFdur3KSd27pnlZDYpfgDZWNo=; b=eHvGCSgocpnCj/Xx5CFOH2RkRxUnbUowCfw//t7+rj0NCNwJsj9Cv2ogbJyjDT9W/+MYKNNqew04aouChdO4q3ygJLS5ugH4Ouhuw3/WJy1E+m8MEO0UMIdYdrk+DcN14hJ692qu5OWeoUt9JuM1i4JZeV/zVIFdpS4y2T714l9PAcu+fJpu/rv6YYP2LAhcnYn8nRhr7nSGFy6IL+xCqaE5db95g9XF0FpMaIqPQW/Ait57O/gvRuyi6Nb7c2N6c7aWM7nIZFTrwODUx79x1bAFbn1WOtGoGHNyKyNbA17wVxSb94LptcObeq3/DJ8VxYhZWlkz3H1CUiFqROL4qQ== 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=QAp1n/Po+i6A6JSg5qjFdur3KSd27pnlZDYpfgDZWNo=; b=B/AAzz0257ZT3vyw4o3mOm3qqs7+dDshIBgDHUU5KozYfNmBOsp4SBQNBGPoz+1b7QAsiOZU2+M9GqaQQkkDz3jesKyh5X0iZH4Uu/y8NtA/j/wXS04MrCNubtt3elcIy8BeG0MJ8Z9HMsKu7M4Rhl7OI9vVNs/hcXGKavXB4oL1TtmvDe2Mo0onu8qlcdXC+D2mZOVCXwvkUKuPpsIE1PqMgwOyKIT9ORiaRhYfVgvl2MoHN3HMMxdMhtqKpHoYzezgzdNT9Pr721Zt6Ddw1l+6eQ5YmYDtwsoLzSh6quWN59pK/NHUJRpuklpdMKZTLolVfi4sGr6512zN8v3HFA== 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 MN2PR03MB4926.namprd03.prod.outlook.com (2603:10b6:208:1b1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.14; Fri, 21 Nov 2025 18:03:12 +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.9320.021; Fri, 21 Nov 2025 18:03:11 +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 v3 2/3] i3c: dw: Add sysfs support for Device NACK Retry count Date: Sat, 22 Nov 2025 02:00:40 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KUZPR04CA0028.apcprd04.prod.outlook.com (2603:1096:d10:25::12) 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_|MN2PR03MB4926:EE_ X-MS-Office365-Filtering-Correlation-Id: bb63c6c3-3b6d-468a-7e4b-08de29283ba7 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?/G8FGgrwEguKCsbck1nDRpqDLzJRUre6K5Aly46AUa/Znz91Vul/sS9RSOch?= =?us-ascii?Q?egtd3k3ZUVNmxebZaLOYV5fa7nbvSyyBKOcLYs0O6mG557fcHeB/f0r1+aiR?= =?us-ascii?Q?onhh7yxL0oW6cvfv3l3NZWDJOwTySSPwUH/44+akZnxmGlAb9T70leRgN9N6?= =?us-ascii?Q?OxndmtwbSjW1Xg7R9W4iM5lQJkC1xyHJqnKM4rfpHdCJfNKaSP0j9lyz6jkg?= =?us-ascii?Q?tKu0pNMmgROiYiTYCsZ3m1PFt1UOoReu+Py/NOfrYhshr/gFmRO//eOgiU81?= =?us-ascii?Q?SNlMzTytC4zJcz76QT0FWn/S9jTBD+JI4ww99X57PVJ59eznQNqZejsspfvR?= =?us-ascii?Q?+IrDifpulGtZ3Lu67CoU184kkUYgk/hfQMoG0UKufG6/LLeiHUJK6SF1G53K?= =?us-ascii?Q?uc4IuAnv+NI+fOf1MjSao55wZBt/T/hlo0CjA3mpfpIUT1AnHdBF3SYOcdIT?= =?us-ascii?Q?cALAM+V3okGtFtQY2ebOvsN9HZd68KOqPiUVwuMmNj7G8wC876A/hCUijiD3?= =?us-ascii?Q?WA8aIopOpB5Z1J47igR6MgJIYGzawAv1q0qoeFaadGDhoIusYuWkTQoD/V1o?= =?us-ascii?Q?f8I0EXXCQZHv6mkCYpOVzfMrocLe6sG+R1KX2WgCIweuc5KYkUcYG2t9+fmn?= =?us-ascii?Q?WDktK2WjmgVRAXyORPhplt+e9DXH+ShJCiJpTOBrqype6aflLSpmOo3pUciR?= =?us-ascii?Q?TZ7Gu1G5SPC4Vi2nrsv/qILHNe6sFY6JEkDGaH84Xl8wZEcFNGD1Z9bXjeNe?= =?us-ascii?Q?1gr1SyAHeXpAmgUlEbQg9n5oneoWtAXtlhBlOMqQmfHsEFsAusPTiYhlwgW/?= =?us-ascii?Q?vrreyTSUZtOVrTdcorSCRxJFu38kpFHrUZMW7JpVnl/CD8hB/5toHF7zJe5a?= =?us-ascii?Q?hBFe1cW57rW6o4auK8+r4aiPzsm6L+i67czFwFJ7CHAiXVNr0jXTQkBB68Y7?= =?us-ascii?Q?xEmtM/yNJagGU08FTDfnfzcY1x+kg3xKYY8S+qp2jd3B+BAaJDz6CyKw928L?= =?us-ascii?Q?kAAAwT1YqDA5V9L2DGCdS7jIfmiy5EUomaGyanRX/RhDDo34+xypaz2/C3XO?= =?us-ascii?Q?3WRJwZo9bTrKws8ys836fz/blE9tMKiAhoW2QFKoVWBn4AbtO6m5yMDSiDce?= =?us-ascii?Q?4O4GAOue672iHVKn4Oe7gccNCJ6mgZLLV3EJgokQL6aQQbrDp/mdSEXwFY06?= =?us-ascii?Q?gdGIvpEh7QY8x1BelDFrAgwDyVvob/0wv9BnQOB7lKSjflxdaIw614oOZUhy?= =?us-ascii?Q?0a36DpLbLrPTN76JMRPwRL2TZuLhSCepdVDoAD6fr8cIAzk4qqW5dwUBdPRu?= =?us-ascii?Q?3OjdwoB1eLi9etJ7Geeoezel2b7POjdZa2ctv432YeOTr/HEF96c2YIuAfy4?= =?us-ascii?Q?him4bHbVRqv9XHyRVdCnmP7yf8xlSb2Fsr2FnjumKFKTFtRGU9I+w3DX25C8?= =?us-ascii?Q?uld79xD87E9s7PZPIXaCXBlUOajmkqGn?= 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?2zC4ckkWzzi6SnDV+E1iCxEgztIaIIzKhvLgvGgqcPhafnheUZcWwWHEq5oO?= =?us-ascii?Q?Ae2unaO6qOWGvb+YPo8tdg4kXMmc/WW2ddW/6M0qCqNQwErNQjFlFHVP0xfv?= =?us-ascii?Q?0+OJ6PBDGHsbAliuPkFz0tQns0hGQVrQPLlONsu5AG6fLbXzed6XBsy9Jnkt?= =?us-ascii?Q?n42o+jGccxfiycn3PwDlvoRSCCMpyhEgnOc/zcPm6pnnTOZSJrZmI29L6SHE?= =?us-ascii?Q?66zBqKPT/k5eTh6zbSkilB49jiFkMh8GVllBHzget+qdmky1O1pj4eXnnWd5?= =?us-ascii?Q?KZLv8OsUTj7kl5O8hv1m9fVaSbYz0lU1xq4mHWaF1EB++P8BXz7G4U/97ub/?= =?us-ascii?Q?0xscBSJNtEVjz8Oh6UWazLnft4PLpEu9/WcqFsYFgKohpXsDs6HbwXqscXoi?= =?us-ascii?Q?m8M0f3ng7bBfA8K237OA1fcrxo8sivMCFCAkPDquyZAYOCXnhp5WjJICpZ96?= =?us-ascii?Q?8yrLbVEiqUVDzmQ9WHUTrgeANbgMpUqBwnh/eYaaDB5GwBJwsqixE7GcN4q6?= =?us-ascii?Q?kraYnbkN/0a+Ttq3uzvJaVd0yLKV9EaTe0mJvX/QYBMbSeaFPcBNe9fa5mW2?= =?us-ascii?Q?wkiyTW//Xx6eKIfuKf88U6s54JhItuAWpszzh8SXfN9+qaZIIT3mW3+vPy2G?= =?us-ascii?Q?bB9ZLF3Q3vMlpSdMPvds4kBlzgpbGV+b4GxFbaa1K67sYuyfbpdiAY2SyNmS?= =?us-ascii?Q?5d8nSbKgtxLtaGiCYFI2wf9Uc5e9vzg7ZyAIWKOWHVsTU1B1SsA53CwEXWy0?= =?us-ascii?Q?skoWlOtP66maqYC60pLTmOwQiui59szYkv7f0FqXHRxGmvzNOrkgKUNjavhP?= =?us-ascii?Q?xnUGebv0//p/r1cn5/Jk/KyYy1wfRrEx10q6QAyhxGnLk3P48qamr0fWBKwB?= =?us-ascii?Q?7TL+fNQu8pcxhlGNuo5J/cIC5e3XYEpbXXIMLQWOgQhm4nbG7LGWd1egc/dB?= =?us-ascii?Q?S5m+6Ae44csKuCzxmajU2Z29rlCw7w340S5zBDSYW0+aEVmFvFEYl6fSVtzk?= =?us-ascii?Q?QSmYJdnvQy+5nIgrcoZy4vFnIbYOcBcHy2n+iCJkV6H7MH+aTYEmbVVwbmpU?= =?us-ascii?Q?9LBJ5El0zf8wPK2wsZ0yfpF/LWbimyh+AFE5498UNYyfIhoX+PA+x6XkYAsc?= =?us-ascii?Q?kwkLnJrNBSGclCJo3aHOPZz7prQhlaQX2AGTOFx3YH6HA2l64h0VslWa+CNg?= =?us-ascii?Q?SMC8tpNLUmPHoA2OLUWtKhzdTCxMfk7VCzcuXslD9ich+I0hgrTae0qg+j6j?= =?us-ascii?Q?GoqiHS0uCdpLjXQunHdhG7UioOUqBOR5J8hV6hOm14VwX5//gcTxdV4aF5t9?= =?us-ascii?Q?SYfXquCPhyv3vduCyFAA/HsZuNl4oUHyiwRgFxq6Sl3WEA92tesIqHfj08qX?= =?us-ascii?Q?YEbPMhc17sM8T51WjD4+5+dM3IWvlK8insm6hVFCZ3phoBuSkGSmjcxFN4Lu?= =?us-ascii?Q?NeuALAD/kBRXujxd7T/AXh+L61DtVvZrhFV2Jnob+e96qhwwyL9XM6KN55ev?= =?us-ascii?Q?MKM0w56vBzSNB+Ibo9n1YR++ylwdWO4E0zHpLcD+INY99XVhmb/XPVSPr8tg?= =?us-ascii?Q?4xOm/IX1uNeX2wON0yI0HwvJIe7pptJTBdkM2TY4GxeQsYCc+Czs2I6+0fYa?= =?us-ascii?Q?kg=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb63c6c3-3b6d-468a-7e4b-08de29283ba7 X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 18:03:11.0297 (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: ygVQF/kdJvCtnhDtsi0yJ10r1PkF2inzCXc9fkQCXvUh+hXId51TNr9SXxuB+5/IY1ysYqscBQCGefIcrsYLqk00DqB/1MHBWtYMscvD6+k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4926 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. Adds a controller-wide sysfs attribute, dev_nack_retry_count, to read or adjust the retry count at runtime. Returns error when value exceeds hw specified limit, and the updated value is programmed into all active DAT entries. Signed-off-by: Adrian Ng Ho Yin --- drivers/i3c/master/dw-i3c-master.c | 69 ++++++++++++++++++++++++++++++ drivers/i3c/master/dw-i3c-master.h | 1 + 2 files changed, 70 insertions(+) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index 9ceedf09c3b6..e228c60840af 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -204,8 +204,10 @@ #define EXTENDED_CAPABILITY 0xe8 #define SLAVE_CONFIG 0xec =20 +#define DW_I3C_DEV_NACK_RETRY_CNT_MAX 0x3 #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) (((x) << 29) & GENMASK(30, 29= )) #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)) @@ -295,6 +297,64 @@ to_dw_i3c_master(struct i3c_master_controller *master) return container_of(master, struct dw_i3c_master, base); } =20 +static ssize_t dw_dev_nack_retry_count_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct dw_i3c_master *master =3D dev_get_drvdata(dev); + + return sysfs_emit(buf, "%u\n", master->dev_nack_retry_cnt); +} + +static ssize_t dw_dev_nack_retry_count_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct dw_i3c_master *master =3D dev_get_drvdata(dev); + unsigned long val, flags; + int ret, i; + u32 reg; + + ret =3D kstrtoul(buf, 0, &val); + if (ret) + return ret; + + if (val > DW_I3C_DEV_NACK_RETRY_CNT_MAX) { + dev_err(dev, + "Value %lu exceeds maximum %d\n", + val, DW_I3C_DEV_NACK_RETRY_CNT_MAX); + return -ERANGE; + } + + master->dev_nack_retry_cnt =3D val; + + spin_lock_irqsave(&master->devs_lock, flags); + /* + * 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 ~GENMASK(30, 29); + reg |=3D DEV_ADDR_TABLE_DEV_NACK_RETRY_CNT(val); + writel(reg, master->regs + + DEV_ADDR_TABLE_LOC(master->datstartaddr, i)); + } + spin_unlock_irqrestore(&master->devs_lock, flags); + + return count; +} + +static struct device_attribute dev_attr_dev_nack_retry_count =3D + __ATTR(dev_nack_retry_count, 0644, + dw_dev_nack_retry_count_show, + dw_dev_nack_retry_count_store); + static void dw_i3c_master_disable(struct dw_i3c_master *master) { writel(readl(master->regs + DEVICE_CTRL) & ~DEV_CTRL_ENABLE, @@ -1598,6 +1658,12 @@ int dw_i3c_common_probe(struct dw_i3c_master *master, if (ret) goto err_disable_pm; =20 + dev_set_drvdata(&master->base.dev, master); + ret =3D device_create_file(&master->base.dev, &dev_attr_dev_nack_retry_co= unt); + if (ret) + dev_warn(&master->base.dev, + "Failed to create dev_nack_retry_count sysfs: %d\n", ret); + return 0; =20 err_disable_pm: @@ -1617,6 +1683,9 @@ void dw_i3c_common_remove(struct dw_i3c_master *maste= r) cancel_work_sync(&master->hj_work); i3c_master_unregister(&master->base); =20 + device_remove_file(&master->base.dev, &dev_attr_dev_nack_retry_count); + dev_set_drvdata(&master->base.dev, NULL); + pm_runtime_disable(master->dev); pm_runtime_set_suspended(master->dev); pm_runtime_dont_use_autosuspend(master->dev); diff --git a/drivers/i3c/master/dw-i3c-master.h b/drivers/i3c/master/dw-i3c= -master.h index c5cb695c16ab..45fc1774724a 100644 --- a/drivers/i3c/master/dw-i3c-master.h +++ b/drivers/i3c/master/dw-i3c-master.h @@ -51,6 +51,7 @@ struct dw_i3c_master { u32 i2c_fm_timing; u32 i2c_fmp_timing; u32 quirks; + u32 dev_nack_retry_cnt; /* * Per-device hardware data, used to manage the device address table * (DAT) --=20 2.49.GIT From nobody Tue Dec 2 01:06:07 2025 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013064.outbound.protection.outlook.com [40.93.196.64]) (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 9CB08351FA8 for ; Fri, 21 Nov 2025 18:03:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763748201; cv=fail; b=i3UBrLquuweJAIwPQXQ7ypqjqXhd0U7dT4XpFv9H8vQBAVXK8BB7W5mMCrxaYX1/gR0PLvnwten69SlZkHKAwxx+3T9ZQaZLGbEdL96H5FGuIXrInkI0bJgQfxNGwgvgf+po7c3AUnUhFoa9QkkPeRO5Rm+v/zDX+EOcZar9XXk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763748201; c=relaxed/simple; bh=uXDzuAJewQvCI1HbeKxLOw/IeHITONLBNCXiDRy8lgo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fm6ReZ7QKraRZ8tp8jlcRxan7hNDl+pTsiVH2gxgusL06npAw9lfx7A/DFlpk7TUVW56nKHZY3Vp7Pv6662eRYZtkHXQV8J7LdcInICayktLTWfmnItgI4AOf+/kt5UdI9Wygw2YgSprz0A3CccRgSdB4vYX4fPl8TKhZlTYU7k= 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=bdEbv8J8; arc=fail smtp.client-ip=40.93.196.64 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="bdEbv8J8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bqfAhHeqlYPXS8KzK3fDp1PgxVvhG8R88D6PjNTPuTk6I551VmNdS8E7s5mKwuCZ7H4dum1OD79SDBgL1MOkAAxavr2mg6m/rfpm4xPCMl2/cq2qu2cpDsiNNbx/NRlNfvpl8mKNPxHV3GvZLVvEUf6bVze3EdEsC+ma+OV1Hw1JLOctvA0KUwftxhDTIqjeKGl3CJRw8X3fFR5kpv7ylSIJ0cyKu/wwQ2sb6OSK7bo6iLpXTd/2Npj4o5FcZmdpvTQ8BN2kZ7iCSIDn+6A+arvHtWmKyH+YXzLoMqNZ3up11hgAidq2Mkpkor3KAPVvLXiyaVIntmQOhWs5mx9j4Q== 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=7kkhM4wTZWstIHv6jvBpyzvbuCS43FJKrGOP1beEIGM=; b=JG9M0rYZedx1c8cUmmGuf53LJ224Ngi+xEXHncQ9H2/x/tHV+EfQCPMMRbK57J8AOqXjoTbIBEh1+sjj1ahudUqUFnWC/1pWW7TrX0TU3FTU31B1kmtYuHKx1VQMi4pXeOtza/gVDM/mP+llddnZsy8i0J0maywoE1JpXjIA1dsKa9dhg2ri2e0BcCP44zWh/cqI4CSMpTGKlatKWxWqHR0uaUS8Jgp2aroVwBDr7SUiF9TtHo1Wf34Htuv8D7Uud5HvF4XUth4AmXDicjQlq+/Y+e3icqGaklHFbHwDPN4icJgYoJytMBfOHClwYOM3qJCJtQrpiE1joX6164vgEw== 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=7kkhM4wTZWstIHv6jvBpyzvbuCS43FJKrGOP1beEIGM=; b=bdEbv8J8yo+zacR8YK/VeQgMhcv/A/wfOhXndjwyf35oa486lIui47W4b+DGqlLidNRmHsFDPF05IvgQkS3XpsRPs9FBSIpPQW6FTsI3wkMVWA1QJNFMVAThu621XMURG9i2zu2rZ59fFAE7eK1zz4gyrzREow93ZAWIklychyk9xOlgs7ycFezjIPxvt0db0LMoUsFy8lz84soH5rTpt8CG+VzXfILsN8LGJJQvAhJY486/xFeaGoU0vzYJboF1yb+VzWARA1Pi6Zy3kBBetmMiXnno8mVTvf6Y+twjBEqokKsxqqX4pzYnme2DWnewwgeo2oJCoCyBeHVx32QHQw== 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 MN2PR03MB4926.namprd03.prod.outlook.com (2603:10b6:208:1b1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.14; Fri, 21 Nov 2025 18:03:13 +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.9320.021; Fri, 21 Nov 2025 18:03:13 +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 v3 3/3] i3c: dw: Preserve DAT entry bits when restoring addresses Date: Sat, 22 Nov 2025 02:00:41 +0800 Message-ID: <4e73b935ea8283114a4bbdec1a1ca38ff9f5df92.1763747151.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KUZPR04CA0028.apcprd04.prod.outlook.com (2603:1096:d10:25::12) 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_|MN2PR03MB4926:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e5f86b3-1121-472f-0e1d-08de29283ccd 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?QzAnQquIqQ/ABZ9ASVeYtVcxS6VjgqOej16Be0ZpvlXEwURklCGfssShg3D5?= =?us-ascii?Q?6RAhm6w3+OAmRgVZPqc6yGw0bME8/xh275Xigsur38DC3pB9TfmBFoxWdcWP?= =?us-ascii?Q?nu+01M/LbVdkhEwSapWDfiNLDCDBNe6Xv8OFg2Z5/f6huBLB2yT1gzr3F3Kq?= =?us-ascii?Q?86NSzZ6hpW0tlZls5NmVjzE4/JuG+15mNlc0yiR+iwagdA2VATwYT8vsePri?= =?us-ascii?Q?8TS9sC8dWMhFQNP+vi5pTkrsbPjrhtMl5OENTxN9GX9dV/BrIxU5j+Yu5jPy?= =?us-ascii?Q?ErMlYOXMTeOdeZ391fpdXbJiAjsLo+vt1m9qe80Wn68TS/FgOV8YHkVE9XIh?= =?us-ascii?Q?LusfQEeC/PFIL5KDAlSBEvoZLvsh7RXaVpF+t8VR0MoWnqdicz5b6tehR8Uk?= =?us-ascii?Q?sbPhUsrVvbpsBD8EKQHfmLSWtKPotowJ0SIHyVBh61uE/Zb3UU7+Fgw4CY5A?= =?us-ascii?Q?f/GvdNZSO4w8XKVUv/kMGxrPa3CBk76e4rDWenuY9TpDsuqvlbeG+CJuQmbn?= =?us-ascii?Q?yoBoHcUqYjBDEJiTEOyyQOu7x++Gk+djQlo2R3MDlAuVpCtHoFUi5PZPgfOr?= =?us-ascii?Q?dMyMS/1b709qJJ5ZoFTbCuKq8w/6E4qD6Ff/hrR420xvYghyy9gB4iYqxIp4?= =?us-ascii?Q?LpCQGvg8Bq9p5jpPDMAhofLCZhGAJC4K160rW7by2fZRiBQEREZW9R5PNrZB?= =?us-ascii?Q?lNzELy+fYRUOOt84aJPMnu4EUf+DFtG5YySvZUwnL1s6pFPHVUaud9wMxPFt?= =?us-ascii?Q?bVD7eM9jMzoJyduX9kbmermMAarfvDkSoCw5tjBvO1+5TMcaOcFLkV4c2C5Z?= =?us-ascii?Q?V9eXhuSrVlonS541IJcaBkUJzaJA5rBvvE9y/A+ewH4ZlL4rQuzKqrxH3Sbj?= =?us-ascii?Q?UpV4AMB/UZ8xgeBFGfwjeMYM7MeSQtYIGlRoyTz2mNc1xU3ylUin3C5RhSiZ?= =?us-ascii?Q?xDW2XgIycgjvbPeLwzcwJHxU9yI7yexX9wmKnFaTz1nhr1vwRD+ehibtn8IY?= =?us-ascii?Q?/4ZmfWCzuk3j+tBoyx3ozekQBZ/v6jZke1kypizxTYEQvfALQjVQ6/nDUNbV?= =?us-ascii?Q?mJSlbonWM2k3OBPGSkTQVP4zYSz2W0hydvQ5ZfPMTE196W7UiTiEvPBIvcZN?= =?us-ascii?Q?VWauXvU3lTO3J40geSjtTcCZytuVxLwm1VgmIKaNB5X+HOD1v6ncpBj6Rlw8?= =?us-ascii?Q?M7Td4m5IsjkUxT+hkBySa+h4e5pGpUcESUmnbgLn2fHF0BlcL1QDq4lJrion?= =?us-ascii?Q?/HU6mmXEyhPewADn4q6mRrJ9WnwSEmjTod3/mJSORdazso8wUP/UaJxsT3B7?= =?us-ascii?Q?hm170/sFb+KP+0LkZSfaOH1am9DyD9xxRrqI8PClh5l2xzZnWzdbB4QisZTD?= =?us-ascii?Q?uhqVcvMOhL9HXlkqGbxsWkM2Nz7v1KAmVkjyXZTLUWJ1vwLFd3OPloubJEIh?= =?us-ascii?Q?SF2gdGTieUu+N6aht6FPW0KmMuTjCU0Q?= 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?jydl28KTvSGtPmKw8UjDnEuQw4eD4DgoC9qWhyPZAbowZb91mq1hyiqvKEO4?= =?us-ascii?Q?9R11T9nGtbzpW1yjppSFYG5jngU8IFpADZQikU0jfAUzoRn+jBy9lP9Z9xSj?= =?us-ascii?Q?i4WPrPV5cBprGjr2TdlomSHjJVn/8XR1j6lE/2fB5y7BU6Iy5Lrh07tVlYKm?= =?us-ascii?Q?4B7QxJKGeFeKxP6l7iaYmlOB1QhFeL3Jqrx6PAbN7p5rsjBV6PAs7n3ojgDl?= =?us-ascii?Q?5X+uoPpkiVW4mLeVhRAaVWYknAdx7VvavySmDKsitVI39B+PETlvP37UQICE?= =?us-ascii?Q?9HJnrdcbQBPm3zuseXDio+2kcSph4WImOD9k/Nh1iZ/3v/t8rYRXqLQO1RA7?= =?us-ascii?Q?a7p3c3/dWD4ZEf85nQqWPdkGU8QVxtmncJzZ6BdcqZxCH0OzaFr1ny+vZJHm?= =?us-ascii?Q?+mguixdanCvYdN4owZewhLK64uOzMCv9kXnwRI9YOSAn/L078bVDW4ECLHM5?= =?us-ascii?Q?WE4Gqn6O8YqOaipzuUiU+k8QcLpWlzZi3riYhbR8ohsBl9+Hs42faejLKeA3?= =?us-ascii?Q?FliA++cnmafpqvYPX6FjvHCDMmGLh9JC3HIKr1/P0BLud2WB/9HHeYD2AXf3?= =?us-ascii?Q?yDgTIl8SHFSFWP/G7eL3zkJXVRX/arVC0Qf2ovfJnm1GTT67FZ0fWiL1QW5r?= =?us-ascii?Q?XORAA78uW4NnDQb+1w8W128tOgC+aeZm3JAbeDstkYzzbcpoTVbVFhrRXh0g?= =?us-ascii?Q?1HP16eJSMewIfw7t+RckC/MWyOP2XiRI6Cb6semkzHC9yBcvuZ1mGtTI0qtr?= =?us-ascii?Q?sp+mU2253YnfkVBZsaxkHOK8f2UOTt/VBktt5dfobYpCZ2buSTGmEoFvouCJ?= =?us-ascii?Q?AYMJ42XOzKUpSc4mwzhD2LP6XN21E4/xw2LFB8OJm9S2hbNRntNWLp5nyiWQ?= =?us-ascii?Q?W59OluQ6+QagNmKds/acX0gSewrFUKbwUNkuvCainMMfkixwZGi9Cf6z5pfl?= =?us-ascii?Q?Ges2dUTTms4xPXGnBPQ0JBJxXMq0A885GsOyfUVmy/zlcij+q63HH/KR5nsl?= =?us-ascii?Q?xi+CV5vUCBHCPueHyubEzp3zyY1OeMozIE3iZyDkb4+ccS498f4YTnEIAdSE?= =?us-ascii?Q?ESxCu6ue7q1Qdsa8WHtMzK0zNLAx+O2NuZzm7JsFY+G9nj9d2CNpbj8S+pWz?= =?us-ascii?Q?iMJMYGoouZla/IUo4OK5h3kcjtFftxeOJrO87FZ2YhhnolukiJwgGuhAgq1U?= =?us-ascii?Q?5mqbvRd1OCXOCBHUpgH39wP16QUTX6Nd9zVgrCzThuMn1QU0Bacriv53rK+z?= =?us-ascii?Q?UYxvwm5SkgYpSqoeFjRxAbBEOLts5xCqj1zgLvHoehfsu5WPb/AWXwH0LO1k?= =?us-ascii?Q?ORDBgDgMcB+vp0ALBtrJnadreAQmENuwKu5QDl7waPRJWOdnZ0Mm0yXmUMgM?= =?us-ascii?Q?cBv/b55buLJNHp4AERLhNNQFYx+tURvhjMUKlemEJ7EauvNGIFabIxKLgOuq?= =?us-ascii?Q?zesk2MxbVhzeiGDJwUsgm/509Bxir1cXzdEOWmBeJw8FiXJ4p/mAuKhoOXyG?= =?us-ascii?Q?VvSllH//q0meVqEG0LM4U2WDmVUFD8zGoe94GFpdxihqD+HWBlyd0a1OR7ey?= =?us-ascii?Q?a2jhdWpa4YM+vRgK4QFSgBgtSsMhd687dqaqI6QL4tZkA6e7njLoz2TPlBBQ?= =?us-ascii?Q?AA=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e5f86b3-1121-472f-0e1d-08de29283ccd X-MS-Exchange-CrossTenant-AuthSource: DM8PR03MB6230.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 18:03:12.9575 (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: zM1FxrnmrU8j+d6rlg/nb+7iVlDHs9gIDyzMU0zktiywVje3v3Wk9Jk5ZviioO+H8185/IBweptQfpIw67Ch43OVmZsDZ/MXT0EP06ByuQQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4926 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 --- 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 e228c60840af..37275f7b6c61 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1723,11 +1723,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 ~(GENMASK(6, 0)); + 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 ~(GENMASK(23, 16)); + 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