From nobody Tue Dec 2 01:28:18 2025 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011057.outbound.protection.outlook.com [52.101.62.57]) (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 37030314A63 for ; Fri, 21 Nov 2025 06:24:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763706269; cv=fail; b=Zo+7sQzO3V08LDXJR5yJpz3KVLvdLe9H6xRq/lF5ucpbaSQhGsQsA5nlFOSymjCqtcHrOVWyR1i6OPsPqrE26EIszKrjGwTyUNiPKoeO8ZP6fUk6yfMkQWO09jstUB/4qQ0jLvOUn0vwfcqPdjsQK1FSbmA1HB8vpGZ1UG31Mvg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763706269; c=relaxed/simple; bh=Mc7DG2HDwRVDLXp2sxW69E3ynjcDjNgVxph7OgmboyY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GCz9unLWaG3q7L6PxafRfrIqg+slSNxK+P32D+ptphp8hbOpXfLiL9K28dPdS557hzp4yuzW/rRnZupPxdn11YvXL+wHI7Pa8QISlOwf4PBIVxibG2xhZhiDewhRzLwsYlQehMybiOXtccVS+fP2042DZtQW+nFaUKKC1Rx5J/E= 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=hBlrrmsB; arc=fail smtp.client-ip=52.101.62.57 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="hBlrrmsB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oz2I12rw0Xfo1OwWxp3XQkltTVLpZS3xmCj1ePwMnA3CpAbP1F0ReUSBPzjko7BKp4/MJWL/8kjJ31vKaqxvmw2zLGiGgGq40aSxg7bZAugk0TvPZaEIWER2ISeaWFX4WmkReM3KELAReGVI/ZKG6/+9lz7NrqOnMNpAk7gzzo1DpDcKn3gdCesrSc4n6frHJWXWEkmkGxwmqivEP6r30/n9uQ8VnP8fYUMWKsFBfq4BsXWdt086vX/iWhj+i5XnnyjQjouGgLPXyNB27kGiMttCb8Obr6k4KoCCRLf2MEMtS9ozZemF8L5z9fm4kyPLl0p+V8WrxHuomW8PG64sjg== 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=8DSmwJJgjt/s92fBsgXuWh9qwDH5JyS6OHmYe95F4/g=; b=iGDmmLLrq6dMR8DhoNV5uLwp8fLku+Y+tKDuTSZOT70bhh+dLA37GRxS3HzhZVBL5eBI6tSz1Pap87AmsmT47CdTh7+zSHCrV4VlglgdXeyTCSdXK7E5YfrnfhIMOfv4aIsPxu2Xp97+tG1d8OaX4tgTUIjJ11dowG0wKJzH4UdtJgbF5Ha1YgDP/xw9U9PiwpiH71cIT2Utalf8hy89lSS9c39JGhAvPDbgzgibfH8q6gkvR2yPI+KaNPlWozASStAZRqunnxI8GjahjdbwnN30jzR/QFbd0hfbMjvG6ZE2hj54fG+MqjLtl5OYEU+vqMjZ4PqvqwbhfwhIRIT+dQ== 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=8DSmwJJgjt/s92fBsgXuWh9qwDH5JyS6OHmYe95F4/g=; b=hBlrrmsBaUlJGHYLllIK7Ykb50KWuc4GmuBus7b9GDP81atg4d6yBmZJgjf+8i2nnTHV5M+GrnFxPrSLEnvaOoL4RMZgDJc88X8RciF2vjcpzND4iZwqkuigCfmazkjLaNHDWlqrLMqBeO3Ni4OKCUeYDmO/bwVBeYM4rNz3O+K764QCwFnomJnKoe5H+cAnXZjmIntEHD+dVcCMZbqmBiYqJx8sRGqLyAZUNPNbuBIQOH8RyL+3XGXDniiK8JAcC/vaY9qcytPxP4C14rz4hpg1ioyRQQw1VoWlc7FXY0MiIIlDHrWDEuZqkswbJDlkR4hRMZZnaY0GnQWbsFILfA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16) by SA6PR03MB7613.namprd03.prod.outlook.com (2603:10b6:806:442::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 06:24:23 +0000 Received: from PH0PR03MB6235.namprd03.prod.outlook.com ([fe80::24d3:54df:52d0:1030]) by PH0PR03MB6235.namprd03.prod.outlook.com ([fe80::24d3:54df:52d0:1030%6]) with mapi id 15.20.9343.009; Fri, 21 Nov 2025 06:24:23 +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 v2 1/3] i3c: add sysfs entry for Device NACK Retry count Date: Fri, 21 Nov 2025 14:21:48 +0800 Message-ID: <89b235bf116bae9fc573772c4f52cfc3d2d122b8.1763703573.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0073.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3a::19) To PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16) 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: PH0PR03MB6235:EE_|SA6PR03MB7613:EE_ X-MS-Office365-Filtering-Correlation-Id: d7382b93-7e06-4589-d6b4-08de28c69c70 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?uUIvajZ9CaK8l44VIEGB6vVlBHIHJ7c7Bi3vTLMNFE21ed9tSLVctZU6gKA5?= =?us-ascii?Q?N+E62Gq9yPITxTHReRiT+pPQv+wtf8S9J9f7oXv/Rn5gtGm/IphwWePjkMVe?= =?us-ascii?Q?LbPe5gtlXfSUOB8Yan8lCBMTKGwkiboSObmvitG7OcWCw1MUh+CABhZDk4IA?= =?us-ascii?Q?RFHxz+0WKPTec2VbJtS2nO2aOfSao9wbNzYZvQiD0VlI/Uwp74s6wCZ367AK?= =?us-ascii?Q?Zni75e4j3uiHDkku4ibxtXS2fcQdfhcd9RbSXo8+X1ImkwXRhj11SvZbHod5?= =?us-ascii?Q?9G+IUnQ6+Zi2BY9OWaRwP5tTBzi0pWRY69Sf5MIO4G6L/VfXWhCnbzRAUYPP?= =?us-ascii?Q?zypOWsYK1U+KXBnbReLZJoz2d7nXFz8RZfV/NPxxlxJMTlhlnPXJon+a2Ixh?= =?us-ascii?Q?kjhX46Pk1qmolMWK0Raj4q9aIHelsL0oBphxtqD2rOH4oCjhk4uCX9MMyXTi?= =?us-ascii?Q?skMBhK+zYAMlxTMgyDO2NM96vrPv3Cr0i3YaqSAiAD9I/Hknld8078VmRDyk?= =?us-ascii?Q?qXxES3cmLZY/jDMuZyiEXvvPleQxA/wC/weBps9FAIDRrxQH0V8Z92ZI+i2M?= =?us-ascii?Q?/CDz1Ieo/hClplmuarEreLY9Q/3blYP+U0t4SYb+X5dHb6V2zx4LezpHQHoT?= =?us-ascii?Q?Z8/e1C1gPhl/f5yiWKCrwx8Gr2xFkLRTJ4vqqpHAqIysJ37hvPx2HeiJBqHx?= =?us-ascii?Q?kx2ygbd2CAdVXVpyxojE7TLjX22Ae0IslxGef1MJsAkqrvmkTUOsbHqELYHI?= =?us-ascii?Q?/5hU3kbbx3EU97lS7VpW/xuigi0U3nk6l5expkiqgvP1Ne6o4wHGKlVtcU8I?= =?us-ascii?Q?e7CDF8hfVc7QVF7SHa5rUyT+kGuebSdmk7NPz6R4znmcdNzh1+4NqYFWJPzr?= =?us-ascii?Q?eItmtCuppO9e8th08icHBzr0xulAKElOdwYMoytG1p8xYlBXG2ExYq9wGFMo?= =?us-ascii?Q?LJSs7Dk92eslN4zDuQZizFwFm+UXb64bYSH924Dz1G1NHSQclI/NHPXMELtu?= =?us-ascii?Q?7330oK4IbCs/TL6UemZeyEAwMrThYQTJKYA8GMwac6mNouvkzhKPhRpMxECM?= =?us-ascii?Q?5WKd6dPQgrTlNSJhuKSKpHjGFOjQXxzrxqnL8M8gzc2N7YzmwUYRX0CuqgiD?= =?us-ascii?Q?v1CNaZgMzBswJ1auiJ5RE+Xvlwyy1KoMUX9ZKO7LyBRpRYGo7gY8KcrhNpuF?= =?us-ascii?Q?3DxFZXWXSrfTzo4BgV7rRsYdwyauQuE8o41JUqt6QB2bixC6tzLAqow28HW+?= =?us-ascii?Q?+TCC+AsxQLVpyZapKMFnIY6jWJDfuTbq+imQPgM13K2SSV7IjXVzu5KO59XW?= =?us-ascii?Q?AYnxtGksC1Tl1WE3Ja8p7Ebl76ZFO1upVsxY2VCNZZB734iEPasUo41gvMbV?= =?us-ascii?Q?Ng6XPMMZg2hcD/kLXTl2PePhfMz1y11kceevDjBXU5cZqiFeuhPaS1tsNOKU?= =?us-ascii?Q?dh0yWMv1oY55zFHUPnR7EpwA7bg8PDRR?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6235.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RG/s/l9eO0YmqerHmaYzLduIaqfSYn1LoPrMn8ObBZaSLjqownD9HkjEf0zn?= =?us-ascii?Q?9rDMpIAO/0WAEfL0SUZjv4X93tl6vJUWFxUwd6dwNQ/8q7eB4+X13f257sBO?= =?us-ascii?Q?a4shQsDVUNfIG7uZJvoHENsCQxI1IsxVQZQ/FWz3zFN2GS0434DbVoTBoTQ4?= =?us-ascii?Q?ry1vFZ6y1wN7gkvHi/OzEhjU3uoaoUbC4EhGScdyGLxHE9nyUJnSpmS7cPLL?= =?us-ascii?Q?lpZ2v7wdhW1U8rckXT2/PD1umQLog3o6u+0IJ9o702dcHhDaVOiKKIY1PZR5?= =?us-ascii?Q?W4wwgJae5wNX908MX2sq77UjgL1B+uRGDXsrl2QtLGPGLdwogOVrXGS04fyX?= =?us-ascii?Q?WCPrqBMmbwVu/TH/oYB+Pfdy0J4eC92sc2NL2nJmOefOf+jTP+Sp+gH/FPPQ?= =?us-ascii?Q?sCxraiG1ZrAV0kz/wzvBdE1XU48UUeyM/NY8Gm998T4C8UmgvAu4tzJCOXkx?= =?us-ascii?Q?sz0MXKi1wfU6wRZooEPQREeQHZPxPxCnG3E5mvEfubcJhBnCsYaN6yVLDza0?= =?us-ascii?Q?qGVamKZSMUs5q0rm9PPQTGGxs/aLCMATzB+fIlYkaXzC7TP/dHLtctDAGSuJ?= =?us-ascii?Q?5f5YC2Vg1VEkjuglLX0jLb3StEB0LLy3+93ReDM75H6aXhWDUm2TeabObUIj?= =?us-ascii?Q?4wKtjNHxehykJqtlGbRX3uEn3uAscXlzPXHNDs9pfn41csKpQ/dnrHLbMfpk?= =?us-ascii?Q?c9x/PEHnpuJF9ONr6lgSWY79kLzdlFy1c7mpPvLbZxGoB6ucQlT9DNiC/UQ3?= =?us-ascii?Q?1aDVp6uPwZ5Q7DkEEKnWkjVHTahiZ9yrq21lq2RiXABiV8bqp3V0YO74n+Om?= =?us-ascii?Q?6r5OEKhX6yP8fbginZ1O68Yp+QxLCNF11cdsD8+MLzl0n3a5F9XAXWRWmOqm?= =?us-ascii?Q?KfzAgivyeqkejz0ePMu2eKpVKb8P0Kh4SQS9QFYgWU4/B8c2USGS9sxidS0B?= =?us-ascii?Q?DRZezh9l5r1drFB3Hd89D5w+Vcy1pAYvo5YBkXBVaLb9kKmROiV0AleXGwGJ?= =?us-ascii?Q?beP4zw5YU0WTYHkNJeKs6qPvWmOIJ1zX22VHW3n061k8STU/vl2UTEL+Vei6?= =?us-ascii?Q?FzqMtjcdtCbmJYrsCVnq9SggF6DAWWbhj7gocZR7l4Pxc2mEqCUWm9xqOmW/?= =?us-ascii?Q?TV2sVrTa2ZwR5q+H0xtAWgq5T9Ndvw4glG9QhedC2r+HsAqfyQE7CHS34dn1?= =?us-ascii?Q?19ZW/4U0x10KqF02XDS+T8dWTflS9g+n5kmeodA0TuyNGXbvD9votHp9mJD+?= =?us-ascii?Q?tzpn4J/f/t5TjCgMNLKJDvbuW6dYUuQ6drnlWUsaTWjeAqxto8SPy35LS3Tb?= =?us-ascii?Q?TblGy+FS8UXHtWRITTHtSdg/M6RPj0CEIu0qYDoH6Pb9Ikux20PXXIL3YsUK?= =?us-ascii?Q?oZdfiYWhqUAxpmoGcZH6fE4bHx1c/NCZvI3SjiAWuB2QJvZO54dFbHTw2J9a?= =?us-ascii?Q?ozthJ+A7Bfq6v7hmhXVBW6CUF8AkvUUXRiM6FVakYoe4c+Wea32lcQ75C3Ef?= =?us-ascii?Q?Z+modeU9FH8XeSgrldtPUWL7ret+TkD5kHhsGAp1fUrBBiT4dE0GCgk1AJjn?= =?us-ascii?Q?Q2EAD7V8pDImCkId4j5wzUTCq7Ivmqo0CxQBhJp4YG0kfnfLEDhcAb191LXP?= =?us-ascii?Q?lQ=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7382b93-7e06-4589-d6b4-08de28c69c70 X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6235.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 06:24:23.6429 (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: 7Yk342iM2vMZW6Z1wePN4biR4dzAbwCMhNTezPDUyXhgtWvG0trR6Z9tpMmrulRNeFqlCwVufnW2WrU1zbSXXZKDRUlEFo5d3P2HGNv9JxY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7613 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 DesignWare 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 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-i3c b/Documentation/ABI/te= sting/sysfs-bus-i3c index c812ab180ff4..d75339330067 100644 --- a/Documentation/ABI/testing/sysfs-bus-i3c +++ b/Documentation/ABI/testing/sysfs-bus-i3c @@ -161,3 +161,14 @@ 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. + + Valid values: 0-3 --=20 2.49.GIT From nobody Tue Dec 2 01:28:18 2025 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011057.outbound.protection.outlook.com [52.101.62.57]) (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 DC0A3314B69 for ; Fri, 21 Nov 2025 06:24:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763706272; cv=fail; b=aOasOSMKIb5+v5BQYTHWTUVx9vNAezBQpU+LpM1WC9eS90almMxzwKcm2VTyJBdu+fgs76sUQzkxm9MRTn5IRc6uzI1qMU7Z5j7/D9bvDor7fbzGqYgLjMMjZAchrJHJisJLnzIoztqDFqNPeGEzkYJl+2sdfdn+PDAIvA5RAKY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763706272; c=relaxed/simple; bh=cshAIP5ByknwhKeY4YXO9zZ4xyu8HrPiR/wWGLd6ssc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=D9JLUrXvtaCm1yEdbKq04YXy704PvFpokFbOfU3NPz+m+nCIGEbPqu12H6t4ba7jJVscxlW2AQlBfr3H6xCh0E/jWTNaHrD6GRi6pz+c0uHm1jURFPPjJ8m40EZZaQ69LMoTuQEi2lo41TtVmKxbQMuoLcMVEOPVKLgRYIplVPs= 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=Bw4xSq7P; arc=fail smtp.client-ip=52.101.62.57 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="Bw4xSq7P" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uP6Ands/iZEjlJffXUFA3AAzadtmP/YxFpvaECskN4WWx02+OyhmjBQ+8V3tCrPeL6882gjWXIVu2QJEyCLbqb71RwxKWnTtOdQHI1nJyeM3+Rg/YZ3F7CO1TgG9N1fijbDMuscbJNxxC9+A7YQOpv0DxAOgXpSteBiIOIkNL9GS1L+yBhxmSNVYm7bm3YZAcrjpYg2eNW1yMZwhOwFunIV9bF9OZvcWTYvQJo+7FG0sgP20boEgAzduOdtHoMmraylWckpCKGqwxoc9jJWsR8GO5ZKuLEcrfcQLHh/qO4fsVXk5PxBEP+xtdh3S9ZMw7/pAULewdupJ6NlU8cN0cw== 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=eth3QG4ofSTsbF1v5tlhhwYDNhs/tSjz9S828lDqUvg=; b=j2AHle9EmjLnoV1wma1WtJofQgECa09PB2wWEVTy+WA61EcMp8FjDJFG8UlJmw18w5FTDW2EHu9Xoy8LmieslW+0DDPHVM0eInuYoQ44vlOFRJKyaW2K/u8KI5R18Fj74woynl6uzRYiebwPf0x/dfGZYOZ1XKET3gPkxBheYo8qNhVxYdxdalVKBptgOoQnPRcBAoUKS8dT/H8DoZ1rSzXOboFH5CDfQgAMzmoT4QDuwMYUKWDzlGPzdFjXFIUv8YYe9rTtVlHTVJi/o2TMeDMFGz5lksKo7Vq7BkvFjT21oHrZkD+Yxz9IlHTrNTNblzKmcMtSfu9husstJsX1kg== 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=eth3QG4ofSTsbF1v5tlhhwYDNhs/tSjz9S828lDqUvg=; b=Bw4xSq7PJjmBWWxoe168OgOOB2/3tkOFbl8KS+iJP5GQqrlGtbEUTWT2k5Vjyea2oyaefrT7OWx4SjzXirhNxiqoOxyqOiSimjC/jfZXE5dRUwv7u10XNSvY30X6cgtKJeBtL4TuOpede3shlJ4Vgc8vtbppPO8dvFR5xvO6/XjoqedwSPCtHdGP3+XVyyH9nNqMIGAhztORTIHNnLFIVAy3R/aBuHgdZtzAucs+XgW1KT5GM6WyVvseH+/UTj/BDveaWrqPvnnWd8qlMUrZC1Mn/NRZZddK63OR0ZK637lvuXks9+hSnSyYCH/k3mqhM8vt5nYGnM5B4pd08knCGw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16) by SA6PR03MB7613.namprd03.prod.outlook.com (2603:10b6:806:442::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 06:24:25 +0000 Received: from PH0PR03MB6235.namprd03.prod.outlook.com ([fe80::24d3:54df:52d0:1030]) by PH0PR03MB6235.namprd03.prod.outlook.com ([fe80::24d3:54df:52d0:1030%6]) with mapi id 15.20.9343.009; Fri, 21 Nov 2025 06:24:25 +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 v2 2/3] i3c: dw: Add sysfs support for Device NACK Retry count Date: Fri, 21 Nov 2025 14:21:49 +0800 Message-ID: <12309bfeaa271d0b008989b323ddbd7587849066.1763703573.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0073.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3a::19) To PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16) 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: PH0PR03MB6235:EE_|SA6PR03MB7613:EE_ X-MS-Office365-Filtering-Correlation-Id: eac463c2-18f2-4a1c-6cd5-08de28c69e16 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fakISpcjX8BGjPK0x2QCzFv+fuFZ4Ubue2bWd1ZGzDwGi5vTA0O1VLRFuyN5?= =?us-ascii?Q?8osqPqnpEJl8lIgBCsbuHZuSPztEIdIBf5LoQgwj/hn68U0c0dmo999q1SOz?= =?us-ascii?Q?8QzrAaLXUv5M6FkqyCzkubeOWNDlEtOmUygcxOuKmGWIndfH0/3P2iOYTrxG?= =?us-ascii?Q?hdPXUYC22iri4Tl7vwz2IkssqDJUTcR5hfHowsa+N7tO4mSX0d6y8i5LWpvr?= =?us-ascii?Q?qegDdDNHV5lE+nJAzGTHPRd0dvPOe1diCDq/yVCMikoBpsK9UhhjLbeAAiBb?= =?us-ascii?Q?4MKieKT097Iz0ZWHoD48HwMNd3pTUkVAjzFlLzOZXcB3UrdL5mJRisI9ks1C?= =?us-ascii?Q?tp5bCF8sJLX3ZeGovdwb3YYyvDzrUNF/G3YF6W/wor50ggGPo9+biizxCeV8?= =?us-ascii?Q?cHpg+DJeDYIQIyaOrbACS83ClE1a7HZztqMla3/xYa37wLAUf2vvYh9ST6lD?= =?us-ascii?Q?mrEfu7FdjxhBuiN3boPeZ+9OzP6t6Q44pOwQ/OiMUOHuGnZCsS5KQOfcGjqU?= =?us-ascii?Q?AOU4DqdaOjTGJ7XM3v6LYAgJh/msIcEX6vpYV5CHAg50Estpy8j+ooe3JQ6/?= =?us-ascii?Q?8qOGSY7fL71UYWuPDq37ekME4ug3MLwXF+FRclPaG69h6tMm7cYquNgEhbA5?= =?us-ascii?Q?DNpJiLc+2MVL557L8OWHQypu1+oJOXA1FRbDOWKdUFVgH+2FPgtEUxxnCbcf?= =?us-ascii?Q?ZpwaeOQwZ6AYzlGgMmEYiaJDvN3Va4iZ33jx0TziheSABNmDmqv/xwndYyUV?= =?us-ascii?Q?yrPzW61xJDgSwiNy/vY0ym+4lRsEeKjNWSymGdS4fr7jyAfU11tyJAEAiSY6?= =?us-ascii?Q?R3RpgwCkP3ONN0aguRKjWp+2x0dKdqQIjKDm/2OsJu7So4j/zLt3wf09C3Cb?= =?us-ascii?Q?VG0hJn2U3bKbwJDigE9usFXWh7v4VqBUcMsz0FflgD9jEiRwR8gUhyYO0UVh?= =?us-ascii?Q?lV3+qwugG/qWqrbrk6N/iXajQAzsGCBk9U/zcQcTxs7hjbJeNUuYhJwJQihk?= =?us-ascii?Q?umGuHE53D8zZI5mxNS35ycnwP0MF2x4EbKkysC9gPC9lZ1hUOUkGvHa8GsJx?= =?us-ascii?Q?SNvG94TDHt7H77WE7T3FbPcvE0rA9R2UbBnSvaxSwW5adwc2HllyP48evQ+R?= =?us-ascii?Q?8ffPaxlLk/Y8VOLY1sbAX/Wl6TvWHnFd2GxTbuUGa2jKLL1QblyMWdWMYDe3?= =?us-ascii?Q?CB4+fKTaIGHStpPqKr1MrNYhV/tw6u/vARBtIlIHmxnbHWOd9u6vUlPp6chJ?= =?us-ascii?Q?0KhOoKyRvcr/ldj5c82Ppdvz4p5q4+hVS5EGjI/AogVRqBrDdd6JHcT4DFz1?= =?us-ascii?Q?F6w8cqBRxoD0bf34x3HPlyeiKbzB8mN5L2OKLdwpI6lmo9Jwd+dRl4B1m7OD?= =?us-ascii?Q?s8k2OxLiPig5MliGM3Xg3ZEN6+imyILJMc8xRSdNCeSNTUCb627Y5TM0aSYv?= =?us-ascii?Q?Nup6f+Tf5ZGuZQ3p62PF6hMqU7brEfSQ?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6235.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/JkueqGmUWW99yUwxO9FRh1YFpKM5XMORFDLrPTrhKUAdd4QA8MyyxV5q6HW?= =?us-ascii?Q?wmewHFIbNdTwyfpGoRJcD3Ocb6EMwCH67PcsLovL65eSsELN2mNq7vIh5k4T?= =?us-ascii?Q?sLxcM3r1Ea+z4OtX7V79JTrmeECZe3GlkUYal6Kk9G3oXXHty9T+5bvukTVY?= =?us-ascii?Q?mg56TzRa25fCaYbIFuYWznFuFOhwVv8r+f4E9AC58nPBOP6Q5ue9v4qylSI4?= =?us-ascii?Q?WI0OLkAD8/JCHpHB+b7xk5nemINaF5uNnwcBE6WCcHgI+uqvfJSnj/EH93F8?= =?us-ascii?Q?fJKLCDHPTSjA7LGR14wy0u8efsyUNmzYxt7kg/gTqWP20I/96sKYkpfx5xGQ?= =?us-ascii?Q?UZbFHpdtgdoromjh/MjmVDLPjrPKLO8Z/lYyGxBvMuPYEDtsHQ76gJ2bdryd?= =?us-ascii?Q?D7AjCCASrrtpBTPNirQkMCAV6WWxH2MZfvz7UOZH0t/ACt5iaeCW6B8PHy92?= =?us-ascii?Q?i4TBjjPKlyWc+aLsr4yHhVJWxtrzpqehnnODseX3Fxoiz/Sa6pDUiLTJNfvl?= =?us-ascii?Q?PXt5kVh7z0wXfyjWiZIBcb5Xsqda2Cw11FwSckL5JVvksFSHffcY0jWhfhaA?= =?us-ascii?Q?7pvvDHL2r3OZs+8Yo8J7MJc8pS/g/xIm9dm3qYJdUnYmofJX2TiipmMvHfuy?= =?us-ascii?Q?+N+e3/SJ/fa4yzoMlJYnjYVj3n2lSJxJyAsRhdrRoCS/3cvrwMWmcOb+x673?= =?us-ascii?Q?sXDd1qYLKl2XePCiXlEVbdgcb/A4M0EYdoPgJvVOzfYDTjtFzLbUKsouUjV9?= =?us-ascii?Q?DVsBVtQewABmC0DzAulsE7Uo7SoQM+S4wgnOTBLzOw8ErwbtO2uvT4nnBlQr?= =?us-ascii?Q?If6paOG+OUE0IvxdfZ/0mpQogQvqu8JV8TV7bzWjbpBV0JuHOdCnq0n+t7xN?= =?us-ascii?Q?wyvNMp/F1yVsFMSIaR2B+opNT/B/cv6C86my5MLdaHkeiIruFaApljiTScvb?= =?us-ascii?Q?EifqGKkd39h42YqOBq5tjKUDkNpqNpwRTcnYyYTfhWqUvoiUAsAZifcKjl0S?= =?us-ascii?Q?GDEM51pYKzxMKJDyxS5eKG7P7xdP9ru+VvvbsBioeweWfrkOo+IfBLumKqqP?= =?us-ascii?Q?ycR5UXVxZtJ90drOOi/20ioXQ3I++KZ9asqjR447fRLK0b02Gq+id+6PXiw5?= =?us-ascii?Q?SV2zv0ndI6kCiX6gulCqFWCRKOMf+zpsC8s0B/5cGjs2jx27TNMTGpHuvoo9?= =?us-ascii?Q?YVTwQuxK8l+zxRDcBjPWPAA+GfLd40UntycIgWv0vPPmpqRW1rYnELGiJNiW?= =?us-ascii?Q?MDdyrQ2BanmDqMXSVtFsq/GQ7Ttxr72hJF+ZM9obEZk9kwmTsoWtHYCa5zJJ?= =?us-ascii?Q?3DaFWXV9MhEDym/dYxIzqPzvAIvBvj/1RJxUVywUF/zJd4Ulg52apyvDMIy2?= =?us-ascii?Q?g8gayxD9FTW/+SqZ0P8+gl+jl0I0+3UmTbJeV6Azf1FRFtCoUAHvPn1wwxcy?= =?us-ascii?Q?Yij0pV5vMkKlUF3lQ9xKuwCDcgsxkSit2fHkfqk7d8GiHVfWTk0rn4XwNxxW?= =?us-ascii?Q?Pv2ADUKDKeyNEeVMKKZtGCJ8WqRdUPfsthg+prmtkn0UJ+5/j5RAyMbpuU0z?= =?us-ascii?Q?UKnodd7FtsHl7SUx001F8u9nysc75EbR7QLFtCUPXJHNOz7DbB8btBEOjYqw?= =?us-ascii?Q?bw=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: eac463c2-18f2-4a1c-6cd5-08de28c69e16 X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6235.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 06:24:25.5146 (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: XP+P48dPNfDecJuAqrDiKNmidYHExgJ5JYak8g3EsTJ3Ovzgi4PjC/e7n0h8iKhQiCSi9Xc0nrurMI889akCNWcpjsx2DcxU5mV9BhJ4MjU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7613 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. Writes are clamped to the hardware maximum of 3, 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 | 64 ++++++++++++++++++++++++++++++ drivers/i3c/master/dw-i3c-master.h | 1 + 2 files changed, 65 insertions(+) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c= -master.c index 9ceedf09c3b6..c43eba615d8a 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,58 @@ to_dw_i3c_master(struct i3c_master_controller *master) return container_of(master, struct dw_i3c_master, base); } =20 +static ssize_t 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 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; + 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_warn(dev, "Value %lu exceeds maximum %d, clamping to max\n", + val, DW_I3C_DEV_NACK_RETRY_CNT_MAX); + val =3D DW_I3C_DEV_NACK_RETRY_CNT_MAX; + } + + master->dev_nack_retry_cnt =3D val; + + /* + * 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)); + } + + return count; +} + +static DEVICE_ATTR_RW(dev_nack_retry_count); + static void dw_i3c_master_disable(struct dw_i3c_master *master) { writel(readl(master->regs + DEVICE_CTRL) & ~DEV_CTRL_ENABLE, @@ -1032,6 +1086,7 @@ static int dw_i3c_master_attach_i3c_dev(struct i3c_de= v_desc *dev) data->index =3D pos; master->devs[pos].addr =3D dev->info.dyn_addr ? : dev->info.static_addr; master->free_pos &=3D ~BIT(pos); + master->dev_nack_retry_cnt =3D 0; i3c_dev_set_master_data(dev, data); =20 writel(DEV_ADDR_TABLE_DYNAMIC_ADDR(master->devs[pos].addr), @@ -1598,6 +1653,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 +1678,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..c87a0e87bfd9 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:28:18 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011046.outbound.protection.outlook.com [52.101.52.46]) (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 84D7931354A for ; Fri, 21 Nov 2025 06:24:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763706275; cv=fail; b=gQ7iskYtxhC4VohhGl0OanduBJjAP9je+d3CO/w9sERstoBEmcAyXLrfjNPA3VZnqfZwzBDw3l/1T3uzZ1h2BA5+n7jalAbTtwsL/Ibxx0JEbWuABFiA7x6dwDTNckhmEri6fmYoC3hMgywkzpe/gPnxnqzQ1BbQKsy39eHOLCI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763706275; c=relaxed/simple; bh=nWfz6IvVYactX6R/IonTjWCo7XpThM5zbsHnnukfEBY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=PSIELJDHCByvU/UQ9RDhpdk/rwL2yOJv6usCSOo9HN76p3xyQqiHJnkTRMrOxEGbZ6l+UNyobKZgrNDt0tZDgy0Du5l/OEvg9WUtEvdcMxxmPQAX5uZPtcCgXeSOkOdEsVWGDwVE/NEvAj1LOkf7lLn+WEbS4g2w8eoWioPIJ1U= 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=eSmbPM7/; arc=fail smtp.client-ip=52.101.52.46 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="eSmbPM7/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y37qvyL86MfjjE6mxplLTWuPwHuR8ZppFa5xTuYdH6NiL8g3Owt/9O41giVvB8na4sZCbDam7BgDyQ91eama69nS0TdODZeRH/0FYqtIqHtTR3+rcmlisi5lNHlwpl0+DI7yMNPVeew4GESlrJDzLZGnqOaxywl2P+XkgK+zJR15ys0Sus300XUj2umkcuPYpg/F/B7GPvFC0+JathdCwmybl6/GP+WqQGUmENQSVDtPR+UiIE821stHTkWZBHSQ7CD4weRmW0SlH/ukOxCub4mc4K8Em7G2Gstk6O1DTbnh2BH+Y3ed4usAAkuY1CILrZSqfG2aNd/WqxTXUaho7w== 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=L/fpFhcKWtFea1qSZ0xKTt/XT6LIUAXhUuPsipmo2qA=; b=U890x/nXNMy4en4FPFr5e5hoBHwQq3fhBCFcDQocPNZYzz6yN5lS4ZhKJfo2OLG0X1/ulhd06so0aGqry/QQ0xKDcsEZXygu9g4PQKCOwdl3ryVxDo5X9hjJ9rv+bGWYeXoZVEXW744HIkdLwBt9sSB2ScqK6I5MKba8lXSg2fkOVmMxB1fjgg+njwFkLZTJeqF/8zliu9sEKppg/BsUws4bTEBKup2vB5JcfyUR7VZOetxoFMFhPC1Io9WhpH3+nR7blB4whcEuGL70SANbHjPUE7JxLeizQBaEXHGV4GFsRH55bYs7MolLzied6wdQSeuT4Xk8heux/srFepyWfQ== 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=L/fpFhcKWtFea1qSZ0xKTt/XT6LIUAXhUuPsipmo2qA=; b=eSmbPM7/jUjIQ3XFuGveKXhRs45Pjib0ItK2ZfdCxqs9x8jL4Nh4cVk5h5wwmG2SuWyqEw/aEEk+Gl5YO5wZEGLx3LO6y+x+u5Pd5VTFBjom0oaTbP1fSZ4HmqztDcsT/NUl+37UrsPN68kHudsiKpmH0+D0fYRUoaihLutBdPIKFLlaAfUvVFTJ3OiW5oFwFZ5n7FeCnveINtdvmH736HVkGd/qivPFKzqRovJgSLAbBcL23Zhy0P9CMpvp0nM5CNRS/T5d21pKLquCaASzCdwcGBSlaRH5N+5ILeOJ4JDvSIZjDDbEBbk4AvhGPl6CQu3vBYVJAfyAABRz7CtXuw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16) by SA6PR03MB7784.namprd03.prod.outlook.com (2603:10b6:806:43c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 06:24:27 +0000 Received: from PH0PR03MB6235.namprd03.prod.outlook.com ([fe80::24d3:54df:52d0:1030]) by PH0PR03MB6235.namprd03.prod.outlook.com ([fe80::24d3:54df:52d0:1030%6]) with mapi id 15.20.9343.009; Fri, 21 Nov 2025 06:24:27 +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 v2 3/3] i3c: dw: Preserve DAT entry bits when restoring addresses Date: Fri, 21 Nov 2025 14:21:50 +0800 Message-ID: <63e1b42ad7b3ce32f266aea7814304123bad151c.1763703573.git.adrianhoyin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KU2P306CA0073.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:3a::19) To PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16) 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: PH0PR03MB6235:EE_|SA6PR03MB7784:EE_ X-MS-Office365-Filtering-Correlation-Id: 987aded2-2d82-455e-556c-08de28c69f29 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rUt6Ehoe3pAMPkzPTdi5pffjX8SgXx54t6QCUOmmZSd7L/e15xHpRqe3DPiK?= =?us-ascii?Q?ZhkaCa4QOrIR6hi6GkirHkipUlFP1JEf+9ITc9oUyR5QtryW2N9YUVCmAG37?= =?us-ascii?Q?QF/P45ktSqlFygAyFWB5bPda67RcRsv0m4FBY4j0SFCoQF4WiyLiLqiCzhEp?= =?us-ascii?Q?7UiujrUrfJTnXtI2xKudwfEIvb+s0oSDgI71Br7JlplF32ueYGzu+R0fknWc?= =?us-ascii?Q?KZGkFaBr1xIYkBkjrU7yNR9zIFu6scsBRhDvlLpizxfHYEFGIMDqiDjJv0cu?= =?us-ascii?Q?ua9LXtsd944Ph974DYs4aU6HjEBQoSC/Hlfze7B4w/p1mNSNCUkXfvt63dck?= =?us-ascii?Q?fopaG9I7Wmdf3OrW+SDuEX2YtsN75/+yI5ZUZp2bVCcEVmWRLrklC/uU6FCm?= =?us-ascii?Q?xyKnvihVVz7jzanMt6Y3wg2M+eYoit3s3qnP/pqs4CDFD5mA3dazPggx2dDI?= =?us-ascii?Q?mYftjUm+k7vOt8FXK/10kA1hZa5GW8YYmKzFoC+1JB4ALeCWOp2/veSRaY2S?= =?us-ascii?Q?IXbp4TxFO9r2bmqwBFh4Glm7dYBQ0F+zdROnOD23PEQ6NBx6jgnvGuFpZXMu?= =?us-ascii?Q?gbPN3437Tf8LTGk25mIKigbrWlFB3PTqbfVbZagrYXcHVrP6GWao5qypFy9/?= =?us-ascii?Q?e4pXEgjIcnaRo78Bc/A4dca0Mq9N27UlVCXLBsA+1a4BER4YVx5IH7j1hDTm?= =?us-ascii?Q?U+3FyZ8M+ynFfJ7IbfvYlmtMIw5H6yHuB2mcPy3pKt5W4iVhcbgNxc06TlOB?= =?us-ascii?Q?R6GRaCf/fdY8me/TLVb2+xkIR9CLpgNkploVuQZluo1ccJ3siOvDzr9JKLqU?= =?us-ascii?Q?gm/9jmTnUEvVNwsnCbrjpydVu8rxu7l5fBnBpWYiZaRKPomNOIOo9OWZsybX?= =?us-ascii?Q?7ncYkMOmUVoxx7FM+DuoPysFFiDk/r1HDdQFp6v4KgbjCt3fwAW8jyMNyiia?= =?us-ascii?Q?7V2osWfE9dqpGbdyL5fCeMQ3KXzYajXJfAac3LrGXuH9OvgaOQbQtLULdcAn?= =?us-ascii?Q?GoLhNmm4taFDm/ctVyaGsuPKmb/x37Xg58pHl0JCMT6mpYAJgT+RmXbUtTSh?= =?us-ascii?Q?qXVZ9UdQ0sdhgYbRZp98MM/Otf3aqvJQXY/+6iyQ3TtfK1iT/sYRGh1nvTqo?= =?us-ascii?Q?DGCzlTf3TO206hhzO/e2yOg5WHo9KbpHtz4zJGaFgEB6tTtvQ2f/7GgQ50EP?= =?us-ascii?Q?fLk0fuXidvAmvhZfKv674rATFJhf3JXtj2dFLlNfLHGxTAbcU1XPr49TYgNH?= =?us-ascii?Q?Xm/BOte5uWWUHWaI+tkRY2ZU4EnT2wEStIV+xpNY2IGVMVSxwPR/NBv8T8C4?= =?us-ascii?Q?gDbhx5b0My++zGyoZCYb0UPPqCE1TINWN5P7GVzxOQJAmfoDYvySUUPJ51gm?= =?us-ascii?Q?l0gDpLwqsQpsccqA/uQoLgJd2cns5YlXK+FCghiLI+i87wV2z7LVQ8bRBDqQ?= =?us-ascii?Q?s0h43bc24F8ehjyJvTHRpm8cm/4LY5BJ?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6235.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jh+2spASyIt4O2rQmcltWJcJQ4oN+k423+a9V17jsOVnyCxVfzgoAmZqVjBK?= =?us-ascii?Q?RH9rWYg1s/SxJ3Av3X6kaRTXG+HdbagSmLeDA3kHCdBgKm8G3NQf7ttA4ag1?= =?us-ascii?Q?xQkL8EBP4fCsDp1xiXgv3OhXzE8e+kkykfHs7CfCGc8DvB2npoKewS+3j2Ak?= =?us-ascii?Q?iBIDJ15gx29RAxRrnXKnfqerj+mpIXjylY6YSg0cs3vcC5+VrdFtM2QsSgtl?= =?us-ascii?Q?uNp0wayP2fMj2yUGfBKfKyUtzBypWchfwug9HWBPFh9mcoEVao1w+oJLV/Nl?= =?us-ascii?Q?YgSWVwlIH18M+NVmIZZfBl+8ObDzmSPqMRBYZVXwXR4kPcLewbmmqUB/GLkG?= =?us-ascii?Q?tI49zzWWyfv70GwEdORiTuiMmgFyP5ZuP6uuo9dWm141IixzSxRchRjpOyQ1?= =?us-ascii?Q?YerJeNDg10S5g4Nj2DY9t66wXSerbq+RyZ1yR3Ag98tnQlEFS38b83ug72C4?= =?us-ascii?Q?sV3YDme0ZRj+XupHEy+23YNEGKhTsod015lpn8oxsYG+fmWxaaixTHh6OXuG?= =?us-ascii?Q?z0Q4osOisLPSZ0e/GVrXHhXD3r0X5YH/SspfhErfD6/wQvRTVKV8ol0s9W2t?= =?us-ascii?Q?qbbKNtCTxl7xd14pdfnHJQbywp0S5bH+cU4ICBKkUdlGA0UiYwdAPE6Ojtlq?= =?us-ascii?Q?+1Q2WBw+TUFEEZ5earI/ZS5nw+Ur8AAfIuXe9T2wJ3MhI+mI8+C6J7mFP6lQ?= =?us-ascii?Q?bLtTvNzjjjBktdHZWj/oNsstoqayaXKEeB8X/8M6MlHYoshq8ST4Ns/ayAAb?= =?us-ascii?Q?6UokDN+sCvjoVZduRrDRFu2e6ds1gIHZ7+dKODLcH0POgRKgw7kxzTZ9sQZh?= =?us-ascii?Q?bDO/4YCQtXkPAGRNrgvt3ZIXSrLpb5IltM/YflvHpjo9Ytv3ikoNlwwPkPPG?= =?us-ascii?Q?DTSWEYmSkTSCc/h8IO7axH8RxVJJMpaKziPdi4YIBhTVo1epm/KJpiCKgk5/?= =?us-ascii?Q?WVAlEViZyYBHgvHF+J12GPzDkL6bKEscWBk7fefV1Rr5uJekpe0h++KEfd0Z?= =?us-ascii?Q?eqY7BnY203EG4rjsClvXNf9SPo+8dhdRwVtcqMbKSUpsHgFp5Ul9BycKoXp/?= =?us-ascii?Q?cO5OtPvGeGFylqlAi/H3hnGM338unY1JT1w+Fq9ZtXvYG3u2LRElT4qtL80h?= =?us-ascii?Q?m6ftezFsqM/qDaVKNEG3p0rhk+8DjP+uRS9ZdgCorEcUK3LbfF+iX1fMUumE?= =?us-ascii?Q?iUCsyVJ8Ff2MdnpHt4ODXOwpyvy8ZGk3t8aHfaLBw0TtZvgMW9Rvq+isezKG?= =?us-ascii?Q?GyaJoJF74A36A/It+rp17wedyez77/3E7ahCNUpnMB/nhPfMdpawV5JhZcc6?= =?us-ascii?Q?lCGX4E7DCaGY7mCXpbOx6wZQJTo5lZkGLv8Buh8t5LQUyEr4sfqlOj2RJqm5?= =?us-ascii?Q?2kWiEAQwUlud5oBgjkYI+0H04/8mSAYDHVnO7Uj06GNPxY/sXDSKghAxFQ0t?= =?us-ascii?Q?P67dVZIRnrWxMDzQ6OnrzkfV8XnEkNDQCCp0srLPYgjzW+dTtB2590qtD/z4?= =?us-ascii?Q?NfwaQoLCjQCPfT5ZCuczUcdGF7ObZMKiuYOB9HUAOHushcXIh5ehA/AXED7S?= =?us-ascii?Q?RYRAPADrX+S87B5rGE0eQ00cbuDmVkelScyR27B2O5HgIqTPek4bc6FlZrN6?= =?us-ascii?Q?uA=3D=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 987aded2-2d82-455e-556c-08de28c69f29 X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6235.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 06:24:27.5851 (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: qMI937JH2+5Yy7sORFIqg99aKrlqCa4hqSWOEqg4/FEhR3fiaXQaA8Ila+8WZybm01RXF2C2Dty5zbokqXFBBwz0CHxp/nOxhdoaDrz4jSo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7784 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 | 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 c43eba615d8a..ac3c2d3136d0 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1718,11 +1718,13 @@ static void dw_i3c_master_restore_addrs(struct dw_i= 3c_master *master) if (master->free_pos & BIT(pos)) continue; =20 + 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_LEGACY_I2C_DEV | + 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); + 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