Received: by 2002:a05:7412:b101:b0:e2:908c:2ebd with SMTP id az1csp2674053rdb; Wed, 15 Nov 2023 07:32:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IFlufRGhIBH1VeYamc6ZolQblY9DtenXuDXvDJa0Eo8qazSTt+Gv3DmsPOkWM0J8LkjcC3Q X-Received: by 2002:a17:90b:3808:b0:283:2805:7c7a with SMTP id mq8-20020a17090b380800b0028328057c7amr10376990pjb.43.1700062348882; Wed, 15 Nov 2023 07:32:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700062348; cv=none; d=google.com; s=arc-20160816; b=U6CQr2BGG9RaJwutaNYz19dD3dtZjjl+La7cYh34L5TMJMGdnAluz8i0iRUKDgUddd 0qKOTmhllkrhbEWD/DoHZ1r1KEncL57X5NJafFBoOp6mcsSIOW5uFssFzzGAO8RI/vz0 CLy0kCUerTNYTyz8zw0i638kItvdcYzNKPosBGon762ROBTBMkr4XL9Y7vCd+1Ftpjca muhEQf7X7U0eY40YCDEy3zvnmZ40T8oF98MET1XxzWDW8GAwiZAz9B9B1uFhpIPKubZU /mwBr8vm9RvLy9vIv8JxHgEDltJFYlTHW9fVUWp9NPa6MKaQRZrf4q7zC1WW9UudnpLt FTFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:cc:to:from:date:dkim-signature; bh=2JP/fgzIVxfO2zzv2oQfW76T+hCNiYXTGd4FbEmgusE=; fh=u5UwN0EWpErCEuPR8Wj5+SYFfcscKLR8490ldyWBAQ8=; b=xcOWMHYGkbQfrL9agzf/NsDh6SC5bStKrJcIWLWUdwy5X/PksPLBWR5LecccnuYiJn zzU/y3q86pA2h43Tm72OuWsmuCmpXf82ZO+gMngxOkVxVIVXBdrYDpIIFK46TvfKGWI3 gHSIfLUkog8bJyC+K44KsM8c9bGwR/Q5JeWzapeWLlATpdJ0tkzjINYVv+WmkhOhYQWH ESApCETXNcBsWjUduD8kCWoBzWr7wdui2flVZXOcpqA9Z2NxxrZDVahRsu3diJKS6vXJ mdlUtk8lT1oPzi2BHAOvlbU0OJdLj6rmLfgVG211p/EHmxFOOuAxWVSPwneFoJrv/b3o NvVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@hugovil.com header.s=x header.b=wJ3Bt2cn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id cp20-20020a17090afb9400b00276671731e3si744pjb.136.2023.11.15.07.32.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 07:32:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@hugovil.com header.s=x header.b=wJ3Bt2cn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 27F13801BAA8; Wed, 15 Nov 2023 07:32:05 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229768AbjKOPbq (ORCPT + 99 others); Wed, 15 Nov 2023 10:31:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229504AbjKOPbp (ORCPT ); Wed, 15 Nov 2023 10:31:45 -0500 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0778C2; Wed, 15 Nov 2023 07:31:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:Mime-Version:Message-Id:Cc:To:From :Date:subject:date:message-id:reply-to; bh=2JP/fgzIVxfO2zzv2oQfW76T+hCNiYXTGd4FbEmgusE=; b=wJ3Bt2cnTcCZ0FwF9cKzwezrFf H5oBzenz20/XYAFdqMNtd96MyshZUR3ZKfPjG3oUBlPthdiGxGzJEjZmUw1WrfoSZF9mqqIQomdhs /EZKwf/3cva/uyl3BQZX0lR7rZEVfkzicvz/NGFGio/LirdBg+A4qbebqXW5Bt+1m8TY=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:49394 helo=pettiford) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1r3HrT-0001sn-3V; Wed, 15 Nov 2023 10:31:27 -0500 Date: Wed, 15 Nov 2023 10:31:26 -0500 From: Hugo Villeneuve To: Daniel Mack Cc: gregkh@linuxfoundation.org, jirislaby@kernel.org, lech.perczak@camlingroup.com, u.kleine-koenig@pengutronix.de, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Maxim Popov , stable@vger.kernel.org Message-Id: <20231115103126.d1cb1168c32c264fe443347b@hugovil.com> In-Reply-To: <549319d4-5da9-4eb0-abeb-6e63b3e26e3f@zonque.org> References: <20231114074904.239458-1-daniel@zonque.org> <20231114102025.d48c0a6ec6c413f274b7680b@hugovil.com> <140280a6-1948-4630-b10c-8e6a2afec2de@zonque.org> <20231115094717.7541b01ec0c8a7f4006fcae6@hugovil.com> <549319d4-5da9-4eb0-abeb-6e63b3e26e3f@zonque.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_CSS autolearn=unavailable autolearn_force=no version=3.4.6 Subject: Re: [PATCH] serial: sc16is7xx: address RX timeout interrupt errata X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 15 Nov 2023 07:32:05 -0800 (PST) On Wed, 15 Nov 2023 15:57:38 +0100 Daniel Mack wrote: > On 11/15/23 15:47, Hugo Villeneuve wrote: > > On Tue, 14 Nov 2023 16:55:33 +0100 > > Daniel Mack wrote: > > > >> Hi Hugo, > >> > >> On 11/14/23 16:20, Hugo Villeneuve wrote: > >>> On Tue, 14 Nov 2023 08:49:04 +0100 > >>> Daniel Mack wrote: > >>>> This devices has a silicon bug that makes it report a timeout interrupt > >>>> but no data in FIFO. > >>>> > >>>> The datasheet states the following in the errata section 18.1.4: > >>>> > >>>> "If the host reads the receive FIFO at the at the same time as a > >>>> time-out interrupt condition happens, the host might read 0xCC > >>>> (time-out) in the Interrupt Indication Register (IIR), but bit 0 > >>>> of the Line Status Register (LSR) is not set (means there is not > >>>> data in the receive FIFO)." > >>>> > >>>> When this happens, the loop in sc16is7xx_irq() will run forever, > >>>> which effectively blocks the i2c bus and breaks the functionality > >>>> of the UART. > >>>> > >>>> From the information above, it is assumed that when the bug is > >>>> triggered, the FIFO does in fact have payload in its buffer, but the > >>>> fill level reporting is off-by-one. Hence this patch fixes the issue > >>>> by reading one byte from the FIFO when that condition is detected. > >>> > >>> From what I understand from the errata, when the problem occurs, it > >>> affects bit 0 of the LSR register. I see no mention that it > >>> also affects the RX FIFO level register (SC16IS7XX_RXLVL_REG)? > >> > >> True, the errata doesn't explicitly mention that, but tests have shown > >> that the RXLVL register is equally affected. > > > > Hi Daniel, > > ok, now it makes more sense if RXLVL is affected. > > > > Have you contacted NXP about this? If not, I suggest you do open a > > support case and let them know about your findings, because it is very > > strange that it is not mentioned in the errata. And doing so may led to > > an updated and better documentation on their side about this errata. > Hi Daniel, > The errata is also wrong in other regards - the IIR register cannot > yield 0xcc according to their own documentation. It also makes no > suggestion on how to recover from that situation, which is common > practice usually. 0xcc is valid according to the datasheet. Bits 7:6 are a mirror copy of FCR[0], so bits 5:0 are 0x0c, which is documented in table 14? But you are right about the recovery procedure, it should be documented in the errata. > We'll let them know through our FAE channels, but the latest datasheet > for this chip was released over a decade ago, and I don't expect any > update to the errata wording. You cannot assume they would not update the datasheet, especially with your findings about RXLVL which add a whole new dimension to this errata. The fact that the latest release was long ago is irrelevant. > > And incorporate this new info into your commit log for an eventual > > patch V2. > > It makes no sense IMO to have all users of this chip suffer from an > issue that was clearly identified to be present and which has an evident > fix. Why would we do that? I don't know what you mean by that... My suggestion was simply to incorporate your findings about RXLVL register into your commit log for patch V2... Hugo.