From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011059.outbound.protection.outlook.com [40.107.130.59]) (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 763973CC334 for ; Tue, 12 May 2026 16:16:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.59 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778602580; cv=fail; b=YGqpcCOfiZyMwC4oS1r0Z0Ce3r9vHEwlwfgvSuK/DtcgXJzAMbaUFi8yjos/OKCadp3zWNQzPwpgBz2AWQ7P2x5sfVGJv/MY9ZTdfb0mR9mlq/sf8ky8aIIG3v+MEU1M9wL2EBPWXNJ9Qa3YGhLHNV25VxiUi2vbrWiBw7Ti6kg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778602580; c=relaxed/simple; bh=I+cWfUxxaH3uWgDaLwgrzb8SkynNSoLDwt6VNl+bonU=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=BRh/2q9IE7pK3JKf2GG22iaVHO/T+360lG3xwshcbkFCV16apyyN3Pyn/o1lDWFl3ORIZyJNpW9iEkJOi5jiqbkrFbjWaIWHMKCP5THY63zIU9JC89ApEovVPoJqpzrTPvlDlgEUhiZrxJgeEMvyzC9GC3Fl2TLb8ud9Zb3V/Ds= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=bBQUW9H4; arc=fail smtp.client-ip=40.107.130.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="bBQUW9H4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vq0wPMQ4A4f3DLPwEFjAOqvSg6QRJCeJGvQiFZRJ6AGY0LlAWhqBElyn6MUZrmXlQBXhLj9FDqDg//G3Y4smt6kYBnywf9WAZmWEnLq7bXEpKwsXohCNco1+fFTYhC+WUzBJ9jZNhCt4GPqNQ0D9c1BaeYm/oZfSsPgrWgbjUp7yvJsuSK9cHxSgWrQ8BBRW05YauhVyHZOVFdbe21D9B/akY9/Hb/s9tlwW3//kTUkTBza0809tMl93Htw0pvWa5PvFWTkX7LHnw9CdVea8oqKM5DnyKa0QZUXSndzq5tKxBJG6x09PgTmNVryxfcXMqJFu+xOh7YVZpek1ERTZew== 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=kAPLKuzILPgnapo0F0KEwJ2tOYk7at95j8qcLk1iSjE=; b=eEKVHcF7jYU+CoL76xJtQnsYeUisVYhW1jkotDg7zXY0yWcRxSn999/KUAL3T1ByupvpAU9BG0MQBeIu/d/8o4k7VCtMIgVCNIkCac8ya7IMyBBuulxqisArNE8ZPHzAN+jUFBK+R61EwQVUl7S9cYCYgEnKZ08bqCEyMuRbL5Qae4Hr5aoC1ZRaZWi1qT6k/J+iKbge/BNRoOY4SQMPGdPpW8DS6BiRZJ67kpFf6O/3IPQA4DRjcQBrG66vNp2JUPFenVcxqXcCiiFLmp5G9p65GH88IbAventABwrl8WMd2WrbVzFUL3POOazOtbZjSVYk4IaA12g4FvGDCTCMsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kAPLKuzILPgnapo0F0KEwJ2tOYk7at95j8qcLk1iSjE=; b=bBQUW9H4vsfWIF/2Pm7CeY/9qfZPlE8zSqQR2nRrTrWSIR4GB7cGSxQvhq3afMLBZU4SiD+2t3+J4QUAB/clVzBXw6Xt5eEw1AFLGIZQSYY1evzIN9fx8Nt2ZHm3GrEMcyAC6V7QyRZr9NR3OXFqHvYdYJK1/yOqAEbErtloGQdbK5mX4vn8fPYRpLA3i/IAERaF9x2Gdna7HnouBiSt+jF2lP2eqGE6NpdbDgpVdmM141DuuY7dBhyRHYxYHRJVraiEQuijkbgwzHB/y5pXWOWURBKPqlSKEA1nEeCLCcRty4/hwARqoUTN1SYInfUPRjSzb72A8/ZML/W7Jyy3PQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8) by DU4PR04MB11813.eurprd04.prod.outlook.com (2603:10a6:10:624::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 16:16:13 +0000 Received: from PA4PR04MB9366.eurprd04.prod.outlook.com ([fe80::75e4:8143:ddbc:6588]) by PA4PR04MB9366.eurprd04.prod.outlook.com ([fe80::75e4:8143:ddbc:6588%3]) with mapi id 15.20.9891.021; Tue, 12 May 2026 16:16:13 +0000 Date: Tue, 12 May 2026 12:16:08 -0400 From: Frank Li To: Adrian Hunter Cc: alexandre.belloni@bootlin.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/8] i3c: master: Consolidate Hot-Join DAA work in the core Message-ID: References: <20260512121732.406009-1-adrian.hunter@intel.com> <20260512121732.406009-4-adrian.hunter@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260512121732.406009-4-adrian.hunter@intel.com> X-ClientProxiedBy: SN7PR04CA0237.namprd04.prod.outlook.com (2603:10b6:806:127::32) To PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8) 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: PA4PR04MB9366:EE_|DU4PR04MB11813:EE_ X-MS-Office365-Filtering-Correlation-Id: 8c16e214-d54c-4744-f14d-08deb041c97b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|52116014|366016|1800799024|38350700014|11063799003|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: +3RMdf2jeR70pnJh8vvLaMAoYwsgiZWe1WB7qNT1Ha0ndvpGcGWMzfheIvyiTYTESr+WUP10/C4+g8G/U4Tg21elJJacAaGK62Yk76EBWl4547x61Qzwruy0lS25KXiaIj6geoK/3vi43fpD6vcUptiPm6ECJo4Yj/H+PSPjbvgcJG22QHTrdxlDfyy0FlRRB7ZznVz6UogFLC1q1X7+aFp/yc9w2+emeGNMI6UIERD7d1FTIqBZCCQcFZn+QZKiA2IAkRrlyb9K5O8KNHMqj4yiXS0D3VZzPa+ayU4ZQU8bcEM/z6LSyW1BSKQF9fdM1UaZFq/bFCMjJqFrI5AxU1GZjZdkSiw9lp1a3FZ9ps73Tdau7ILhG+36ckY4DnHjGzw48ofcnu3S2qtl4+HVC1fsFrCzt05mYHO8oyYWFJBKoDCb2AtT1ihkkhYP0gHGO/GWrTpCdvvgO6pARIYY8YPY/s4HMfLPv7UTutV8ARj8OG5TmpYyu5K/htkjZsasZnHsO5ZpyhyJgVO2RqhhAycM3bFHJgVlw8koC8A/AxtkM2erHhhG4f7msu0q2Ke2pBvNJyaS53uJkvLY0SJf+SsXtFXhiA98qnO7jS0HnTQby7J0JWIqzOIVxglV/aepCX4RsJlpJ/tur3vmZQ3NhF4ewsYy9jtq9pv8epopWYO8Alh4REW8YkfdwQ5yWykhCN/PExnjL03uYBLqZ1FQ96gxsPybZmUpOBbRU2y8taFy7u5OCYdomL37qF1P4WR1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9366.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(52116014)(366016)(1800799024)(38350700014)(11063799003)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HmLHyEIVrHhTcYEmyTbkg0BQ/7JFSAXcY1Ami3OVMC23CGEt5wF7F3cqvLlJ?= =?us-ascii?Q?GBofYH6hzdENh1JW1X6xUzcklzovhxY66ECtgvY0awdBmyYaHr4qKeN/H1R1?= =?us-ascii?Q?9c2y9HXxh8ibxhSl2KOEWvZqj0Ih4bR8dwlGK4USQd1o98qjvpCERNdycPxe?= =?us-ascii?Q?7x9w6Plr2aMcu2ZXwokqrwgz6N/z9QYP9CGdoDl9yHBsWfeUpFuALPClVGza?= =?us-ascii?Q?53TBjIwBdz/QklUnTLXbKpjpk2Vfwrr92TffSygem1yMxTlGe20Zvi77Hbk6?= =?us-ascii?Q?R6CayxbGUFO03+Wae/BdMxprs2viiZHg0udoYp0uMHtkKZdD9bmtcCJtpFEi?= =?us-ascii?Q?g0saP3YTCjUaEsdPALA92KEvtcgXcwjxMWkkVwGy8hwdmuNlZhXrh3SixDQJ?= =?us-ascii?Q?qqwuYg67yF8jHRixKXXLWBfHNW2Os698hBPCkEfisEWeYYj7/OAv73r4pk41?= =?us-ascii?Q?jMRgFOYRnPzg6U3estSDIvlnG0VdbTbhRPBD3rhDwiBW/jfX1k/XfS/8ObNP?= =?us-ascii?Q?/fklW+/TSqAkj2Nvx7g3lLIbatDgIvFwFKaXG7DIC81VmJzR5O+RQIhVDLfo?= =?us-ascii?Q?0PyUJhyDsOVm7UWjPS89giVT/KIYl6nGf7IrGuwJPJF292SpvPLLM2pQcskE?= =?us-ascii?Q?/G6WByZ/C5JH4GHtzDFh7PVOTwaljieXPn/333q8LS3CiNYTu/t7VCWG5ReB?= =?us-ascii?Q?u5fLwX/K66aAEqNcrszTW/8Se4Xt9PWAh4Z3bsG9fBj+NqFt5el43yi5tlLG?= =?us-ascii?Q?/sBGHbY9Ra5peBvZcmhxC8STADAZrjWRUbXeMLtkpKivKkI9OOTd0LEI293A?= =?us-ascii?Q?CCX6gT6QgKez3tCRm6Si5MkiGIc7XmyYbNh6H8WdbZEfs/2cuTj+m8YuRLHK?= =?us-ascii?Q?v9M0aLO0c/1ey2eVPRGV7EU0hngxs+URJcd0/XIZUN2vJlkCLC2JNqMjZ0Oq?= =?us-ascii?Q?Grywggc1othVADBXjJnt1e5bYPvTXzYiAUHyOo5iM2gA5W5md0vqCwnEQOLg?= =?us-ascii?Q?h27tR+a581kDob4mwXDRPyGaExq/sWpeih4ZCm0B2RiAgigk5APTmLec76H7?= =?us-ascii?Q?X3uAhvRFhy2mIqYj1ky3vckgUDlxtGnEKU7FPYzmPDpH+fYDT5HEG2JqnSDv?= =?us-ascii?Q?977cagaNzDl84oVscf4MUEsSYCcwZd10R0Uxgmbu5rvEY+EsiuWHXCvI6exZ?= =?us-ascii?Q?HAZVgcTfEBMcIL1bHTAOK2KInCsN9nWm541vUTLpjQxPcE/oI1fJdJfI2Syj?= =?us-ascii?Q?n+KcP9DfuEqeAhBgn76zBYIg/HWoGnYFshV7MzaJgz63iRi6OBmCbHvQbJcm?= =?us-ascii?Q?63s+kb018fZpOqk5YE9N6PaQ92eEtQUqhP+HjgE07A2h8pnUJ/zUFuZXP66P?= =?us-ascii?Q?RKquSS3ZgZtEuW95tZjZrvx7VhtoXkfDoTm0cWMKDHEJdVB+51lMupltJk5N?= =?us-ascii?Q?cmNKfVHo75xb5NqcZRCrVK0u5VSd/JSmqXnbYK/bndCZXb9uE7A7JbXMKG+5?= =?us-ascii?Q?2C74yqqjaRyR8LGDYX+HD4aygN9PNCipFRgBAgQI4zL3xBl3kEJnXzkFwO5J?= =?us-ascii?Q?9HSwvHsjtj8XLfPCzBQIgxcC9jsFpLUkgJZbI6krfTmWikrBs0umAoWLlk+s?= =?us-ascii?Q?9rVurLe1UMzdhvP8n9o7cMBgxlOjg2MumiZPucjHoFDlH9sKWmtSuCh/OFT6?= =?us-ascii?Q?BfCZJTrVjMRozHtpQhL/oPI18J1oMtgtbeTL7bAAA2kvDF/v?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c16e214-d54c-4744-f14d-08deb041c97b X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9366.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 16:16:13.6246 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wJSpiXe0IoFcaJlbpTEqFFdiVjfrKWsA1uAYrWpNGNJE9+tpmcCtDcwAbHUgKzK+OSvv/fZAXToRzfLyylhoIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB11813 On Tue, May 12, 2026 at 03:17:27PM +0300, Adrian Hunter wrote: > Three master drivers (dw-i3c-master, i3c-master-cdns, svc-i3c-master) > each carry an essentially identical Hot-Join handler: a struct > work_struct embedded in their private state, a work function that just > calls i3c_master_do_daa() on the embedded i3c_master_controller, plus > matching INIT_WORK()/cancel_work_sync() boilerplate in probe/remove (and > shutdown for dw-i3c). The IBI/ISR paths then queue that work onto > master->wq, which already lives in the core. > > Move this pattern into the I3C core: > > - Add struct work_struct hj_work to struct i3c_master_controller and > initialise it in i3c_master_register() with a core-provided handler > i3c_master_hj_work_fn() that performs i3c_master_do_daa(). > - Cancel the work in i3c_master_unregister() so all controllers get > correct teardown ordering against the workqueue for free. > - Export i3c_master_queue_hotjoin() as the single entry point drivers > call from their Hot-Join IBI handler. > > Convert the three existing users to the new API: drop their private > hj_work fields, work functions, INIT_WORK() and cancel_work_sync() > calls, and replace the queue_work(master->wq, &drv->hj_work) call sites > with i3c_master_queue_hotjoin(&drv->base). The dw-i3c shutdown path > still needs to flush pending Hot-Join work before tearing down the > hardware, so it is updated to cancel master->base.hj_work directly. > > No functional change intended: the work is still queued on the same > master->wq, runs the same i3c_master_do_daa(), and is cancelled at > controller teardown. Future Hot-Join improvements now only need to > be made in one place. > > Signed-off-by: Adrian Hunter > --- Thank you for do such consolidate work. Reviewed-by: Frank Li >