From patchwork Thu Oct 19 22:27:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13429901 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 1004CC07545 for ; Thu, 19 Oct 2023 22:27:57 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=oIaSl/yp9+olLc2hpDZDLYPq2qDAQpw7Gmy2cUlT/0Y=; b=Aw394FhJYzSIuX TQeNmd3ix03mbuQ64rA5hEHoMzhHXLW6KCarDdqIpSCT/DG4v51WQznflYKjQ25jWYg9oERRGa//5 Xlw5hhyygrMV6O4mHf4ZVSsEsMdPbrpEt7lXNdZkU5HPSHyz6Pktv2qS16Mx6KjTySx32O9ZZ56ua Aed81cuxwS8Cxl/o73igaL7bfNpNZlAPv1OGldoh+QTxALzA/egMVkCJ1SE/RIM3WhmoJwosjx1J0 egJTfEBjD3i2F7vxEw9XUSHj8JtDeyxcl3APNHHtukq/a4ODZ3ThpZmzjK/PLzk6+0m3ALHlfjDHF j/X+lCYq+FkF2sa1xV9w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUi-000o2m-2Q; Thu, 19 Oct 2023 22:27:56 +0000 Received: from mail-am6eur05on20611.outbound.protection.outlook.com ([2a01:111:f400:7e1b::611] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUg-000o1V-0C for linux-i3c@lists.infradead.org; Thu, 19 Oct 2023 22:27:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WjbmLZ4O7YAtvnmhYT/FWwec1B98qrgyNkleF+v0ilcJvx7H6qITTuxtmwuF23qwApSZV9IMFPpVYE/RQJNQNzkeORVIqEfB6lF5IGAHi9EUNDf25xOtgnTEhkerXF1QIujYJBfUsoPd7GNs6hFmu1ZzvNjQYWl8RJ0VyZvF0pmzlHu/Uiz0M8OGdABy/VdjXv7LmD0Lr2F/G3mWD005NEc2mN6NhPTO5vFDtsCmAlcCI+tzhcN3kwtRa3Iec2JMgQw3iRsEUJaIGgYfqQ9nnvgux6p5VPnOyhFiSdkjmx3nE2S7cn3krBcn6orFGov46zk8IX5iA5A8SvxAuYiK2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=D6/0l63ENa1rCG9AOCfTVMMHkxQaSAkgSO/Y9e4768s=; b=APcOd4aL3ucrDzk10wuO3ccAOpl0HFmrTgoUaQGzsph7Fc26X9o7CXmz6MYh2vaYXp/yLhq1xjzgY8JJmslaTssSALIc8XTaGqMx3I9/WOLZf4y/MPF4pq1OFHKoSYmefRxA/hSKq0WFVa3cFQc8UbsN9lB4rfGuyb7pir6/KyP8oN7LIvIvtZ61q7eGTbzgBfHs4DTdyPw0z5H0oOVdWBtojLctsC2d8xTtYQwyuRZK03azlONFAPRDH1urLWMi+RZmtepWAIlMtB+7V6TCPsFLQZbSEzLFs7StiXJdUVwBsWgkTnIubBK/ZAyfm/+tgxbYND7mWvyqATyd/8DoWQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D6/0l63ENa1rCG9AOCfTVMMHkxQaSAkgSO/Y9e4768s=; b=bn24Mqv5WxV0x6P3+PZDEvu/SyRpBQ1BozyntBWpwvjs2vFVFQzd2cULETiyjmNfgEQO2C19FylJNqxtnkZd49d0nOQ0DJXoMTReKdGzyxB0tKbMMQXzVJAl09RKFLtBcTkPPZ/myxbGlc8tayfOJA1Avo+mGe4sXAHPxoqZC+o= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DBBPR04MB7708.eurprd04.prod.outlook.com (2603:10a6:10:20d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.10; Thu, 19 Oct 2023 22:27:44 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 22:27:44 +0000 From: Frank Li To: miquel.raynal@bootlin.com Cc: Frank.Li@nxp.com, alexandre.belloni@bootlin.com, conor.culhane@silvaco.com, imx@lists.linux.dev, joe@perches.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/6] i3c: master: svc: fix race condition in ibi work thread Date: Thu, 19 Oct 2023 18:27:20 -0400 Message-Id: <20231019222725.3598022-2-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019222725.3598022-1-Frank.Li@nxp.com> References: <20231019222725.3598022-1-Frank.Li@nxp.com> X-ClientProxiedBy: PH7PR17CA0042.namprd17.prod.outlook.com (2603:10b6:510:323::21) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DBBPR04MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e42faf6-f3a8-4881-0108-08dbd0f29d53 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J0mW8jbWK7e0Xw225stXJn7vAJGg3bOBJXfxm0RgJcA9/p8yNSaVSwHlnHHHK/D/S1zRkDlO2oz+a+V+eV4hYhki28CxLcNjw0BI0n3NfLdUAzoHIKkqh15cLrcA2kJN6F0/hRr50cQjzkeBiraDPxK07QlOA/Ii5fxRe11nuFkKO2uSHaeD46i5SesQQSzuBxzR8j3jnYTfN5LA10DWShmqC80YNVP3CVn2e9FEirLzKG770bgxRcb5ksANI/lT62Fkqbfn/3wNxdAX0U6jCxRv46GXdNAFHYkFdnWk1OPiiRCQTs14PzAJuQ1cXs+/Gx17ZMvVqJ3EItUrxMVk9JnYDUpo5P0VgbCTdNulFAuE7lion0nzr1RHB8MNJd4saCKEQ1v/c2MbbbPGVSEOydFSKnU7oiHfy1G6LQjQrqOrtF5Dq6YRSeDi8njRFuP271+1Hh75BBC2VjXnabdWWDi8SIKUMApJfmFDqIIR3K6cd7IMCwsjrO+4484ItDFweCANUkHJj4VJfs6J+MPPyeLKqgbxrWvCCcRLjCBubfi+IOZscSxSHcVqkat9H0LoRRAUDED+fWw+Y6pLzfUYgQkQtiG48S4glFuV5z8i6pJkt+jMBgvPIIqZKHejBeqgMmcvoGc2FXib1HZD8x2rqrZiIedWvtFUnQRbxwk+SGo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(6506007)(83380400001)(6512007)(38100700002)(478600001)(36756003)(66476007)(66556008)(66946007)(316002)(6916009)(86362001)(6486002)(52116002)(2616005)(1076003)(26005)(6666004)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pu9mvWOXUgdVCGcWk0gOOKgSmKtdLUjQMW+xfHXzIJgYd70B7Z0sGumaLv8AaouWsVFwwmEUA4JZbgOeRJCcadOrPN5hwxv23FnpjYhJjHa9rQpbh2BBDc2xV7UY6eUta1ZieYpRyhexd8zCKMyCE+etOcDiorIPdGiaVqt10kvVUCI0AZrPv01qV8Hla1i/tQYz0AAckuRtk8A7FpYffTtHTlL0c/2oGhL8/6ibXZ82naBRUkpv8KAS2W41SjDz5OKA3X3pE617A7KPHcg9eBYMr3X1fLWXYGQRWTrF411sl18hf2hp5EXYsZ4IMC5eKQP5tntxFS6o21Ng0R1C2jdqP1xuxD10I5EyA8+xLFZMh1cWsIhnHiOaSjT7yrcg/I4q0hYS7JcITTgj0znPd+pIKBqYRtuduSZW14Rx7/GYKC8oC43gWTQkuFc2gz/sw7sJntl82Rk2hZMiUNPMKi6UnaKEri1iDHnIvxjmN3h93PuKYaIl9PCdZaTGkwBbnL5bjDNvCGnGdEK5/Xd3dM7vpUjXKFHr22tKHgvN7cjpyKEGgpYQqY9oc2EHWKgvyg3hyoOqElJLXZiJDxrH2f5O+bVm/gpN+ekTKFKG9VUFimGVv2En3AGOcpQO8CtHC821xN+wliX9LN6logVmSNv1TwOOcVtyz84In5Ya7Cl2bwuKTkKDl6lwRejIIAORwO0L55fXVUK1rvqN5DzvwDTAYCFN0NwGbc4w6qw0/dGS7gzsYWeGIfTAEHOys+fGrj5DaYv7/1f5Yx44XuT+rayd8QRYXEpT5n3889ruU9SRGIrrvyCB2cO81yh59NR7kBOA4aGo3oy1Hm/2fXeWjB4rUaFUcokV0MbUlRYx3amBYIgT2cAL/Ga24ODmCPMxGmaevXE28GZc74jnKqAjAN9553922nOUGVUGNZYaFE1bys9MgbjOBklHzUtmIWmsq5DQb0fYn83o0oydKg+4nrlVb0Ra2/g2wfQKJDbcraEOWDn9W2yD2P1nn/B113OBC6DqlNHkOftybF3NC3jkr3l1SCLk03gqpib6Nl09l4tQC37fQIjNrGUNyxaFknzVSO9eLPJ4sNv2iHjOLWXkAq3Ze2Ks50js1zMWDxV9RjwFSI0H1RIFvZgDb5GeeJS3U3IkQUkpmM4EBhgMO/gFH/9MK3mjhSGadsFrFrN9eTzUGYmXU4qqeEVnh/ha36aYzAMZIfNwv3G2egX5hgPC/wxZRSzYiS8ZTVQL733lZFeq1Q+yODFzfmMhdW8CVvhqfY9t7AG17OFvfPavjid6oss/4EWSg1sm9XjseMaAli225Aef98dJlDXjFpnWWHw5kE2xQBldsDkCP/LObXaPni606HQWaDqysT/Yo1ru7yNmqjgazwRmfsmUaMQCEl8wnLEsT9fwReToLoodDeHEHOtqZCGDL3JSLxOXSwH0zmM9kGStCU/hTuR57z/c/C/vHjPu8ZNRFHMT6/9NODrBGBG4u21UuyjFcdpXqJoVbRViuhBAZV4KuwVynGixRJGFJ0GoiLQDcLnDFxZUtKRS/xwgk9blfWG8heDO7V2uxGE= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e42faf6-f3a8-4881-0108-08dbd0f29d53 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 22:27:44.4908 (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: zvE2pkCCJER1Gd8hajOv23G3+cV1h0Lc6WNBXCZFNyoStWnuZLfo5ZeA94J/j/cub1YgY7el7BlQziKBGyIBhA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7708 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231019_152754_101832_60801D72 X-CRM114-Status: GOOD ( 12.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 The ibi work thread operates asynchronously with other transfers, such as svc_i3c_master_priv_xfers(). Introduce mutex protection to ensure the completion of the entire i3c/i2c transaction. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Cc: stable@vger.kernel.org Reviewed-by: Miquel Raynal Signed-off-by: Frank Li --- Notes: Change from v1 to v2 - update commit message - Add Reviewed-by: Miquel Raynal drivers/i3c/master/svc-i3c-master.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index d29de5fe533e6..8cd708c965085 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -174,6 +174,7 @@ struct svc_i3c_regs_save { * @ibi.slots: Available IBI slots * @ibi.tbq_slot: To be queued IBI slot * @ibi.lock: IBI lock + * @lock: Transfer lock, protect between IBI work thread and callbacks from master */ struct svc_i3c_master { struct i3c_master_controller base; @@ -202,6 +203,7 @@ struct svc_i3c_master { /* Prevent races within IBI handlers */ spinlock_t lock; } ibi; + struct mutex lock; }; /** @@ -383,6 +385,7 @@ static void svc_i3c_master_ibi_work(struct work_struct *work) u32 status, val; int ret; + mutex_lock(&master->lock); /* Acknowledge the incoming interrupt with the AUTOIBI mechanism */ writel(SVC_I3C_MCTRL_REQUEST_AUTO_IBI | SVC_I3C_MCTRL_IBIRESP_AUTO, @@ -459,6 +462,7 @@ static void svc_i3c_master_ibi_work(struct work_struct *work) reenable_ibis: svc_i3c_master_enable_interrupts(master, SVC_I3C_MINT_SLVSTART); + mutex_unlock(&master->lock); } static irqreturn_t svc_i3c_master_irq_handler(int irq, void *dev_id) @@ -1203,9 +1207,11 @@ static int svc_i3c_master_send_bdcast_ccc_cmd(struct svc_i3c_master *master, cmd->read_len = 0; cmd->continued = false; + mutex_lock(&master->lock); svc_i3c_master_enqueue_xfer(master, xfer); if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000))) svc_i3c_master_dequeue_xfer(master, xfer); + mutex_unlock(&master->lock); ret = xfer->ret; kfree(buf); @@ -1249,9 +1255,11 @@ static int svc_i3c_master_send_direct_ccc_cmd(struct svc_i3c_master *master, cmd->read_len = read_len; cmd->continued = false; + mutex_lock(&master->lock); svc_i3c_master_enqueue_xfer(master, xfer); if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000))) svc_i3c_master_dequeue_xfer(master, xfer); + mutex_unlock(&master->lock); if (cmd->read_len != xfer_len) ccc->dests[0].payload.len = cmd->read_len; @@ -1308,9 +1316,11 @@ static int svc_i3c_master_priv_xfers(struct i3c_dev_desc *dev, cmd->continued = (i + 1) < nxfers; } + mutex_lock(&master->lock); svc_i3c_master_enqueue_xfer(master, xfer); if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000))) svc_i3c_master_dequeue_xfer(master, xfer); + mutex_unlock(&master->lock); ret = xfer->ret; svc_i3c_master_free_xfer(xfer); @@ -1346,9 +1356,11 @@ static int svc_i3c_master_i2c_xfers(struct i2c_dev_desc *dev, cmd->continued = (i + 1 < nxfers); } + mutex_lock(&master->lock); svc_i3c_master_enqueue_xfer(master, xfer); if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000))) svc_i3c_master_dequeue_xfer(master, xfer); + mutex_unlock(&master->lock); ret = xfer->ret; svc_i3c_master_free_xfer(xfer); @@ -1539,6 +1551,8 @@ static int svc_i3c_master_probe(struct platform_device *pdev) INIT_WORK(&master->hj_work, svc_i3c_master_hj_work); INIT_WORK(&master->ibi_work, svc_i3c_master_ibi_work); + mutex_init(&master->lock); + ret = devm_request_irq(dev, master->irq, svc_i3c_master_irq_handler, IRQF_NO_SUSPEND, "svc-i3c-irq", master); if (ret) From patchwork Thu Oct 19 22:27:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13429902 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 6A0FAC001DF for ; Thu, 19 Oct 2023 22:27:58 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=i/03raLpHkFpBZHbL3x7/mxMwSA0r+c2IOm5t1zdeoI=; b=VuyOh62o2Ihorz L1cHMq8ed26ZGSeZF3ASBhBnfBI3Ubrf+W7Pb3sBOEPubyAQWfYT+rKM5V9lDa+r7/aFZYFfFbQnm JBamfnK0QRUtf7WbdqxpCHo+JtI0X/q15L8N0oIBAbunapUGfZGuL61+E3x6My5txVGsYrmpWsZ/S wH0LaGrccI95wF+3GLtE478ibeTwWYkmME9LBUw0lg+F4ddj8wEs05k9yZX+NbpoRP606oQB4zCes teqOwMJlv3gj3Xw3nTRX5/LdFBpVbnup/yts67cGOhtR2KU52VPe0p0yL1qS+apWM1dzHSede9s3L X6kO9b7/ObyLMtX8dlCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUk-000o3D-0R; Thu, 19 Oct 2023 22:27:58 +0000 Received: from mail-am6eur05on20611.outbound.protection.outlook.com ([2a01:111:f400:7e1b::611] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUh-000o1V-2h for linux-i3c@lists.infradead.org; Thu, 19 Oct 2023 22:27:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lv4cDGShXeR/1JmdmgHJ4dEt2oaDEIGFOfPICkkgr2HiiW2jswV25ppOZ4+9ReqfGmJYH4Y0SyXrfecOLWXqJbXnKLbV4qVu+CLfgS5HZWc1NmAki5dyO5AnBIOTr/qTj0t6AV8jCOfFZ3jpq8i6kSBYAvnqBIsZp6i03NUtyv20178b7l4IYA/wsl1ElhOMA5YDlwhKX1SmBzBMRLIJs5xsxijhxabLHlyrTzRatbVqZkSQhuiMFoPMZi7tMK1LBSHwXOAp03nadExsVU+UJEBJbC8CbftNfaekoxCeR20JwiKCUflgQB01rNgitA6C5/OQHGQbDca1y+l/tyNg0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=nayoLnZA6AxlXnKCCet/C/KGKXlH5vBlf4Xff954ehM=; b=iz6226LEgDWXs93yzs8TRrEvKZ1ZQv900LHlhjGL3vSmtEI5MqcR4O0fQUjL6OdOf0E5JsP7TmtyiWOYYURsT9Wry4gckc2iGcp5NiY7W1keBE/QKigLQAesfBSSm3L5eRzuVRExL+gQNqYUVJ8GxHfpf7EHthEqYddoI3iqhCohOO1IfGsteA5sz5LzF+RnHdU4SCCJ64k6aMmolkPhzxTKNut3XpUpOlaK0/zHwXUPBGlinNExx1H21mdKiD3fYLyRTYuv3OiHbV9gIQ4AOoyCS70hSs4A3pXPwojqxBIeSUSB9zQRDtxhMWCUykyvll+u4+8Ka8Mm5+KcTD43sA== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nayoLnZA6AxlXnKCCet/C/KGKXlH5vBlf4Xff954ehM=; b=Qron0qZvzh9R9lQ10mbL+NcL3ASOLaXPFXhCutOdPb6Yi5743Jbtwab82SgotNmL5IzjauCxs87mZmSR719v0LWAWsl7BjlPn4rFtKXhybwZvgHb6+f1i6Yk3D7XonKLgK/vm3e+Ou7h7GSpDddKSpcQhRMw2QMZecNkY1vGSU4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DBBPR04MB7708.eurprd04.prod.outlook.com (2603:10a6:10:20d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.10; Thu, 19 Oct 2023 22:27:46 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 22:27:46 +0000 From: Frank Li To: miquel.raynal@bootlin.com Cc: Frank.Li@nxp.com, alexandre.belloni@bootlin.com, conor.culhane@silvaco.com, imx@lists.linux.dev, joe@perches.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 2/6] i3c: master: svc: fix wrong data return when IBI happen during start frame Date: Thu, 19 Oct 2023 18:27:21 -0400 Message-Id: <20231019222725.3598022-3-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019222725.3598022-1-Frank.Li@nxp.com> References: <20231019222725.3598022-1-Frank.Li@nxp.com> X-ClientProxiedBy: PH7PR17CA0042.namprd17.prod.outlook.com (2603:10b6:510:323::21) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DBBPR04MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: e3b0df36-cc2d-477f-8eca-08dbd0f29ea5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /rHP0is51NSlclkO3cW50Eri7HQoNqkzrrZJEKFKRrtuocnt9IAFlaLzerTFFAV/al+vs9PNyFKIhILf7DIYBhPbgyMlLKeGbXzmajNF88DJXkjyYR9riej1tQqPfnt2kcPYmX7hg7wOqrk2G10iEF7IjfFJ9yI8z7KptK8F9w6aoj1bMyu3mE8D/v5R/XACkpjqnhO2Al9JyPWr8DeSwEVSNpTIhsrMujddeXMlx7gPdaPKi0OlK7tbRMfYSuOCEwCwmo1sCiShKva5UEzlTySeVWV0G2IdxasjFIOWaRUWdVHnFkHh3f6NvlLZhEVys9EBQKizMulXzKbVQwL1TqRGH3/BFfFOMWQbQ79n9vZ6TwbTLKj9vZBmUjUdSti1CMecQY4xQz0VJlpYb8XyKtYtFBfF86Yk8Q409LcGgj3p/lLZ9XZ0eep1/J1rOMv1POntr8fWTNE4fYB3d71lEiWdDpGMUuukDNdzTM/DAygZDJZJBZbWGklxSHxmZXi5p65AqJuAbny/f2uXQi6NZPXblGlKFvvOZwamTjDnAQPVeDQd2O8hYqEnOwu1qHuK1AQt6MuulawyYIvxDfOxd6g8CbICnJ8e9Ft+aFDIOMF33EydA//57oFxFKl610YoyO49gXiaZC7lYuGmz8iWIjzDGZWutQmvXIMj8Vwkv80= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(6506007)(83380400001)(6512007)(38100700002)(478600001)(36756003)(66476007)(66556008)(66946007)(316002)(6916009)(86362001)(6486002)(52116002)(2616005)(1076003)(26005)(6666004)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?nuyAePY4bROJEIXmXJI95TjWS8jq?= =?utf-8?q?NW/Bf95x3H8vdz/kW0Bt3Ye1+HNZAdkFG5PiFUKZ01JrIDLElUWS8MlRCQe0ErUUF?= =?utf-8?q?TSVcAkelhJbUzdDvVQ3XkVK6UWCH/SeUOzD1DH/8jRI6XMAnEGh2JOMvys8vb1qR1?= =?utf-8?q?27H5j50z1XuBRNjI+m/Nbq09/rdaIgi/KydT7kbNdMZwrRNJChjzjkoK3MwJ3inMC?= =?utf-8?q?py+j5rEo2QE036Yhgp+2ZRybc/tfokatk9arBhPLfNvzWFJL1QNNKsSSpu9+ICvHn?= =?utf-8?q?cw2Va3objUing2noenFITDOB87R4QIC7acY3qjOmsRticGbipMRbr/NP06C88MMCO?= =?utf-8?q?c/CP9oPRVprvltbmtWA6tQZeKRcskAkY+b+7mVCmKdbBWyrwUIVrPb0Fbmhh/qBsQ?= =?utf-8?q?4r7M++q8TDUVDMTnqCauwkNZoeuNg9YnKWtDWMRSYUjfdeXVGD3MuuYNwoklymMpU?= =?utf-8?q?LGUgYdmI9fE/MwdFzRW8u0xBeXBXEUlCs+Dv6F2ZLzEfMa7Glc8C3bRP1/jIDmVp6?= =?utf-8?q?wQR3nS02vb+AUGGkFUO3b17pwiiLqwRKhFNgZNEbMoJSyGykY4NRfSAhrzRlewxcO?= =?utf-8?q?LiYvaiQ1pq5oMcVPwcwHDHAWgpVKiifm2tKqC1Rov6PvACPOn9twhEpweVsi5Q+8S?= =?utf-8?q?OtxLMIs/HDlb+CzyktsM8y+IPylNHh1/Nd41/0IT50oNTQyRZpbQn/gyAa9Uy5VUn?= =?utf-8?q?3tHMjvzqvk+BHSFvFDYZBXAm7IJdyLzt/RNXZQCI9s5taDAYGBnXBkqkyOJbOEQNm?= =?utf-8?q?cFQGPHDcasMNj3V2QXX7cu6qP0fla3UN+GOnDt96xH7/qO1S8+ZAec6DOR65pSis/?= =?utf-8?q?7D1ByyRmYkpLGJY8OMcKP1W9xIh3HAXcFiqTTB9PkZXJc9mVtwYkoAeq9fIRl2F0K?= =?utf-8?q?o9Ai4r9PenN3NXsIkfHQy/ZADnasCZl7AyuG0RRTnHRxcMf7vqV8uxlsDPKu0cAHA?= =?utf-8?q?DMlyZ+/MyKAK+IK94N+/CLXgElroaR3lbR3IIwr6drSvLxCGQc/9NsOfiOYmRni6z?= =?utf-8?q?YZamRwoDkQxIjT7SzmcIiyKSQIv68RqDC4LxwnTI8igct5QNeWt69yOI/c9jJ+NYc?= =?utf-8?q?X2Kl0QZX+hGCGXbeuPE4rsy9FuR0965meL0AW3TDNw+Lupaj2I2As6l2qyURjmxCY?= =?utf-8?q?9HNqaqc+JgIidmEvw6iIGKyqA3/PXnHH6a/oPW5Q0yXDZRt3sUMIhfmCh2Xy988gq?= =?utf-8?q?e6To2NaErj7M05bKcqLgcMG8jR1IZ/A9eI5rEr2PXroA6mnZnnXt9ExjT6boIl5C7?= =?utf-8?q?op+5lIEAdqs7WG1rYkGH8xajXllHdz9NyzEY2g78WeTgj9+fzsofSmtS5YE2TV0+M?= =?utf-8?q?SoS5DAigWi4wEWKsHeRgTfmK7zlP9faBFtdSpL8STItbZV58aJX3BlqHp5Xas89cn?= =?utf-8?q?lF3JrZup35UqcLKh1Bo9rpejEMu1blxDTZ2YgyCzg/ZXJ1xBJ6HGKi0ijgrJJ69a+?= =?utf-8?q?dvOFr+f9Y+b4+wMYdLY6UHHKOrTdND/y/KAW1x/CBMLY1ReTmPOXwu8k=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3b0df36-cc2d-477f-8eca-08dbd0f29ea5 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 22:27:46.6967 (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: UjWOuI190NzS7D4LU06fTE+PcM4B2/M2KE1OyCW32WX+PrrxRmTAWWf65gJJeTK8T0vROiMQ2PRVDkh4cTEw5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7708 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231019_152755_883439_416DF850 X-CRM114-Status: GOOD ( 12.61 ) 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 ┌─────┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┌───── SCL: ┘ └─────┛ └──┛ └──┛ └──┛ └──┛ └──┛ └──┛ └──┛ └──┘ ───┐ ┌─────┐ ┌─────┐ ┌───────────┐ SDA: └───────────────────────┘ └─────┘ └─────┘ └───── xxx╱ ╲╱ ╲╱ ╲╱ ╲╱ ╲ : xxx╲IBI ╱╲ Addr(0x0a) ╱╲ RW ╱╲NACK╱╲ S ╱ If an In-Band Interrupt (IBI) occurs and IBI work thread is not immediately scheduled, When svc_i3c_master_priv_xfers() initiates the I3C transfer and attempts to send address 0x7e, the target interprets it as an IBI handler and returns the target address 0x0a. However, svc_i3c_master_priv_xfers() does not handle this case and proceeds with other transfers, resulting in incorrect data being returned. Add IBIWON check in svc_i3c_master_xfer(). In case this situation occurs, return a failure to the driver. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Cc: stable@vger.kernel.org Reviewed-by: Miquel Raynal Signed-off-by: Frank Li --- Notes: Change from v1 to v2 - update commit message - fix typo yeild and falure drivers/i3c/master/svc-i3c-master.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index 8cd708c965085..abebef666b2bb 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -1010,6 +1010,9 @@ static int svc_i3c_master_xfer(struct svc_i3c_master *master, u32 reg; int ret; + /* clean SVC_I3C_MINT_IBIWON w1c bits */ + writel(SVC_I3C_MINT_IBIWON, master->regs + SVC_I3C_MSTATUS); + writel(SVC_I3C_MCTRL_REQUEST_START_ADDR | xfer_type | SVC_I3C_MCTRL_IBIRESP_NACK | @@ -1028,6 +1031,23 @@ static int svc_i3c_master_xfer(struct svc_i3c_master *master, goto emit_stop; } + /* + * According to I3C spec ver 1.1.1, 5.1.2.2.3 Consequence of Controller Starting a Frame + * with I3C Target Address. + * + * The I3C Controller normally should start a Frame, the Address may be arbitrated, and so + * the Controller shall monitor to see whether an In-Band Interrupt request, a Controller + * Role Request (i.e., Secondary Controller requests to become the Active Controller), or + * a Hot-Join Request has been made. + * + * If missed IBIWON check, the wrong data will be return. When IBIWON happen, return failure + * and yield the above events handler. + */ + if (SVC_I3C_MSTATUS_IBIWON(reg)) { + ret = -ENXIO; + goto emit_stop; + } + if (rnw) ret = svc_i3c_master_read(master, in, xfer_len); else From patchwork Thu Oct 19 22:27:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13429903 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 3335DC19F5C for ; Thu, 19 Oct 2023 22:28:00 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=uIMR/bXyQnQ4mJZ883B+mNPLevm9ReTRecLnSyDQlv8=; b=bC3KEWAvRuXddb FBNg+R2/j71CeULeqcdHD8000TQ/WFAhJYeR7mbIoUw3sK4BTnbGY/vYfe+JjYN+0spHsG2w7H797 Rza15M3C108S0bnz/yVuV4kgbNgigWhmq4fL0lc8M/GJQ32HjBED1C5hQDD3OERnbryU3N2AHAnzf GXZ5ejAMEGtaHu0o9ZVbQiLcxSrvvb1BRpK/caoQcncojA9arlvvbMZPgw08oF/nQEOQZ77g93oCv yFyEnZxD/uWCeIges++BD/WQIOPijDgqRghAJd4ZIOnrSc7573tVdK6Lq6efb2S9nHZhpJLKhxyeH ANwS1jupvn4xtcGGH7rA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUl-000o3z-2Y; Thu, 19 Oct 2023 22:27:59 +0000 Received: from mail-am6eur05on20611.outbound.protection.outlook.com ([2a01:111:f400:7e1b::611] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUj-000o1V-1g for linux-i3c@lists.infradead.org; Thu, 19 Oct 2023 22:27:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P4nPIyTpL6vRNo2Y8YKMwXTmAuODuCsK1o9fzmDLscEEZ7/2jReIcZjlSlWy9eOiE0HZwRDLkqeZveH3jwgh0kD8fCM2/4mrlBDWiCE7gizJjEaF41h3A0+CLwUdlJP7216CQlmVc6RMYOffF0mmP1O568NCuSZSJafsGJYlExiLZ/Dqyxn3u6ap1HJ2D3RNAXbPubUKQzgb99lE+HU9Vg1nPXr7pMhlrWTbIQ34W4Vvh5P87DVGpX+cPKVVm9UrpfK3uNYt8weiA96U1cLl7Hkgiui+SgKwGoDtpOCAzDFiBuWK+CYntXdrMkOO5X+gd+adXzBiV9cDinL+ik3ugQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=gaaZQlXiW7kkseAwbfTJKJ8ZOrlWG/SQe5iwfmixt5k=; b=mwg600T4Kj/zxFtOijBoxOv9kNcHd63xsJJDKYm9q5+Igfh05w6ntcjt59WpSZXWtdWOYJPldn67NCR/XbrSZp9wwiDFqC8i/s8AaB82oDQSy/Uq2ZGKNs964fspXoJrXn2dlyIMJqOrzcM92BbTsIQyGEjGWRSwTgX12DZKe1QrRuvTqYIiUcHqEy5xsgbIONEHUCKmESnuw879cnGViO6Wadz6VqW5Tu68De0SChB00Ab81aVqKFDkoalBJvaPa9kLlf8sgfXARV59GBV0E0XQTA6LuzQaabbbdA8PgRHmQXs2iRRMHoicTrrbafUDUTbpYwu8fP2k2s7IMzgntg== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gaaZQlXiW7kkseAwbfTJKJ8ZOrlWG/SQe5iwfmixt5k=; b=jmzsJVZwcY0ck00JSHY8yKuue9tROLhTp/8KbuGIwI1xOw0kF/aTMDo4ALVRUFsXVFsZtmRueJPsCJIGCAFkqbdGxn0pmljVb3ae6hl51vzbfBENkuB4wqRENYKivE4u2C34TVS8U4JbZmYNytNachgruIhlB/2gM2SnS4kR9e0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DBBPR04MB7708.eurprd04.prod.outlook.com (2603:10a6:10:20d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.10; Thu, 19 Oct 2023 22:27:48 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 22:27:48 +0000 From: Frank Li To: miquel.raynal@bootlin.com Cc: Frank.Li@nxp.com, alexandre.belloni@bootlin.com, conor.culhane@silvaco.com, imx@lists.linux.dev, joe@perches.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 3/6] i3c: master: svc: fix ibi may not return mandatory data byte Date: Thu, 19 Oct 2023 18:27:22 -0400 Message-Id: <20231019222725.3598022-4-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019222725.3598022-1-Frank.Li@nxp.com> References: <20231019222725.3598022-1-Frank.Li@nxp.com> X-ClientProxiedBy: PH7PR17CA0042.namprd17.prod.outlook.com (2603:10b6:510:323::21) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DBBPR04MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: 115c6ed1-1266-4c36-9333-08dbd0f29fee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M2cYcjdrFfsAj4hiBkXqd3HO5ayqP2CdB9/CAbOwZmfdT1R0N7SveyF75QY5Rfedmll6aJArFhjSYyUNBWiuHspUIBsKJSfIht5NhtEU6okbQbsSzAbcud31hRZ9mboK6YU1a815quzYSFu4TW7qzPhrarpMtpoKcOpJsJEAu+PFutJSN/uAg+lNCbDqaJaMHZtbZ9VO45f79lqZaYyXBAMBi6LaWC74erTNX3iEe9IWUyLoJZKiJCPMycUwGBxINN526SsH73w3ZIsidHKAlpKbjQsN9Th9SRBuiqI1se7pLtwaPNN3HmofKmJvPRgdH2slVdGLJD5ZRG2tQZXPILCA2PJiZ37mUc9nxMQVWgGrrePKxsehfYxBeTrXCdIHYZ/WUo9GkWJ++lEhfKy4cBJ/A9v1p6+3yn/0EDBLzSj335nVxz36KxbHVqSghIq039DdLf074spbXulHDEQP0xJxZXrGKnUoBfQqeMQUbZoOQevv2y4H1nL82EcCWYMT65PJVzl0rYRzj4ZforAmEhoQRV5eqnRKBwJ9Mhb9OQeKcSC7IzDvnnThKgLT/46kdgLFObsRNLCosH6+xmDLGAHLSJGeahbSMUnLi7OZIr2BJWC6acUEnciyPWJxsr737WP7OJNvLVe5PW/S6VxSF+T0a/EEG1fk20z0HAk051U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(6506007)(83380400001)(6512007)(38100700002)(478600001)(36756003)(66476007)(66556008)(66946007)(316002)(6916009)(86362001)(6486002)(52116002)(2616005)(1076003)(26005)(6666004)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DLR0ZEAy7inq/tfBOC13tKchDd4vxokzqAdbfDuOrVdusaWrNzlWWjyLdaksc7kivxlKDktE7FqlLb1kPUKLnJasi2TeVSmO8/i2IayGKdirL/ZpPRDiR+7vxAWC57mOOPvp5V1//9vEVvTtERhQi0FqFvrBKxvr2Im1XDGtjoa0UcxdxTbLXAWEULsVizRaiH6dFa4d8jCYdDz5EO+3MacTyuJvTmn5eAE+488lDmVaJdlnRIfcmibec5MNPFnRqUTOahkEgOUK2u0CEazjWi1B6pfHChpMTRGWLWlCRLbE2SjCfC1M5L4hkcGVfDuPkQYsEsj/HkoTVudYvF61Z2hGcUigdzoNcbwBIAKbCGgA5llMyjSRKk+wln86Gxfq9oml0c8TMNIprZmjXEhqbIVhjeygTDZBIJ+uRxOEQiMEY7CEFC+gCVnqQ60k/PU4G4A6SoS4TSEc1UnNcF8EsIe9eWgS/bIo3NmUyGXVrKZSL8KzSpPJMhp2haAoeVrVl+Z3ubJ0vdYHLAgK8/4fhdhSfRtZaK1HwRTqsnFj2fdzEx/wq99/rJNnKkwTQcxjnGJfF6FSpP6PRsw7uQAucOekvMuA4HFgMZoMxrrMpiLAjcTtB2HPbQTUZM7AVwW22I8qWTtTXc2o+udZtpZ0XBD1fGgXv+uZ/WwhO65Ny8/qs3Dwk8HpABE32dXwjhtCP/N8FPBp2kH8lXW/K1M2r5MYu8WaPJjt5BtOiqCVqrU9any2/FIXi3/DrBoIj/TC/D83c1617CqIp2N+A6KX9IY8g24KLPEgq2M2XxXAuQjDYVkaAyxAsNgZbLUGOt57Iy/SL6/U5tl1Yh3sAJJhNmogQKx+m/r3GmNQ/WoLH39pq2+s2lnj23fCfHqk8BFxfxacSOZl6Ixy1jiH6Qmf4/Ee6Ow7FfNQnZ56jOhPCrtp9AQApDV8WZvOCRzlQtreXVqEkCp7zaN+A4T3tP8oRvaHPirANLJ9485Yatf67g3TbD91qTGtGJZRt7KPBhsd83zG55Z3NaLLLYDEV6iaJnkLZMlGXCGp2DWM5wAtO32WjCLrnJWf7xnieMLrqQCaw7ORKz8E1rBisEAGuIcIABc7R9hk9qFRT3xXB35lfT4Ji8mlwjiZloLNVUFZiZuHTFORUcj5oCxefyxcyskQpTUxG/RfN+yXYzSD7Jo+pTt34XqRaSIDscfOLXUmlUuXCXmeurSMGmaPB447NkFnr4nEueAHKMi64y/BRr/o2TFk/Zbw+3OcdsYMenCNLkicadDzU4j/TktYk9btBqVTpHyGIdvOGRgoBYHcgcq8TZVghxel0YaasJBeOG5TnH/KF5qllxMO6HI7x/bG42O5AbMrT5cebFUBXaqqf/M5lHpBeA5mlBwecdRm9ZHUuGr7/CtNUlKLbOcqGRC2BAQSzb/XtL+4OGk0qTWaaUrLtBQO7HraYoilElq5+qshBLs4KJkof7SSvhLTLSSAK+guVT3XEMRrg8YW0xTPy6gP3DISxK5F2okJunHQKRlsaVXInEPS7BNMQSXIk9CKZAv8XMvtwN7HdkcOdlZooih75mw= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 115c6ed1-1266-4c36-9333-08dbd0f29fee X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 22:27:48.8230 (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: 7d0qLjDjdqwt1obCtePu8p7W17LBtjxdvZFxvQgo23yrMvC/iGNiJsaT8e+5PMpnhtF32UvIp4n/pyvZBNWUvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7708 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231019_152757_560396_D49CA93A X-CRM114-Status: GOOD ( 12.68 ) 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 MSTATUS[RXPEND] is only updated after the data transfer cycle started. This creates an issue when the I3C clock is slow, and the CPU is running fast enough that MSTATUS[RXPEND] may not be updated when the code reaches checking point. As a result, mandatory data can be missed. Add a wait for MSTATUS[COMPLETE] to ensure that all mandatory data is already in FIFO. It also works without mandatory data. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Cc: stable@vger.kernel.org Signed-off-by: Frank Li Reviewed-by: Miquel Raynal --- Notes: Change from v2 to v3 - update commit message and add no mandatory data in commits message Change from v1 to v2 - update commit message it also works without mandatory bytes Change from v1 to v2 - update commit message it also works without mandatory bytes drivers/i3c/master/svc-i3c-master.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index abebef666b2bb..dd06b7c9333f1 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -332,6 +332,7 @@ static int svc_i3c_master_handle_ibi(struct svc_i3c_master *master, struct i3c_ibi_slot *slot; unsigned int count; u32 mdatactrl; + int ret, val; u8 *buf; slot = i3c_generic_ibi_get_free_slot(data->ibi_pool); @@ -341,6 +342,13 @@ static int svc_i3c_master_handle_ibi(struct svc_i3c_master *master, slot->len = 0; buf = slot->data; + ret = readl_relaxed_poll_timeout(master->regs + SVC_I3C_MSTATUS, val, + SVC_I3C_MSTATUS_COMPLETE(val), 0, 1000); + if (ret) { + dev_err(master->dev, "Timeout when polling for COMPLETE\n"); + return ret; + } + while (SVC_I3C_MSTATUS_RXPEND(readl(master->regs + SVC_I3C_MSTATUS)) && slot->len < SVC_I3C_FIFO_SIZE) { mdatactrl = readl(master->regs + SVC_I3C_MDATACTRL); From patchwork Thu Oct 19 22:27:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13429905 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 99C0AC00A98 for ; Thu, 19 Oct 2023 22:28:02 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=inXNQBgK2d6c2rpcYBz2jgatG6bBY7hG9ob405T9nNU=; b=aFkIEC0wyQcWLH x47xA+zmSzuNKuHS0mjXDIrGq3Rz15IJfwzB/lpCssOsgDeZsAFIwUfTRtBPddTICKlGhvErp8jkL FIw23vPLv8uSfXjlfcNr2ktFp8RuoyiuZcxJpP1NffRwG2lntbFfaaArMVblvC9ZjtPJBQuvc4pIU FtFf3GGIZM/H8c/pEJyTPeTc2hpifVF+FnmaERtPIDqWRpgVpAllXEM8XjrcglLD5Y/hUsVHlEmwK DsbURqNRZpFZekwU3ZJX43cfAo9e7/dpwacZDoHr9qE6OFATocLDBjsBwHy4kRa7NCmbKf4Y8IXBt 1QmNKgPHRUcyeACuxiSQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUo-000o5b-0b; Thu, 19 Oct 2023 22:28:02 +0000 Received: from mail-am6eur05on20611.outbound.protection.outlook.com ([2a01:111:f400:7e1b::611] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUl-000o1V-0P for linux-i3c@lists.infradead.org; Thu, 19 Oct 2023 22:28:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iKbOHy+o3VwCdz6G4CPqj3/ZEtGhNBkThMsBR+FKR0du7EAlHuy5O4GpUVujI3wXVYxDmrasfWD415z2SJvDFJAqN9yjdz8l3OSQExOVT7jcHxdI5QLEZQfSjsusszAnFVsYqSDYxqkswcVlxqglLj9cQw/+EXXirZnfyHVlNV6vzauSbMs3yAaYyQok0NntIyVmrCqawASPa7lTCOkqD17vzVwzuhfHrA7X05Uve58j8F/lLci33zos8C5/iZIc/IbVFwZyYHkXY9PUavYrot5moCl/3yjF+XdOc+iAqfbwVw5iFYTtBPDF+CP1/o/iuevPWJoVtnTvnYVdhnhj1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ghMi/AjqmeuflsZPjowu1AoqUyQlM4/JO+IAd05K8m8=; b=LKa+Q+cIBBI4VOo8n+jXBuDCCEvgPX1ZxIym0ZI5GnpDKGn1FnhOoD9K2GFX4gvmjdOref1UVOM73i9owLZM84Qi5N/oxyWYre+Uu5qD0CoZXZwfbBtIy/Gmq280/kX9+UsboVOdAM1XFAg7hqnJac9IyH1OI2qGZuckG2ycEvwLC+uJ8PI2yittoxIxxNIDok6dAkq5Z7UPLupjRjVap0IhAYwX2J4SlPs/6PyOd4eD8NVPcvg4eRwPPrPScF13fzrRxSx6O/UNhLLAFVa4pffAdcod5AcfVClkN0iz4+VmXSYMo6iXr1Yg7VDxmZVHSXn5YQSrJ9vLib7Sx/TOCg== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ghMi/AjqmeuflsZPjowu1AoqUyQlM4/JO+IAd05K8m8=; b=Tdiaah2yXz74YD/N5Cqwi/OB+DLbE472SGwRW8G4DBK5bCdefMFZNIzyq6ClRpeRbrsbYkoy9w9wWSVxbYsSCRUc4Ouzxk0enJTQ6BnzXEl1PxJB0dCmI+tdFCP1AxhoQoYp62LiJ4A6CewYl/GNMQkq98/gLOac+GaYtI/atKA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DBBPR04MB7708.eurprd04.prod.outlook.com (2603:10a6:10:20d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.10; Thu, 19 Oct 2023 22:27:51 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 22:27:51 +0000 From: Frank Li To: miquel.raynal@bootlin.com Cc: Frank.Li@nxp.com, alexandre.belloni@bootlin.com, conor.culhane@silvaco.com, imx@lists.linux.dev, joe@perches.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 4/6] i3c: master: svc: fix check wrong status register in irq handler Date: Thu, 19 Oct 2023 18:27:23 -0400 Message-Id: <20231019222725.3598022-5-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019222725.3598022-1-Frank.Li@nxp.com> References: <20231019222725.3598022-1-Frank.Li@nxp.com> X-ClientProxiedBy: PH7PR17CA0042.namprd17.prod.outlook.com (2603:10b6:510:323::21) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DBBPR04MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: b8d65c76-b00d-4f54-353f-08dbd0f2a135 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mTZ6lEItdrFHmEZu+5m6mBF8BlYcmFPwlP3p9xc+cyzpL3T6Dnr7OcS2BGB30+fB+LExQ02+iSHqcSSCD9BgVjZqH/yZ3qfP0tHLtG/wkj1SqkkAzV97ih5gTlTPQsNVJ0KO2dZNeX4f3yl+5jBx3jErA8IOzjJdgYTdtVkrJtTVC87DL11gnriEiFECQqPW7MxpCf/ZsiCefFvdYFbpBP40lpV6X9g96+vGgfOl9NeJCCIIIPkP/FW4MAJUfRlfCSOqnXvof6PFMCSIMnKatYJRcl/luSZEZnhPAyVmkZ4LpMRSaWTlCCsS078135h80CMohdKzrUVTa234fr/R6rX2N3yT0mGFOTKY4xDKPTn5pXDU8RGqnuAO8OlJ44xQktw1rGWywIgLzL80EyhqgJs2opOI1rCvS6n7RAqqYCgF4n/DD3JrUH5CPnvOc/3zspqv8wjOEesZED6wyFK9mbnryrHoqamrO96RP6mmBczE34Wrfg9AIJeR83rLCzGvSKA5WP8AuFtSleYGyCPKH9tn8D4HkKM5r5mWcf7xgRl7n17yHynNd6evseq86e2pi8iCbAXTCLouzL6YkQ846tRBDmicQsBNFKqVJRkRzdWP/xYGijMqyF4lbsQwCFSxemSdm//+I5/8mrVElfc/EhB3Ms+x1MYnCkUtqXxHWR0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(6506007)(83380400001)(6512007)(38100700002)(478600001)(36756003)(66476007)(66556008)(66946007)(316002)(6916009)(86362001)(6486002)(52116002)(2616005)(1076003)(26005)(6666004)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: g3RXzKyWyGbdomcsJaPgK+NIvibljavZG3h0HhdHuMb8YN4Hk9tSpuLmPin3e1Vycs+dW/ZHC2AmX+/yTHTJw5m/hmt+SejgDn4Xb5CKqi9XZrlhw3jyYTJkmfUJdnq7fsPP1kVK10AbC1/+iwWr/Gl8npp8I+skjWwFA33UBf4THLaGkb8pdADWZqWtdwJm7pQYVgqaQD867FdW8KaMWHa54r+n3VmLZYG2Q1/gMRQw9O93hGi4LBL0n4hUPOhZip4LX1n+ywEBxvjaON3805aZVUBsR5zYmCnT6JlYxxXBegSICZl6NzKjow+du83dAy04FS0HNq217KJ3+7sVe1VI9koO9zFo4ZZGtp1XkdTMCzPftgG/LQ+2j1ILq7F4gCr8G2rtLUiiWden4Y48gi4KRHItAJ+7kqBDwk14oiNsh8rNJ5rXGKuYLC/F8bD1wpovzs0YnlcErm47/UeOgeWjcH2C8cNc8u88n9h4YZW8sY38Sm/kWAwkRzkvIzMkkZS8CpVgAjPSYHx+IwLc2Ok+two3+/CcgsEdQyoY4B+tJQVJhdw2TxXjnPWwvWQZZ7AcCVfSjxGnbuMDNCgn0dXobwhq15fB2XreTwwj+1mURTwGqtuI2nw6nLKZiMkyoJMz9jCH677BNv5c3T3MNIXpIz6xhY6SovRtSGD9QQk5mApHrnkvyeJgoTZoIWNwTHudZeQwu+X4CcEYah4kOlWSOPqEXmf6OLU2bk3ofrnumCm+UEjb2pp2Vsw52BCpQV4OmbYQI6wnIIlZTKduTUTczhcqoBIWVNYBuPbnvFYGDXZIKL+l0oeS1zEtVd/TlrISzLog0o0seXlGvkb+tSgqJmM/wBspXyShBDRjUOt6VuLlLMJOa4VcTfVmd0BE4YBjmdehs9A8pHWbHblHzxpPtjLPXjyDmqTcNfu3pRfGAxvbcv/6/7S3viOgD3qLm/7vrDYPQlax4zuacfSFM+2XxYUUrogaWso8gAUXFtNxBP9tsCd7wdjMRqZROrJ4K9m/gNJFLDYyI/2/4HHsHm6hLCd/26jC1IHYgtruzEJxm3ZjLEhA5P/epNdMtXeIjICQooyVU3y2y/oaJfLfvPdIo8tZ4DsUjJ6qFq5+RP2huaVr7xTX3V01rZ7OqY8qNsCNp0wVFS3N0DUFaa7th3o1wAxxWNzjV+re0HSz6k3UcI7d3LcKAVKRLeLCJKC6qmOvkKwEHGiXB+b8Nl4cTp41S7riB0kLBIlFuCH6ECeAcc0P8Wuz5NGiCyxC2hh0Gzz/mhbHRjBRQWIAKSEVSZLFRdKC9ogSE7u9ZjNS9axdLkEdBBtLDUrTDwUkkCM8Iac5mw6RaOsU1Py7ztaMhO53MQQ6m5+19h8J9BDH8h7kLFjI6tLFjpj/mrXYXJ23DtcH3G+Gb5hOuu01f4e0ZjAbbzgWTqNbvSdgIdu9AbiZ+8GyruCu4+dwZEGaafyAeiy1zunB8J/9aJTBjuzaxogN4pmd2sAhWQmgvi7MPUzqv7FUsmtsU3w915e8uGVdM/WFe55BG2ePHFl7BhSp0c5dCtdyz75lZ8JgKq6cFRTWZbzFnSIMOJu6uBUnzDBi X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8d65c76-b00d-4f54-353f-08dbd0f2a135 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 22:27:51.1204 (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: AA2YbLLQv4FwuwezwivnpX1Hl7M34lta86SY/+4Au/KRK4VYkBikaVI0PZdqg6lhjUAtsol6+PaXOiyB9zKDxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7708 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231019_152759_161670_CFBC4CAC X-CRM114-Status: GOOD ( 12.27 ) 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 svc_i3c_master_irq_handler() wrong check register SVC_I3C_MINTMASKED. It should be SVC_I3C_MSTATUS. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Cc: stable@vger.kernel.org Reviewed-by: Miquel Raynal Signed-off-by: Frank Li --- Notes: Change from v1 to v2 - Add Reviewed-by: Miquel Raynal drivers/i3c/master/svc-i3c-master.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index dd06b7c9333f1..b113460f059c3 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -476,7 +476,7 @@ static void svc_i3c_master_ibi_work(struct work_struct *work) static irqreturn_t svc_i3c_master_irq_handler(int irq, void *dev_id) { struct svc_i3c_master *master = (struct svc_i3c_master *)dev_id; - u32 active = readl(master->regs + SVC_I3C_MINTMASKED); + u32 active = readl(master->regs + SVC_I3C_MSTATUS); if (!SVC_I3C_MSTATUS_SLVSTART(active)) return IRQ_NONE; From patchwork Thu Oct 19 22:27:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13429904 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 CC06DC001DF for ; Thu, 19 Oct 2023 22:28:02 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/+u+LVZRNQiNFcI1y731ODNOZAXSfhUXJKc67LlA0b8=; b=glXMqno4dZhZjd MrFxul09o8GaCp7ciATEj56wDTu/Ck1WEy5UgwHWqgbrWnok4jljUdHDYfBCz5bOT3v/MWn2UOfqW 5mWX+1nPXsWtv4DIOL87Tyn7T27c5xRQkhcnMWpxXUMAmfAWqd4it6cCjKbHSxGBgo79HehuZBwmL C67B0Im73tzPgXf93MvXVZBZQy/e3G16ivcowhLbc+9Xaww3w+L5KEx2cNwk5hXm+uM+pTQhZuBbv pc3H2jk6SR9jWhOIkRAfwIiPe+XSYRV2ZnoJ3KDvvZQVaVRlVdugeiM2g9DLrtV5Ek11+4E7R49yw fBzTZE6sIO4HDVYEOkVg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUo-000o62-1i; Thu, 19 Oct 2023 22:28:02 +0000 Received: from mail-am6eur05on20611.outbound.protection.outlook.com ([2a01:111:f400:7e1b::611] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUm-000o1V-28 for linux-i3c@lists.infradead.org; Thu, 19 Oct 2023 22:28:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hi5eWBuv64A0+TjRYvqrpy0xsMI1Fl/Y2L7kAS0scTyLQsCVmJxo0bKAWgoyCUmLAk/DfgrLrrHMVZGaTp5h1goiAV9j0Ww2ylFbjzlwuJnoPnhUs6F8tme8ZC459pVyEcPdswa6YIDsCPa2oD1OVJQzZMbPNjOfkxjZVcxAXbBzZ4hPsDizqcvjKKP9kdFG1T9+E7GtZSsIt2KTKkpdMWsh6tioyIIjxFaqLmETMbe/l7S82aYBDmv1oN+Jyk45M3PN7ChKCi9TDWJMiyYInvG+sY1A9zK8npT1+A5EFNCbfny0WYgvJh3E2nngLjIbK+XBrtVdbHVgEZdK1ifmMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=B1zxEdHosjsiGCuea9j4jS7nMFZLaSVEQbKLdH8s5qY=; b=k0FgBOwIp9recCF7kFOPhS4DlhXVqNo8qZNtPSrRzw1bcT3fhhisuD1niEnu/HD7sKfQO3aJkfFIXpxcU1su4srSjwOTBfRUnkvuX6a/rW0sV9b7cNRbTc5LvsQlIUHv0mvU8eMtapzh3t3S+cvUAaxi47EJhoA/uzHQr/Pg1QUb8Y+CsX/ydHJDOEcfT82Q2a8EsbLGQIvPV3TM1ZTegqV78Y3LKcIvfjjsuZl1sCnmhBciTTKGDW0/8fpEz0/DEHgtHDSsE50Se8Cm+HehEor7wZ99Ivhsld/HJiiNcN81DnH9KzVl8SJjDqMZQ7wFWPKgwIuDJ9LRvEQKt6XpaA== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B1zxEdHosjsiGCuea9j4jS7nMFZLaSVEQbKLdH8s5qY=; b=rW9ekDCUyXCpjsr5wK/zMNAyBNMChnKeEvNqTE+DNacDjyOG89Yu9rwys9R2q7RyYpEFxJKh2xBTCVbpCEyFm5I6LEPJF6lfxwioDGcwg1a80q55JkACeQa6PldGxLNkd2UK+pKyFPRQjv0V0ts9btjKeGcJV6MmpvZI6/AT9hY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DBBPR04MB7708.eurprd04.prod.outlook.com (2603:10a6:10:20d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.10; Thu, 19 Oct 2023 22:27:53 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 22:27:53 +0000 From: Frank Li To: miquel.raynal@bootlin.com Cc: Frank.Li@nxp.com, alexandre.belloni@bootlin.com, conor.culhane@silvaco.com, imx@lists.linux.dev, joe@perches.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 5/6] i3c: master: svc: fix SDA keep low when polling IBIWON timeout happen Date: Thu, 19 Oct 2023 18:27:24 -0400 Message-Id: <20231019222725.3598022-6-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019222725.3598022-1-Frank.Li@nxp.com> References: <20231019222725.3598022-1-Frank.Li@nxp.com> X-ClientProxiedBy: PH7PR17CA0042.namprd17.prod.outlook.com (2603:10b6:510:323::21) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DBBPR04MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: 27d4e91a-a88c-4151-87ea-08dbd0f2a28c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ikldhn+JIeVUfEJ0BAnRb+HZpVdnCvHN32GGqmTdBelBXJVAfNlFEzbrgG6/P9OSUMtpvH9KwcUaXwny+8mVQ1vYKWCNYujg6BxhBHBsLhS90x3jUM1XUNIXpLsNcC7bT3hc11hS/0i5XjT4jRS+ILTavARC4KjtIiyN+qAa868gYI0AXpFKM8IILHm5wEygLEk7c+N3vWRLJmTlSFcGuQnFHlh0057oAfr9hNdEDHgqRnjPy0toWvdOwMpwIoMZ9Aw+jowb6n9HB63YmdusnoNOayVA2Vj6x2aOVJWuocjj8U8d7aubRTQjf0xZF6dN7hmK50+IhYQIf0zv0XdLOOfJTyKILoUHqqb/UglfxypjCnSbeOK4QHnvkfys5wpCB2WHLCPI7VJiObn4zYMXTY+Lmx6/Hrv2Y3Gz5+CuIlpWKyT6i4i/p1jd/CP3X/MBk/ggA+2b0S82yiSKzeeLk0a4uRQ/wFGRerZeRt16hVKGLMV/SgjrG8fqiB9lPaOVkUufgXDlDJOZEni7osRFrFJpEvWwnxZetKsUIZ/PT/QARPzo/7OWJ6OcDs8TKirQj1HrVStAN4x0wsO/sv8fbLv1MzELFX4LXnlEthPGIczRcx1+xmLe6jRQhji5jbKYccKKu3ptdLZC1jMabQZ0kWGMc+KFfCghWS3Mex6G2rs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(6506007)(83380400001)(6512007)(38100700002)(478600001)(36756003)(66476007)(66556008)(66946007)(316002)(6916009)(86362001)(6486002)(52116002)(2616005)(1076003)(26005)(6666004)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ErqE0XaMBw9cFm5QSlr5lTfj3RxFJrAIFQT0kIFac7XnUFOa0caLuQQzaHEpaSqHD3hTs8Q5BCCmPsbStpWGMPelR/mC1Dlh3I1mlOxGXiIGeiM7unWMHJrfWeDGmNSor/f7CVHmWhWGliMSzLnXDP0UegEZDRkojDohb33QI3SgO7IjdhEs73qAPBwXw5KzOXKqUIY/r+1WRvtm7vh94r2nge815V8YDz7s4Wf5HwDFCmYJuz7nuEJTSLbZRHav+DFgVXKwUXNcbIc4ZG759Dsr2HQkmp+6/uniUqhheVlFr533mq3jOiwzwBNfzHS2slRUk3XJtqj3ahUEXvY5i+yXW55L0wA/wwI4pjgLjNfzrECRqjqgoJe7nCEjxT6ONi7srEpjHWmfsuhe8oIjpLhm0e86gIsfqsdpqJnVmodvwn8d1TVddFpXnhsOLGQ7gPa35M2sh5tx0YEb/g9DiUXExpllB5cuWRThgRk3e/Ws5pfLSZBroRGpeGfcYww/4e5APaBCeNa5YpmsVxLtXtVUc6jvpxKSRfd/Eb39JgEZYwKiKot767kk0g2D1LV6S3YjHMRkygNe4LWI3OWBVuZniwnDKAXoxYqOqC+Gi5uWt0OE0sCfJBfKuCHb6bYXfor3QAY34Fx7m7xfDGLEs41s2nB+afNH+ofHUs8YPtwxlUMG/5cQdc5+L/v/03wPyKakzQjFJnt/x2R49FwZ/YAUedTwzrg75osJYcEWGl6r8Es9ZQWKmP+df/50qllfk2MBw+J3knm7F5c81GtIJrKIh+QzLNOmGaHABGirWqGX1LDzirTjjBzz6vh+rCiLGBEXbjTW6kncgqceonbLWYaZYmcQLwHabw4NkL1GokxGsFbAiaOUv+UPtpE9wb7WAdfjPePMNVcwdtXmbBWsCNLtwhaoo9zIDCbSUNAAH1Jjg+S52RucAXucCpG6Dn1O96sF/iNKobXzUW8AzbE3Ptnp+0bhZ+jP3deix6DWRoSoqsPcdNJVNxSh2fCakXIB6gPgDeccADtUT8588vhXFm9K8OowT1U+Plxb0LlWjOUl+MMf3r2spuVvVcx+V4fh0NBg2deaC5BIiKjbB46Flsyw9PksGy7kfnYCfVavpzVOsn7dDhKWc9urSpvPrP9y4DnZtVE7eq5SlOnlb/joJW/RU5rTu52eQxWh/43uzEMfAMwDSK6Iq3EGLL/lpNHCGWujai39O8MIOMVbSqtSw+qHD/2ITgjYxtj3vwY9EGmZ00zCmBXR/mkfUq4nd1r6ZvA1/zSdYYezMw9eTupscrziY6mzlLkfaYqMWY01k3yyLAVFRr+jk5qWT81/ygDwY192N6j7PAMwnUCwk7hV2v+lW8CM5zrwkvwQvd1fpRvImwE3qyXaX0TRYLrF8xLhb75N2fKGqp+mDg7w0Z/EhUUL7/8q/4GKMI3LbafKf22OR0GAvFs0I6inHcnSxHl+w/uBp3iybWWseenOZZnT210+hRAD9PuOckmVPIIMPnYi0+5Cn/JAVxSq8EjzwG+42wTrJ0sDfCB9tt0ikjUMgCSPB40fLFEOxw/JhkeqkLA= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27d4e91a-a88c-4151-87ea-08dbd0f2a28c X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 22:27:53.3572 (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: l4I7Vcp/zs56ZyYrMamEaLGlwx/hv6sxlTJXeX7a7LW0jfvmpsrHknwltANfH4iv4E7GwhiyvD82RMAlQwgchg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7708 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231019_152800_700754_30F1FA14 X-CRM114-Status: UNSURE ( 9.24 ) X-CRM114-Notice: Please train this message. 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 Upon IBIWON timeout, the SDA line will always be kept low if we don't emit a stop. Calling svc_i3c_master_emit_stop() there will let the bus return to idle state. Call svc_i3c_master_emit_stop() to let i3c bus come back to idle statue when IBIWON timeout happen. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Cc: stable@vger.kernel.org Reviewed-by: Miquel Raynal Signed-off-by: Frank Li --- Notes: Change from v2 to v3 - Update commit message and add review tag Change from v1 to v2 - Update commite message Change from v1 to v2 - Update commite message drivers/i3c/master/svc-i3c-master.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index b113460f059c3..1a57fdebaa26d 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -404,6 +404,7 @@ static void svc_i3c_master_ibi_work(struct work_struct *work) SVC_I3C_MSTATUS_IBIWON(val), 0, 1000); if (ret) { dev_err(master->dev, "Timeout when polling for IBIWON\n"); + svc_i3c_master_emit_stop(master); goto reenable_ibis; } From patchwork Thu Oct 19 22:27:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13429906 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 74C24C004C0 for ; Thu, 19 Oct 2023 22:28:05 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Al0CkoaTqs4r3H7mPiWoNZPBvTPvumn5YbFG6IApgI4=; b=33GRRusn7t63zu m8AkF3XvGujMfWOIp+m203WtOdpgSUE655Kc6jCyEoGmd83AEOtaz7GYGXM71VQLcSqQHPUy77X9e OcYK/3W473uJwpvAyVYG82vXe1qLSs+/FZJs7BnodfeKVnkAFHYkHR+m8Q3+KxfYF/GyEAFC3ASkA /S9KHuip9yV6UWNZddbFT0hICUWz6iLKlUX/iEXraoc6yWqzVMX89BIdpGGyX4KQk1OzcqcVnmZI9 S0T/S6NZFq1WV7MqLXsx/hVlRiW8prz/hSdx33G7B/gtgpTCVFD6FdY4Si8TeAbsICsmMvfkPLM3G EthaOn/cBY0p8qaaBqTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUr-000o6m-0Y; Thu, 19 Oct 2023 22:28:05 +0000 Received: from mail-am6eur05on20611.outbound.protection.outlook.com ([2a01:111:f400:7e1b::611] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qtbUo-000o1V-0t for linux-i3c@lists.infradead.org; Thu, 19 Oct 2023 22:28:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KcbD2ozq4i8G+fGAfMs1vLIY252PQOclsdB30QEhhIunLIvbOKJKdCNQ+K5E7UkOTVeg/wN0fOQPUQH7sAdPG7AR+bhqBfixhQCyEFv/X6cak1yNFFP+H6kxVpSgYnTETNDx69rdTx1hZOaLSk366W3C+G1OOwyXx/bUUosdCGecXHEKJcVsq1AvgSLFIxeoXiVLVfNukk1tVJGy0wC9MvXRkubD2HJyxhKBuSFQDW86SiuUeIDRsjAqzPziFOSVW0ovvhOAprfUD04m7wMu26SELosMetv/LOk9+qCwnpXT/uuUeXam6yNvmuYh23b+3vUg/3cwz3g/jUikdvV9WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=uT9W7TotJARq6zP26cWXT9hzaMtE+nmkARINED70m3A=; b=b/63V16GXMNFxiv9Uqm0LNnA4U2X9GQ95PI1FP3qpddxqv4kkvGj27MOSPgB1g0elbSAhHMEEGgwSU6T0GKN7y9uSnmasySRz+YbOG7pIbXpUMvpnym51YtYoVO/pnPApPIbuQ+CSw1uWQsushOKloZiMSpYWDOQkNG2pGuKdnAtM04k+FYQ7DfZhdbc5od5jPO81BcWn2Mbz0kstO0LdQjQTQ/1NzoBcSh7aUOTreqVWmoGtCp9wRVzxOUnANBMTZ35Q/bZLX6OKq8B7UwBemTQXsBZ7mQwdm2WUZyKl5P4rDeoTS2qWcKF0PWxXbWYDe7RNnuU1pcU5EeY0FI6aw== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uT9W7TotJARq6zP26cWXT9hzaMtE+nmkARINED70m3A=; b=Bxe7DJXquFtCHIFa5O6xGiLL9FQVC9EUqOEYYh7Q1/U3UYDTbFmLrFnv3faAmDIQj/VvDWG3rQYBdN3Ne73sRi3gVY3C8qnaDhVFfEhytc8PX6wglp8EQA92K65rF+7IiKvrQj4D68rJYMzcheb0ibZ56HMTWlzui+NG5n0lUZ8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by DBBPR04MB7708.eurprd04.prod.outlook.com (2603:10a6:10:20d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.10; Thu, 19 Oct 2023 22:27:55 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::1774:e25f:f99:aca2%4]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 22:27:55 +0000 From: Frank Li To: miquel.raynal@bootlin.com Cc: Frank.Li@nxp.com, alexandre.belloni@bootlin.com, conor.culhane@silvaco.com, imx@lists.linux.dev, joe@perches.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 6/6] i3c: master: svc: fix random hot join failure since timeout error Date: Thu, 19 Oct 2023 18:27:25 -0400 Message-Id: <20231019222725.3598022-7-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231019222725.3598022-1-Frank.Li@nxp.com> References: <20231019222725.3598022-1-Frank.Li@nxp.com> X-ClientProxiedBy: PH7PR17CA0042.namprd17.prod.outlook.com (2603:10b6:510:323::21) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|DBBPR04MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: 08c9f151-8689-4abb-da63-08dbd0f2a3e3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j54wbIYDBBUwajZxBlc7TZPNR/NkabsA6+yGcUvJh8WgWIapp9hEuRsj8WyQveStHEO64jNHFjlq0LqEX1tvbHi5mYFzPeZ4YgC0pQ4EE5EV3a7t8lD/tj/8/dRCi4GqeZy6yYhy3jVTHofiYXfCKP3NsuFTnM9gyPwnrHtuy6nqPZeAX3UtQiKQWLIDinFKaQkmRetvq/SlDnSn975Rm2GkDtjCyF/FNN/46/OsM0/MJPkpEocsClkpkiQWMzQ29E0b4J+L1JaooZTetHYE+xhHhvxk2H1aJerGj/3EsTpq4yiMUMEp4y35oLCDj/Ay7WLlzZQuAkUxWpBMwSNWmnUtQqtv/iDrVYxcyDBXJzXVi6q/NzPXMuv9zXCvHo4M3lZlrp8rqyym7lXnnvApyRmZWe9plPNdOvWhdBHXTAq8WkU2yi35uuqnlR0Obherz0pffWub4caFNtqkGQ6wOVPT/0M9ZOLwol3/+z3hMQBjdBHFl7cJ+5Qdmyll1Ef9QaecwJZXfqFE2WpapirFECk3ZMkqrfNZ77DoephhoKvb+POuSru5+402BJFMUK8rIcIPGeN5myXxxUFE124o3Y+m31gusgVoXgb/MFH1tlBfW4NMWJC9XqJ+avdaYiPnatCf5cQOlP+Fr5F9OrIJ1uQsVvo87iHF9kJSSM6UU7w= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(6506007)(83380400001)(6512007)(38100700002)(478600001)(36756003)(66476007)(66556008)(66946007)(316002)(6916009)(86362001)(6486002)(52116002)(2616005)(1076003)(26005)(6666004)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Bfpwxf4s+yhj4f02oxvRVRksvIGV?= =?utf-8?q?Y4by3Xg+hQXO7KcVrhim+/LCsbM9dUL2lCkes4/sHktsQelOIuV834KW2uys57Bft?= =?utf-8?q?DEd0kGGB1/wiWlMsAjdlcufnab6QPtpr8guReOibiMDYjXcC9tDNcVdsLuLMrHWIS?= =?utf-8?q?W0YScmj9PefWT4IwKup/rKm9b9o3ReGfDMCwtiF3+X8SwIvrCceXm+ViPXpUIvAtI?= =?utf-8?q?eRt7qMCq1rxhiNG/N0V5ilWHMz8HcCnhYOMnN3wRWQAZ5aoRiyFz6QwGNM/bsSyoV?= =?utf-8?q?F9KwYP7p3ie3R2LBs8Z5wExAUBBzux+7K3pyLiMsGj1eaYd1aJNo9rVoChJYje31u?= =?utf-8?q?kWB5EtSoggvmSz057mDyScI6r+z2RIz7Jgp2pJCLEQ3CJw2JpVNoFL0BV53680fVS?= =?utf-8?q?+pPqiH7UKvEx5//r7S80FrhRkY+GWS74mpckCHeB8XA2jwTqB83qkINrXUbbRgmSh?= =?utf-8?q?496WYk2S5pzDn4NWv1T/e6gvTLVO+OceHSfDjqG2iDjanUTO34FCNlahiis29jpHj?= =?utf-8?q?6NF+9r5QbBrvMvirHj1TRI81rwA6PO0zdoYW5YASACbznmCwjGNFFx4d0U0bk9/MN?= =?utf-8?q?L0NRgTw2NOuPskfAsciMeHFTW5dkzMttzTUvkw9Kc0UHYUKJynKCJiekUUFIepKO6?= =?utf-8?q?VS8yJVGUwkqKBXME6NTTUw3y1Y2qwRqZmMlgq2Coui4jj650Xjv29kxH9lxztfmEM?= =?utf-8?q?27zU0LkbIDWXza1K1aTrPjlXeCAF+Mx9xpKKpUWY+1IJuC64K7IkosY89sabE9TrD?= =?utf-8?q?5hD7NUb6NvZmDoIbczovIBh5CzBYM5ExSRRZ7xl9I7qnI1+7C/9PQWHAoR3/PIfFb?= =?utf-8?q?LxjCCMu+9uJWm82pBDZ6BXIZ41trQ3tWMRQP48BFpoHMJ8IjBjiMW9/9ZMA1AfoWq?= =?utf-8?q?rEMl9XCLR0WLbtazV5btOb/XAW8eYBQrWl0STkHaJVKaGYWEjLuJFYNLwFY2I5z6C?= =?utf-8?q?twxh46sOL2mJtQNDf8BDWrwIRytfSVDZ6BbRYzdDfNzfQDsalk9k/btkecy/s9fJZ?= =?utf-8?q?9qkV3eqMAQdflwYBSQlP1Pg3NXvBwVCzGBTrPtkT66GrgVsOjHmoBDZw5WIXtz7rm?= =?utf-8?q?bF3uTjMTGoVIFWHkD3VRbWtpaFntuJJ3NCEXmMM8AgR46gs1FTvQRnxjlBoZmQuw3?= =?utf-8?q?mUa/SUtC8Ls4KKQVSrzC4MIKnU5WtSJ7dyH58M6SIRFtiBX3qsWi1cNaEkgvGkkkM?= =?utf-8?q?STIAFilUvphOA2eOkzxZsDsKlga+bo/Y4kle7qJlJE15dza+SngNcDcrMCRaDIlRz?= =?utf-8?q?YxRtylPAH0ODiq+SxYxuLsZVSdVYb6IcT9SLFO5Yfn38h85S7RGAOnbFiTYaUBRsj?= =?utf-8?q?yF8N8TM8qOhjEqrxmUY1nfIZSenzvYZSf+O9j2aMmQRCfkGV+2qoItWOEUSLDhoxA?= =?utf-8?q?We0ATR6hNmsFzJ17ynsqLSYSGi1Z6s89Vm6QNPhrI+Rc3jd1KrTmrmB6n6UsnPEIx?= =?utf-8?q?Pnnj8j0Gb9MBEPTYObs7I8U4RgZRXM3fU8/OUn5tL25LrQF8+TT9P/cg=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08c9f151-8689-4abb-da63-08dbd0f2a3e3 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 22:27:55.4675 (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: fLGqUoBvhIWqRM8s0+wE1zLPocOa4pJGZs/YivxpM6xXt4QlKjV9KvRhPbUS8y8Xp46ObiGKqdrg4gOw/zRbQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7708 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231019_152802_317649_F900F39B X-CRM114-Status: GOOD ( 11.15 ) 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 master side report: silvaco-i3c-master 44330000.i3c-master: Error condition: MSTATUS 0x020090c7, MERRWARN 0x00100000 BIT 20: TIMEOUT error The module has stalled too long in a frame. This happens when: - The TX FIFO or RX FIFO is not handled and the bus is stuck in the middle of a message, - No STOP was issued and between messages, - IBI manual is used and no decision was made. The maximum stall period is 100 μs. This is a just warning. System irq thread schedule latency is possible bigger than 100us. Just omit this waring. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Cc: stable@vger.kernel.org Signed-off-by: Frank Li --- Notes: Change from v2 to v3 - remove 10k at commit message Change from v1 to v2 -none Change from v1 to v2 -none 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 1a57fdebaa26d..fedb31e0076c4 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -93,6 +93,7 @@ #define SVC_I3C_MINTMASKED 0x098 #define SVC_I3C_MERRWARN 0x09C #define SVC_I3C_MERRWARN_NACK BIT(2) +#define SVC_I3C_MERRWARN_TIMEOUT BIT(20) #define SVC_I3C_MDMACTRL 0x0A0 #define SVC_I3C_MDATACTRL 0x0AC #define SVC_I3C_MDATACTRL_FLUSHTB BIT(0) @@ -226,6 +227,11 @@ static bool svc_i3c_master_error(struct svc_i3c_master *master) if (SVC_I3C_MSTATUS_ERRWARN(mstatus)) { merrwarn = readl(master->regs + SVC_I3C_MERRWARN); writel(merrwarn, master->regs + SVC_I3C_MERRWARN); + + /* ignore timeout error */ + if (merrwarn & SVC_I3C_MERRWARN_TIMEOUT) + return false; + dev_err(master->dev, "Error condition: MSTATUS 0x%08x, MERRWARN 0x%08x\n", mstatus, merrwarn);