From patchwork Mon Aug 19 16:02:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13768535 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0DBF2C5472D for ; Mon, 19 Aug 2024 16:03:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To:In-Reply-To: References:Message-Id:Subject:Date:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=Yiv6f1N6eSqNz6Uz0+afL4nPmYJAW6dHVz6ZQUwLFfA=; b=W5vBFa25Pkv+drHOhoMZIV7KNn oQlBsqyDgbDqlujzUF4m9LKjsZF+wJTeQ/lD9Qsx2U5fg6LQQobkYyw6EYJJROGI5SiKFdzbYNhwu Za1T7vgQP9+p3ODYX71ISWBbZrIBEm5/8+a925XlEdl/9+igyf30pDPk3UERSQ7G/YAo+j3XqTAhb 2TPaLTuRlONNa71/vCIg7B6MLtIBjFXTM3PvdptsiEkXNx+rOQ0HrADwxKfd/WHVBlK4J2zp8T/jT KBcltxbchO/iPOaMi1eHx41qcJh9n/zG4PmE9Y3Mr3hO9769At8nn4Io7+F2Yz4+3s2OG442IRbjp 0xZryVCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sg4qn-000000024j1-2rCo; Mon, 19 Aug 2024 16:03:21 +0000 Received: from mail-westeuropeazlp170100000.outbound.protection.outlook.com ([2a01:111:f403:c201::] helo=AM0PR83CU005.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sg4qC-000000024DK-31c5 for linux-i3c@lists.infradead.org; Mon, 19 Aug 2024 16:02:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UVrr6rVXnlBgso55g6ojoEBnbe+eEY7UlJjllAS8bJjkrii9AruCMp6ourRjXxo7ccFNu+/CScJ9CBqdbXXRswoYCxeEBYf1zPXsTQa2vI7SWFFDGjmUN6ywZXgcBYOLV699FfyWoVXfnpy3tZehkF78dTgPbFlq0YHWdJto3LaNp9q7Gr2IC9sL04Gxiq/Q7ILTOcNnXJ5wQTkIjEgY/c/UnNPrusedlVI/VdXXKG5+YyRfSmWhKU92T6u5fzFAG6fDEfUBwadOE0nah5Y0uwWkEzc21mQl8Pgi+J17gqd0MtvICSXH83KpikBYnBc+WPra+nKcChuUfeXDiAziZQ== 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=360E7KWnJTn4U5WkC5jXkR+B4Fj8KMcaMAGe2L9lXhU=; b=yDy/dUv9FyJj+6p85G0SsYlFT5cn2B/mFqgAldrwPDxv+KN0KwqFhd+8si3p01hEGzFut8RmLdZvlM3ZvQl5rD9weMA03/1k7JzIOS5cBAUjybw5c37b5OQ9V7sBIlHK8qXnvJt/vhw/qX7qGBRLdyvMfKRzmlFqh6fr0kEVe6Q4KrXK3RaSrrM5NnN4Wedr2fUHvxx9opviNn76TRlfOgzP2UDyH5/KTvJSszOzP6AUoKtEYOJXEtOy6/aphF/20WpZADUf3TdGZdGhdxiJjLB/v7ST+nHZv/AQPDKuEzrIIEKkohXhjSOUcFesjMG7FMaFWUQLU/9WB2qIpJb6Gw== 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=360E7KWnJTn4U5WkC5jXkR+B4Fj8KMcaMAGe2L9lXhU=; b=UiwMAunflKxAOMckuQqfk8BlFUvg9QF9GLDtSOMAuyK4Ld9MIS7vGyglaS3wDBWWtJg2nBVcPLAc8CPxmjr1GVX99/hICxTHl4l/MSPezeKalwalVDDhuSQDJQAwBr27BzcCnIsqBl++mLXeVZmOxUnAKO/BOk2q1uDklMPnSmWF9VLEWefacHOvc6Ex3ieX5xYZKwCjNp8fwhtBvL1xf2Klv3Ptn6tLKRXholWI4t7WdfKxBTa5JpTYV2sDwJUFN+jwnRPX6Xz5ag1HeAUqaO2RUwZGoi5W33Hhjh+74XBHdYIqFnJZDOY/rjYLmgtGbXC3BGdiw7laSppFsBhYAQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU0PR04MB9659.eurprd04.prod.outlook.com (2603:10a6:10:320::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.21; Mon, 19 Aug 2024 16:02:26 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.7875.019; Mon, 19 Aug 2024 16:02:26 +0000 From: Frank Li Date: Mon, 19 Aug 2024 12:02:02 -0400 Subject: [PATCH v3 08/11] i3c: master: svc: need check IBIWON for dynamtica address assign Message-Id: <20240819-i3c_fix-v3-8-7d69f7b0a05e@nxp.com> References: <20240819-i3c_fix-v3-0-7d69f7b0a05e@nxp.com> In-Reply-To: <20240819-i3c_fix-v3-0-7d69f7b0a05e@nxp.com> To: Alexandre Belloni , Boris Brezillon , Parshuram Thombare , Greg Kroah-Hartman , Boris Brezillon , Arnd Bergmann , Miquel Raynal , Conor Culhane Cc: linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1724083326; l=1408; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=L9feF7xb9MUyRMKZRWW6AUoqHkDTiS9UlH84igh2U64=; b=V5wVjA9A5Pw5QgHVhN87C1yDWHaMPIw8UeE69020BkTxQkBUnqy34E22gr8GofUX03Nde90gc DetFztsgca3Cwx5KvSaq7jncg6T3DOSP6TvXhNYJL3twPEcgkwl+WVO X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR03CA0005.namprd03.prod.outlook.com (2603:10b6:806:20::10) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU0PR04MB9659:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ca094b9-bff0-42c9-4ff2-08dcc068521b X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?lTT02jOENexGuMr+U/FnWBU29iYLNzW?= =?utf-8?q?snuJl66irBFXXBuVnHQfwYU/uyabzbUF5r1am+ktNIU7BTU+hjuTSbiS5tGJwLQZj?= =?utf-8?q?1Ma2OYDOpcI4/Nv7LdrGi77JGsqasHrcyxM4bYU9GOZWUZsv6lQ6aGgnOk2ywjS0D?= =?utf-8?q?dMFLvEBNrSjH9ZNxfxfOGQLrvYage0u8KiOCePjXEcE8B+LFAlQB0a3jl4gJC1Bki?= =?utf-8?q?MK3xU4VA9+LwVLtKkoDAjE9JZKaN4leYpXwpu0mVnBBoqdEGVovMH6Qqz8bLtHeBN?= =?utf-8?q?BW08PNkXJA91qJZOQxFXdsg4g3XmrguGq6g95yw34k9wVvIYrYr09zCc5xJB/uGy7?= =?utf-8?q?/XH735ZMvMGJ8kEWKOCz6QVv5rRXYbNoJa4dsT5zYIX57NZSUd2R09dU8O0Kb18ie?= =?utf-8?q?7H4mTpqnAkFoDxXox9wawQYP5Ogkc2pES1Gic7sN7InRESeM0jNKdTkWoH/uvdqi2?= =?utf-8?q?5rUe/5ywV/iWG/sZVAzX92BoURqjoC6iZuvFKYClzxSkTNmMA7J/NiK2VG4B3FDzt?= =?utf-8?q?C1BZHC+PO3DrWi6OJhvXhsm/NaJOcwAqMeJ9Xk7RhsKiwniXpwTiIDM5Lgqu27LU2?= =?utf-8?q?i+LoHJo/l6wfKDyNF42whFFIBwPKxZLosCBUBKWmoP/zWXeEOmi+WcThYIstG1cdy?= =?utf-8?q?hITfxi5EnPEOgZ+Rj8dfllM6yl0FColViGcHrBOjvYYUuppkHZsg/79xiUwnxOGo8?= =?utf-8?q?JTBnaNZ3IbE7VMCmt5MpFahZ4ZQoRrjsKRMfs8SrtGhTuzcfi/6dJm49Zf6dHsHt9?= =?utf-8?q?MLCfwamT9lgsCVrS9sWrh0Tr4uZHAEjxBOYxk78BmJIS3vpAtewUMsgeUNo5Rm01e?= =?utf-8?q?2QukI+I5pbknQ2ID3s3S1HDpfksLCISLJofvrTKUcMTT+YAloMpsf8SPJeRgdSdZ2?= =?utf-8?q?zPW7NmgexmDU+IM/MIui7ddW3igXz6tE1pdYix85/UkQjkT3Z7nwvwJFBpo6zC/y1?= =?utf-8?q?+6F7yOJftnumJUYpF72DpMcWSsunCnkmGqEW3gczoxkcpVakZxuHLmuktmfzey+f3?= =?utf-8?q?J/hEitaciJoYnQbJQP9VeYR78QEkFNXRKmvW0mvN5DCxZkeMztqtZnDEcAJSlNCT8?= =?utf-8?q?hK68heHW2cnTUx/Uk6TbPmsJXTIr2z0z6fZUs4fHvNGPDUSu/EKPB4opPqH0mjNug?= =?utf-8?q?ct4CTHLvjlDdSNHVL04RzMG2wizNJi8L71WD/lTyJE09drtotx04uiq2vLaUghJDI?= =?utf-8?q?MnZkhnOM9TUT9d5ADRI7ttg4flleScIehNotP5bktXZwXp/14Z3X9o406XOngx/AE?= =?utf-8?q?VsPlrSvupuWnatTAEwLWs6TL7BAPMK9qYyQx4TA2SsLdTXK577qZW9PETN4qBJNjc?= =?utf-8?q?l9rRH9rTA9KpvllMZ1U59fO+w58yGJuu5Q=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?vBrE/zJJgzQ63UQopy4m/3hhldlI?= =?utf-8?q?SYFlpMmese4FyZs+zncGJrYnMNiM9ROflD+Vtay/2WUXJjCycAcTafTadGTEhlCxj?= =?utf-8?q?mN+nqxmTOokRWFnCmO7VxdNIxI6gb9oQchnvPHy2oL8SM34gU/Dz71Ccrcg/0XxW3?= =?utf-8?q?VDJwJg+iSWSTOrVQFmTiYlJU4WL/+AAJHAFd7fLAXJPOBoASkspHlrqCF/rlRsKDj?= =?utf-8?q?dP44VNeu9PiJFCqEesbj/KuJ1OiZ3E73P8+0u4AOoK778yhtVO5Fy+vPgkbelNCGE?= =?utf-8?q?UYjVMZyF60WzUDaNlg5ZEGgX3Qd58+c4cNpDaHsofpQDZkcifIvhMI/5PZV9J5quO?= =?utf-8?q?xmikcMwQUiblscQdPnd9ZE5SMcgBV8vzBO7pz6nUN49JUKTT/uQUxWXUDG08qiAWc?= =?utf-8?q?JjJZ7WtE+aLJ2WbKtrD6XY3F5asN6yDOvSrow6AIe96UsZ15pOrYWV4yIiuCiwaP7?= =?utf-8?q?qXAZ1qCd8JDLx4wM5MO1WRe550CQ5bUJdhAwMOR4a8KAux3z3L91tcijism6oz291?= =?utf-8?q?5r8dteJ3p2pjKFdfH9ZoDUqXosCFZFWI60y3CQRHVTROlqUiVXCzwmbJdZHAFLJFH?= =?utf-8?q?FKuEy48WPcdSVD46q6j0udXvLTg6BhvVYWm4o2WiMizLaJtqAF1A9iFjBUEEuPH4u?= =?utf-8?q?Y8lhh5Emy803bj07GvGF9nxaqBCUJoKUhQ/1VGRgpWM0RhTOPUZU0+OPD0ModmjxZ?= =?utf-8?q?Uba8J9eo1wRF4IFWfPbz7bAkHceQeWyVEArpCsek6NP1UctLB+/K8/G5FsR7Xxe8V?= =?utf-8?q?AHck7ToeuFkSjtjG1mFUjAQuhMXlfa6ebLogjC8DPujM+NzMXHKZun3mjUNN4euOr?= =?utf-8?q?k/U7fqsTuM3oe5ab+flxdNRGUDSxzgRqzT1xd4gWhjoCbC8MuhLHWonz25/O0/ijE?= =?utf-8?q?774jhFGyPFBmmDNsGAkrhwcFV0425o1b1voIPXSpmBn39ijMq80S33hStysAZyOTn?= =?utf-8?q?tXJRtdDmCmk27sr/BczpdkfQua/PMGosCin4kISWVFFG0HWw9TFNm9r5h1tCAbqYs?= =?utf-8?q?3jYFZwC6I9kvyG2zO34L7WvDTStW57NrF+VZiQWdO4fYrbXWLpWdTMHN9JuRqyd3x?= =?utf-8?q?rfODsnQGLl8incg5PwcutWIhkliMNIKTNN5gEEeC7dWemPP9X7+O9qwS246G3J9sS?= =?utf-8?q?Vs3UQCT7QsHaZfPl0Prs0rxXEmFzZke8qVXkhJqSiQLYzIRqAUO21+A2m91EpYOZ7?= =?utf-8?q?0/RD928MEcyPq7+XaZSKpLZ4apeHPjEg43BcbLNKs3FxCKQ5ibC6RokJ4EgijDBtl?= =?utf-8?q?2I1LXjpAeFwZq8H+GC4CYQd2cGv+Xfg8KVnyvBH9Xdu/a1koCJl7H+plcJ7+0UsLM?= =?utf-8?q?OZR01VXw1l53BTT1a16JcQVYKEeQoEPrwSdys0g3POSNCOmGj74Mt5AEon85bAtgA?= =?utf-8?q?2I0Zg+Q64ll2rHzasfMo7CVYxfo9qTOuZSGD0ABING364x5dCRhsuTVRj6gUdDrx1?= =?utf-8?q?nyf4QqJkaRfNO21qXFicqFpFEe9KNrgMQKNOVDB4+rduBTxh+9zKx7RZr3vRx8ox2?= =?utf-8?q?+1yO9eNN5p87?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ca094b9-bff0-42c9-4ff2-08dcc068521b X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2024 16:02:26.7344 (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: aRs9wuOD4rpvSLYQS3ylIXALAfddWAQE+oFAwjhOW/hzKlRAyneCiG3/JLlLimvgQuf4w+WrBHBbDjXackMRsA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9659 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240819_090244_804765_13A9E7A6 X-CRM114-Status: GOOD ( 10.72 ) X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org When sending REQUEST_PROC_DAA, emit START and address 7E. Address arbitration may occur at this time if other devices trigger HJ, IBI, or CR events. When IBIWON happen at REQUEST_PROC_DAA, nack IBI request then use repeat start to continue current dynamtica address assign. Signed-off-by: Frank Li --- drivers/i3c/master/svc-i3c-master.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index d665639523e3c..161ccd824443b 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -808,6 +808,9 @@ static int svc_i3c_master_do_daa_locked(struct svc_i3c_master *master, int ret, i; while (true) { + /* clean SVC_I3C_MINT_IBIWON w1c bits */ + writel(SVC_I3C_MINT_IBIWON, master->regs + SVC_I3C_MSTATUS); + /* SVC_I3C_MCTRL_REQUEST_PROC_DAA have two mode, ENTER DAA or PROCESS DAA. * * ENTER DAA: @@ -859,6 +862,9 @@ static int svc_i3c_master_do_daa_locked(struct svc_i3c_master *master, ret = svc_i3c_master_readb(master, data, 2); if (ret) break; + } else if (SVC_I3C_MSTATUS_IBIWON(reg)) { + svc_i3c_master_handle_ibi_won(master, reg); + continue; } else if (SVC_I3C_MSTATUS_MCTRLDONE(reg)) { if (SVC_I3C_MSTATUS_STATE_IDLE(reg) && SVC_I3C_MSTATUS_COMPLETE(reg)) {