From nobody Fri Dec 19 19:00:45 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BA5F22951DA; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; cv=none; b=PtLTmdcSDHKeJDs6SqKS08Pex6OevjiDJf+PuUeUMR9tJwC5LiWyOWIoHgVfpOtUYXy4aqRhKo1CuHDkeNbZYjsXdkXcZxTSRQYGeTGc+7dVdOmFsB/TMq6e6RPramf2yKcKLNNJpiXeHu2PspbF58DS1EfJgyPynNKOEJkwesM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; c=relaxed/simple; bh=J3Oie2pptyHEtwvKtZF+eWmaLMCyaUrJVSGBPvvdSlQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OkHWGtUn0N7TFQjsz1aqIz7aypzVMsCx887FCRXLvchuGgyKjBGt2X3O+KaNZKdyN6bw/R6UbOFJWD9QV7P2QEnL3DDAcWy3aSBG0dCAA32Oos7bBPy67ksrZVarkOgEfDmNxKTTurgX/GmS1sJ9p35y2f7Lwe4SB+3svPRXFU0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=s9zJymXN; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="s9zJymXN" Received: by smtp.kernel.org (Postfix) with ESMTPS id 3D168C4CEED; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744731437; bh=J3Oie2pptyHEtwvKtZF+eWmaLMCyaUrJVSGBPvvdSlQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=s9zJymXNPTZOXH7mjUl0DjJiQnxJOqCGFa5iNXmtPndbrqBuDGv267Xb0yWif0CsV uNeQpT+5Fd+8w2sEbBrBewBoMqFZdi09FLbrt3/iwQ5ssPPu4QY7l0DVurdWZqD791 mfb8cecYFexXhWQClD9icW4ujlNKK1uR3RUjMNFqaI/wdAI+69g61bLH1OR/gd+23y 47RkxtJqu+AidqXZIvQS4MFYAcp5jAdmhmadXI+D0d2QwZz8q2YLXxq7ZVhp4MIxU7 fIsNl/sNMWeVPC7mSomGKYPfIGZreYnC6K9aQsq1TZK6L0/WKcyK8Kn2mUxaF8ZzVq PWBg3HcQNdXMQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1F9E8C369BD; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) From: Sven Peter via B4 Relay Date: Tue, 15 Apr 2025 15:36:55 +0000 Subject: [PATCH v2 1/6] i2c: pasemi: Use correct bits.h include Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-pasemi-fixes-v2-1-c543bf53151a@svenpeter.dev> References: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> In-Reply-To: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> To: Janne Grunau , Alyssa Rosenzweig , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Andi Shyti , Neal Gompa , Hector Martin Cc: linuxppc-dev@lists.ozlabs.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Sven Peter , Andy Shevchenko X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=990; i=sven@svenpeter.dev; h=from:subject:message-id; bh=T4ctk5KZpkF4MCpfLgWPh46S+YQwBJlk0+PfdZqRe6g=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/q/WpVo9+5foQ6z5vcxp3SHJe/Yv2n3g66G6UzbKwXuL tgouymoo5SFQYyDQVZMkWX7fnvTJw/fCC7ddOk9zBxWJpAhDFycAjCRbQ4M/70DXfKzoxxXTxOc uo9dNH/jlYrXT2ck/Xx1InsiY6tQ80ZGho+/F3tc3uDmaXHgnMfKKX0nLK4sFYvyXBK8OMPl/06 9o5wA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter Reply-To: sven@svenpeter.dev From: Sven Peter When changing the #defines to use BIT and GENMASK the bitfield.h include was added instead of the correct bits.h include. Reported-by: Andy Shevchenko Closes: https://lore.kernel.org/asahi/Z965tVhC5jxy1kqZ@surfacebook.localdom= ain/ Fixes: 8b4da3ef9206 ("i2c: pasemi: Add registers bits and switch to BIT()") Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig Reviewed-by: Neal Gompa --- drivers/i2c/busses/i2c-pasemi-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-= pasemi-core.c index bd128ab2e2ebb64929f2f6a3525835a880c3114d..71cc8cfc7c5cbf3924269f62177= 12d42008c03ff 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -5,7 +5,7 @@ * SMBus host driver for PA Semi PWRficient */ =20 -#include +#include #include #include #include --=20 2.34.1 From nobody Fri Dec 19 19:00:45 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BA58B2951D0; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; cv=none; b=gLns0qljovWzneguRiZSJRE/XWGY+HA0uXqsEg+VUuH9nCP7Z480ywQe17C3lsuEaxRpknzoF24krReHZx1iLA7FPPhra12foCr5m3FCn97+xVwhUFlsVpg1jx0ZIPayfLnVFntQBOTKS09u6OEXuWfWTmndnFhVJBObtvR637w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; c=relaxed/simple; bh=tKCZ1U57MVrN0lerBtOC7DMLUFHO1/PGHr6C3AN/kw8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=crS9bMegWwtxWbrUDLtQWKH2C27BAv12DCsosmd24yRXCMeUlfbqi+02VNUZGo5LI6Dz42yer1m7AvgcAl5zjDWcCBRcjNh6r1lkuUl8ix5XyZKbv/+4wjJThHge8kfYwutpDc8glSZkfHp6wu75IyiHw+6jMK3Ilqy+W8EAQp8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rsTNqLfy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rsTNqLfy" Received: by smtp.kernel.org (Postfix) with ESMTPS id 45DBBC4CEEC; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744731437; bh=tKCZ1U57MVrN0lerBtOC7DMLUFHO1/PGHr6C3AN/kw8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=rsTNqLfyi72SZ2jdirJeSjURBXX62aZ3L4pWjWLptiWpw2cfwZe/aRXiQoEaOh4g5 RLBOosAfAdYQtJgmkQoTKYqqnhgD6zjHH2wtCPTV/YJltfh4aZs3h6P+ObW3x1zwWo CtLJFr08sd65Rrec7g9PTaXiGScXZa3ArJQla2WLBTVQTRskWfFcRoTTpACdHw0GZx /fbvokcvpvMPAZqSOZB9qn9hyf7MPRAYfpf92zozbk0aN42rIqjTfSw0J8WMc5sbjS GaICvSypnddmjlIYeLpm4LrLFSX44d7INNmiyQA1ngqw98f+TNdtdO5ZGweFn9rBIu qWr8fXD3ygmSA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30B65C369C1; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) From: Sven Peter via B4 Relay Date: Tue, 15 Apr 2025 15:36:56 +0000 Subject: [PATCH v2 2/6] i2c: pasemi: Sort includes alphabetically Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-pasemi-fixes-v2-2-c543bf53151a@svenpeter.dev> References: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> In-Reply-To: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> To: Janne Grunau , Alyssa Rosenzweig , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Andi Shyti , Neal Gompa , Hector Martin Cc: linuxppc-dev@lists.ozlabs.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Sven Peter X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1747; i=sven@svenpeter.dev; h=from:subject:message-id; bh=d4SrViBETCvEIVGrCu813u0fCI79k8TBuEJCcmGpDI0=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/q/WtWl7ddnLW1MubOp8d16cesWr2/7U2cXBHtceHk94 Xb343vXOkpZGMQ4GGTFFFm277c3ffLwjeDSTZfew8xhZQIZwsDFKQATyZrO8D+9Oq6hSL4vb+s3 aes9x67wXZ7ywlla4kKDZuwqy/eW7yMY/ik9+WNdy5A+zzfXXDRK0vDdoZPBj/T0lJ3n3axrt+s uZwUA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter Reply-To: sven@svenpeter.dev From: Sven Peter No functional changes. Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig Reviewed-by: Neal Gompa --- drivers/i2c/busses/i2c-pasemi-core.c | 10 +++++----- drivers/i2c/busses/i2c-pasemi-pci.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-= pasemi-core.c index 71cc8cfc7c5cbf3924269f6217712d42008c03ff..df1b0087dcacb0a3b9419636813= 7d5e20b0e6d7e 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -6,15 +6,15 @@ */ =20 #include +#include +#include +#include +#include #include #include -#include -#include #include -#include -#include #include -#include +#include =20 #include "i2c-pasemi-core.h" =20 diff --git a/drivers/i2c/busses/i2c-pasemi-pci.c b/drivers/i2c/busses/i2c-p= asemi-pci.c index 77f90c7436eda2df16afd7f1cac79355fb005bfd..b9ccb54ec77e22bb1b77848c858= e2e0cc51db7e3 100644 --- a/drivers/i2c/busses/i2c-pasemi-pci.c +++ b/drivers/i2c/busses/i2c-pasemi-pci.c @@ -5,15 +5,15 @@ * SMBus host driver for PA Semi PWRficient */ =20 +#include +#include +#include +#include #include #include -#include -#include #include -#include -#include #include -#include +#include =20 #include "i2c-pasemi-core.h" =20 --=20 2.34.1 From nobody Fri Dec 19 19:00:45 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CF2CE2973A0; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; cv=none; b=TLGGEXE64Nu736UTXaK4s36f9aTeqbx6zZKODuntjR6s8632HLjmDyiSMulIaxMQSAnIR6OF99dAypApFDk0pEew0Pv4loCNDeu6hDCuCezSA3WGVEYqUVFbYM72eub5bn8qsAlE4MNBpy1HEEwa4UeFveuyyE+vhFfda5H81yU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; c=relaxed/simple; bh=F6ydi+3Kh9gLpG3MhIJVGmiYu4P4h2LRSPQzIzRGasg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HPv1xWERjuRNT/IDA7Nx6t8adW1xmFKg6zd77ueVXCUKpOlqE0tU/s0h5vfquVT80Uk1C7W/u9gE/NE2jsKRrUdVISsSsJzfU8DlOdMYcpmLN5REr4cwCJ6xHSAI+M7RQCvY6DbhkqlIB9kvPiNDDzD6HxjN6mmeqc+IpHbjNuo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nBdxMbZs; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nBdxMbZs" Received: by smtp.kernel.org (Postfix) with ESMTPS id 541E0C4CEF1; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744731437; bh=F6ydi+3Kh9gLpG3MhIJVGmiYu4P4h2LRSPQzIzRGasg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=nBdxMbZseuEol55Y1Ny/cpNeEYq7uiD50JIs/gwKO1Foa2wPiCEWrc90lL1haY55m 1U/Avo4ZIeTMGB3B0hc8RtHCP+fUz1bh2A2nXzqENOb+2WfvRXprDXBqeNLCoJuZLD zEBzma6f58T7jbVHsEsmRO/7k15L34RmCdGfwwtOcxHX2/PGwMxk0Rl2AUyFdDAssB m1CvNeYIsiA8Aek7Vq8uG2im5lz8Ku3au63TEM2C6vbDxZy5V1Zeq34gNfiIOXXi7b +Ckbnl3Dd3I78yvbAcdPdFDJ24wap6NTAymjMZa8wXc2v/uNtLmmcjAZd5/3bavVVv hOwn1ihr8SoqA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 457E4C369BA; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) From: Sven Peter via B4 Relay Date: Tue, 15 Apr 2025 15:36:57 +0000 Subject: [PATCH v2 3/6] i2c: pasemi: Improve timeout handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-pasemi-fixes-v2-3-c543bf53151a@svenpeter.dev> References: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> In-Reply-To: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> To: Janne Grunau , Alyssa Rosenzweig , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Andi Shyti , Neal Gompa , Hector Martin Cc: linuxppc-dev@lists.ozlabs.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Sven Peter X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2138; i=sven@svenpeter.dev; h=from:subject:message-id; bh=pieYM48LE5ENsb4OlGmWM38fJJzel5K/67CDk0KItDE=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/q/WvWKcJ/Ij8b3P05fYM58StKf7c2kj6UO6rKVr2u/R bN/jY3vKGVhEONgkBVTZNm+3970ycM3gks3XXoPM4eVCWQIAxenAExk7yWG/w5Skwunb99z8fBu o7eC/youx5b+YzCc+W/XoprbuSEdnPcZGU4/lzac0t5wuYzjwwGL5tcNvtVFW7/VPLu1Y0rwgYr 9DAwA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter Reply-To: sven@svenpeter.dev From: Sven Peter Add proper timeout handling for the interrupt path. Previously, this was only correctly done for the polling path. Note that we drop reg_write(smbus, REG_SMSTA, status) here which will be done anyway whenever the next transaction starts via pasemi_smb_clear. Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig Reviewed-by: Neal Gompa --- drivers/i2c/busses/i2c-pasemi-core.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-= pasemi-core.c index df1b0087dcacb0a3b94196368137d5e20b0e6d7e..9b611dbdfef23e78a4ea75ac031= 1938d52b6ba96 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -91,32 +91,42 @@ static void pasemi_smb_clear(struct pasemi_smbus *smbus) static int pasemi_smb_waitready(struct pasemi_smbus *smbus) { int timeout =3D 100; + int ret; unsigned int status; =20 if (smbus->use_irq) { reinit_completion(&smbus->irq_completion); reg_write(smbus, REG_IMASK, SMSTA_XEN | SMSTA_MTN); - wait_for_completion_timeout(&smbus->irq_completion, msecs_to_jiffies(100= )); + ret =3D wait_for_completion_timeout(&smbus->irq_completion, msecs_to_jif= fies(100)); reg_write(smbus, REG_IMASK, 0); status =3D reg_read(smbus, REG_SMSTA); + + if (ret < 0) { + dev_err(smbus->dev, + "Completion wait failed with %d, status 0x%08x\n", + ret, status); + return ret; + } else if (ret =3D=3D 0) { + dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status); + return -ETIME; + } } else { status =3D reg_read(smbus, REG_SMSTA); while (!(status & SMSTA_XEN) && timeout--) { msleep(1); status =3D reg_read(smbus, REG_SMSTA); } + + if (timeout < 0) { + dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status); + return -ETIME; + } } =20 /* Got NACK? */ if (status & SMSTA_MTN) return -ENXIO; =20 - if (timeout < 0) { - dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status); - reg_write(smbus, REG_SMSTA, status); - return -ETIME; - } - /* Clear XEN */ reg_write(smbus, REG_SMSTA, SMSTA_XEN); =20 --=20 2.34.1 From nobody Fri Dec 19 19:00:45 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CF3312973A2; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; cv=none; b=F1inNoF/DPXBKqVxeILZIJCLFnxvWm3WUs2APGFK434d12hzJqMGCFiJ5tHDhGGCVWmexgN7h2RZpK2D0upUT4zdTcUWxHPiRDqn/wU1kW7SvdC87qLMrXdMJCZ6KKNgSZHsoDtiqdr0dn3XMhjt9OYXBCt58utSmv6kvFGZlqs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731437; c=relaxed/simple; bh=iLhQrLWil25q6mOdTJw9OuNJ8sG/2mmYC9fMfHYOxvM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WrxWDVg6ap0A6NMymJhM2hOQ7kNRngkHSCagZOmT10RfxMYqnWABeqGSicaEvcRnadUUk808Pqbi73yo4uDKW5SfHt6N7QiybcBhRpiJ6E/LT71QpAYhP2gZr9fSLpTSICGUz+zLqauy/UfaZ2LLM41IlzXEUE2s2VK1VEboJkM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lvE2uZVv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lvE2uZVv" Received: by smtp.kernel.org (Postfix) with ESMTPS id 6C5C7C4CEF3; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744731437; bh=iLhQrLWil25q6mOdTJw9OuNJ8sG/2mmYC9fMfHYOxvM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=lvE2uZVvO+1OD/IRYzyhzUtgUpbpJg0fN00+skg3iFQYSsoO1hnnBwuvnWxyvWWcD uZzh5YFc+a4ZFo/wpYHH+IFhPI2w9udSmKPvfYpJpnzzXSvYCK6sYeKCtmmx5VVxmJ e/Qi19A4DARCrGoXYkg6ZTikbNZBiFF2If2Su57/RgiKAK+xLh1T4J+ZRdxKTUpVOi T9KXwbvsj4XSJbr7q40Mjfsixs2/qyqL2gAojajM7Tk+4NScuVzyhrBjTqVNaJ9RuY 3OBe5Eme/wDmy0rCyDBWHaPDlxdPNV+zrNN9CIPlk+ykMKnP0TURN1xFlm7YCiQ7t9 B7WpOUrEOI23Q== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C1DDC369AB; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) From: Sven Peter via B4 Relay Date: Tue, 15 Apr 2025 15:36:58 +0000 Subject: [PATCH v2 4/6] i2c: pasemi: Improve error recovery Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-pasemi-fixes-v2-4-c543bf53151a@svenpeter.dev> References: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> In-Reply-To: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> To: Janne Grunau , Alyssa Rosenzweig , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Andi Shyti , Neal Gompa , Hector Martin Cc: linuxppc-dev@lists.ozlabs.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Sven Peter X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4795; i=sven@svenpeter.dev; h=from:subject:message-id; bh=UdXQ8SUtLivYr558egJosJKmHk91VYvtGnZh/V57dEs=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/q/Wo13a1P715ycGSTHyJd7p1dg2YusT38uru8S/HfoW 4udw9lfHaUsDGIcDLJiiizb99ubPnn4RnDppkvvYeawMoEMYeDiFICJ+NYz/HdNckyT5XKt4GsS MeSS/31mp7N65u8gs9C8i406n1JjOBn+cDUKp69mDp+WPaHu2f6rqzh4Tj052h0e43FXwmtpzT9 dbgA= X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter Reply-To: sven@svenpeter.dev From: Hector Martin The hardware (supposedly) has a 25ms timeout for clock stretching and the driver uses 100ms which should be plenty. The error reocvery itself is however lacking. Add handling for all the missing error condition, and better recovery in pasemi_smb_clear(). Also move the timeout to a #define since it's used in multiple places now. Signed-off-by: Hector Martin [sven: adjusted commit message after splitting the commit into two] Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig Reviewed-by: Neal Gompa --- drivers/i2c/busses/i2c-pasemi-core.c | 75 +++++++++++++++++++++++++++++++-= ---- 1 file changed, 65 insertions(+), 10 deletions(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-= pasemi-core.c index 9b611dbdfef23e78a4ea75ac0311938d52b6ba96..2f31f039bedfd7f78d6572fe925= 125b1a6d0724b 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -52,6 +53,12 @@ #define CTL_UJM BIT(8) #define CTL_CLK_M GENMASK(7, 0) =20 +/* + * The hardware (supposedly) has a 25ms timeout for clock stretching, thus + * use 100ms here which should be plenty. + */ +#define TRANSFER_TIMEOUT_MS 100 + static inline void reg_write(struct pasemi_smbus *smbus, int reg, int val) { dev_dbg(smbus->dev, "smbus write reg %x val %08x\n", reg, val); @@ -80,24 +87,44 @@ static void pasemi_reset(struct pasemi_smbus *smbus) reinit_completion(&smbus->irq_completion); } =20 -static void pasemi_smb_clear(struct pasemi_smbus *smbus) +static int pasemi_smb_clear(struct pasemi_smbus *smbus) { unsigned int status; + int ret; =20 - status =3D reg_read(smbus, REG_SMSTA); + /* First wait for the bus to go idle */ + ret =3D readx_poll_timeout(ioread32, smbus->ioaddr + REG_SMSTA, + status, !(status & (SMSTA_XIP | SMSTA_JAM)), + USEC_PER_MSEC, USEC_PER_MSEC * TRANSFER_TIMEOUT_MS); + + if (ret < 0) { + dev_err(smbus->dev, "Bus is still stuck (status 0x%08x)\n", status); + return -EIO; + } + + /* If any badness happened or there is data in the FIFOs, reset the FIFOs= */ + if ((status & (SMSTA_MRNE | SMSTA_JMD | SMSTA_MTO | SMSTA_TOM | SMSTA_MTN= | SMSTA_MTA)) || + !(status & SMSTA_MTE)) + pasemi_reset(smbus); + + /* Clear the flags */ reg_write(smbus, REG_SMSTA, status); + + return 0; } =20 static int pasemi_smb_waitready(struct pasemi_smbus *smbus) { - int timeout =3D 100; + int timeout =3D TRANSFER_TIMEOUT_MS; int ret; unsigned int status; =20 if (smbus->use_irq) { reinit_completion(&smbus->irq_completion); - reg_write(smbus, REG_IMASK, SMSTA_XEN | SMSTA_MTN); - ret =3D wait_for_completion_timeout(&smbus->irq_completion, msecs_to_jif= fies(100)); + /* XEN should be set when a transaction terminates, whether due to error= or not */ + reg_write(smbus, REG_IMASK, SMSTA_XEN); + ret =3D wait_for_completion_timeout(&smbus->irq_completion, + msecs_to_jiffies(timeout)); reg_write(smbus, REG_IMASK, 0); status =3D reg_read(smbus, REG_SMSTA); =20 @@ -123,9 +150,35 @@ static int pasemi_smb_waitready(struct pasemi_smbus *s= mbus) } } =20 + /* Controller timeout? */ + if (status & SMSTA_TOM) { + dev_warn(smbus->dev, "Controller timeout, status 0x%08x\n", status); + return -EIO; + } + + /* Peripheral timeout? */ + if (status & SMSTA_MTO) { + dev_warn(smbus->dev, "Peripheral timeout, status 0x%08x\n", status); + return -ETIME; + } + + /* Still stuck in a transaction? */ + if (status & SMSTA_XIP) { + dev_warn(smbus->dev, "Bus stuck, status 0x%08x\n", status); + return -EIO; + } + + /* Arbitration loss? */ + if (status & SMSTA_MTA) { + dev_warn(smbus->dev, "Arbitration loss, status 0x%08x\n", status); + return -EBUSY; + } + /* Got NACK? */ - if (status & SMSTA_MTN) + if (status & SMSTA_MTN) { + dev_warn(smbus->dev, "NACK, status 0x%08x\n", status); return -ENXIO; + } =20 /* Clear XEN */ reg_write(smbus, REG_SMSTA, SMSTA_XEN); @@ -187,9 +240,9 @@ static int pasemi_i2c_xfer(struct i2c_adapter *adapter, struct pasemi_smbus *smbus =3D adapter->algo_data; int ret, i; =20 - pasemi_smb_clear(smbus); - - ret =3D 0; + ret =3D pasemi_smb_clear(smbus); + if (ret) + return ret; =20 for (i =3D 0; i < num && !ret; i++) ret =3D pasemi_i2c_xfer_msg(adapter, &msgs[i], (i =3D=3D (num - 1))); @@ -210,7 +263,9 @@ static int pasemi_smb_xfer(struct i2c_adapter *adapter, addr <<=3D 1; read_flag =3D read_write =3D=3D I2C_SMBUS_READ; =20 - pasemi_smb_clear(smbus); + err =3D pasemi_smb_clear(smbus); + if (err) + return err; =20 switch (size) { case I2C_SMBUS_QUICK: --=20 2.34.1 From nobody Fri Dec 19 19:00:45 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 EF48E29B790; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731438; cv=none; b=PTX03RRSCEkcdZG0RTw53lq+S9K+l/3oGXZ5k42gtcwNvKtu5tAHTHwsHSVqQlROkw/83nRmiwpc5AO2YaZ8QmPrIUUyWj5/tFHwCeebMdz++m5spvmhgGA6KV0e8E7Flrmt5dsqlMdHBKL0a9GkQM1ypV3tgGJa568qMuwaHP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731438; c=relaxed/simple; bh=NZgmwCPRLWI3kpiACRhVK8RgHlS1bLhmnT/HYgkFGdk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fQDw5tkzSbfmh9CLj16CBxmvexuTmo0bhQphU0zFqZwerP/VG/ET72RIhpc68g+5pACGAqfT8uHMFRoxO/FajBv+lz3JuGu1YFsrMBEQtDegpc508HbKpGaN0WkyDYyrIGYIOnKhquDzDHAfBXLf5uiTqGy37LlGBbdF4mXCiyM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TSKpof01; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TSKpof01" Received: by smtp.kernel.org (Postfix) with ESMTPS id 7DA19C4CEF6; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744731437; bh=NZgmwCPRLWI3kpiACRhVK8RgHlS1bLhmnT/HYgkFGdk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=TSKpof01gBcDIqp1QhNNuavMJvKiQDekMhNXaX1zqpSboLdMZt2sYK64S6kK0yoTR LTpr9IzVoTwInti3CLtqjFiBpJkfUGK8MhvbOt0AbXjUMvLTuAjrHJg0vPyQ/KX+7k cukVgT0d2r99Tro+Av5nrtkIWP7a8irZ06tj6nDyHxm2cx+QO8g4ZdpaRCoK8Br/nv Utq0cRG96+rjcwCiEa2j/KTBEzkc4dkkwPSPCDwMQpY/E/pUJkltn6+ceJlhBZW1F4 rfDqV0kct4pAWX6u+H4Dr08bpjttADS/WZY7LGZynCuFhZTkG3sBicTH2id5NbxwqT n9vXb2FCIxmJg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6DB67C369BD; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) From: Sven Peter via B4 Relay Date: Tue, 15 Apr 2025 15:36:59 +0000 Subject: [PATCH v2 5/6] i2c: pasemi: Enable the unjam machine Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-pasemi-fixes-v2-5-c543bf53151a@svenpeter.dev> References: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> In-Reply-To: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> To: Janne Grunau , Alyssa Rosenzweig , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Andi Shyti , Neal Gompa , Hector Martin Cc: linuxppc-dev@lists.ozlabs.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Sven Peter X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1300; i=sven@svenpeter.dev; h=from:subject:message-id; bh=avtSs0p55pNQJTNl3swTi6LwCmUmFUOOKuZ3dOr9VMk=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/q/Ws2ndfPmtB3bbO2jqvDW5Ev4LGcDy+r+knvZS59Pe X71jezqjlIWBjEOBlkxRZbt++1Nnzx8I7h006X3MHNYmUCGMHBxCsBEbHkZGU6nTbw1R/BPS4jk jcyrs3Uk5026L3Qj8fylVBc5TZurXrMYGd5u+bD78K+fK15NMFWyPLghsbbqqc4xs/jri+yaTOL 5uXgB X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter Reply-To: sven@svenpeter.dev From: Hector Martin The I2C bus can get stuck under some conditions (desync between controller and device). The pasemi controllers include an unjam feature that is enabled on reset, but was being disabled by the driver. Keep it enabled by explicitly setting the UJM bit in the CTL register. This should help recover the bus from certain conditions, which would otherwise remain stuck forever. Signed-off-by: Hector Martin Reviewed-by: Neal Gompa Reviewed-by: Alyssa Rosenzweig Signed-off-by: Sven Peter --- drivers/i2c/busses/i2c-pasemi-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-= pasemi-core.c index 2f31f039bedfd7f78d6572fe925125b1a6d0724b..41db38d82fe62c73614b8fafe4c= b73c7d1a24762 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -78,7 +78,7 @@ static inline int reg_read(struct pasemi_smbus *smbus, in= t reg) =20 static void pasemi_reset(struct pasemi_smbus *smbus) { - u32 val =3D (CTL_MTR | CTL_MRR | (smbus->clk_div & CTL_CLK_M)); + u32 val =3D (CTL_MTR | CTL_MRR | CTL_UJM | (smbus->clk_div & CTL_CLK_M)); =20 if (smbus->hw_rev >=3D 6) val |=3D CTL_EN; --=20 2.34.1 From nobody Fri Dec 19 19:00:45 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 ED62929B78E; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731438; cv=none; b=BAevm+kiHn5ugYgMeq27MnOffNZjxmcjb3cZWpTLSlRg35NpzjugzY/iMcwC0MuRPAb8P3pS3C+ZQE+DQ3KP1lSsx09/U0aLysD5DG21yj9Ic2zr0wgAEyd6wPEJGUs8URM5A3yMLVnIP+i/rPeEQ3IwLBo6jwFqEIpPnhbt3IM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744731438; c=relaxed/simple; bh=BXUeJzaOPu6wdBqkrzRH/yMdh5em9BF7TrNPfXAEkdo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gChEOZkETjNkFk0fFHXzak4GPJkXBLIBCrBDWzAnQvJ9IgAI7xBNJYXqR22qFUo3BBVqMHmh/P5imjw8nvqbsKVlRQA8W/OyW5a9BJvnghizCR0KvoNV4YA7rZQswWj5hAIRxJ3EAy2TYnjNqrbLlqcbMCX99U0UncyllQt/204= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JzJSNSwW; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JzJSNSwW" Received: by smtp.kernel.org (Postfix) with ESMTPS id 89651C4CEF5; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744731437; bh=BXUeJzaOPu6wdBqkrzRH/yMdh5em9BF7TrNPfXAEkdo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=JzJSNSwW1P5Il90YgnnI/8kNQAi/MxhGxCnW4IJvmxBzldDz2BxVdp6eFk/VfZkoN 0VCZSNOPkpx9267K5Qm/v+ydkhNxlP02vtdxLC/T9tOMbqnbjF7O7LvZVoFM5kssWR gSxDIEVZrhrQqBl0Fdo0nKvGFwIgFS4DkuhIEvPa2jpLoG6I/dIgYQjiK/8PWHEP0q txdISMHQyZ2PK42lt3c3jKdAWRupthIZPbEvlZLQLqbXHL5TnunV6oBqhQO+Ro1pfR 7BskaEU0gQHEzcd+qjBJLZlC2/c9V4LdbH8lfVHfFfM5JcND2y9uRoOEl5wnNI8SJt vjMEveyFIGojg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EA63C369BA; Tue, 15 Apr 2025 15:37:17 +0000 (UTC) From: Sven Peter via B4 Relay Date: Tue, 15 Apr 2025 15:37:00 +0000 Subject: [PATCH v2 6/6] i2c: pasemi: Log bus reset causes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-pasemi-fixes-v2-6-c543bf53151a@svenpeter.dev> References: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> In-Reply-To: <20250415-pasemi-fixes-v2-0-c543bf53151a@svenpeter.dev> To: Janne Grunau , Alyssa Rosenzweig , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Andi Shyti , Neal Gompa , Hector Martin Cc: linuxppc-dev@lists.ozlabs.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Sven Peter X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1542; i=sven@svenpeter.dev; h=from:subject:message-id; bh=VA1WhVX4Izvudq5u7eRf2fGXelyMPNY/3NDm2fN5raU=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/q/Wq19l7xza3jP7jSI+u++w+7L/V2srnF6Fyb/Wj4xQ Wxp+pKOjlIWBjEOBlkxRZbt++1Nnzx8I7h006X3MHNYmUCGMHBxCsBEtjEzMtx+KuJdcOrOkUlJ rxm8+9rvPi4Wl21gUd+fq73jnISu6A5GhlebAySynZqu/S4pmjq5XUPuoEygj/TT0tth2o+mXug S5AcA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter Reply-To: sven@svenpeter.dev From: Hector Martin This ensures we get all information we need to debug issues when users forward us their logs. Signed-off-by: Hector Martin Reviewed-by: Neal Gompa Reviewed-by: Alyssa Rosenzweig Signed-off-by: Sven Peter --- drivers/i2c/busses/i2c-pasemi-core.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-= pasemi-core.c index 41db38d82fe62c73614b8fafe4cb73c7d1a24762..e5e8a748638f02e48d6ffa65e49= aff5b12f70e06 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -22,6 +22,7 @@ /* Register offsets */ #define REG_MTXFIFO 0x00 #define REG_MRXFIFO 0x04 +#define REG_XFSTA 0x0c #define REG_SMSTA 0x14 #define REG_IMASK 0x18 #define REG_CTL 0x1c @@ -89,7 +90,7 @@ static void pasemi_reset(struct pasemi_smbus *smbus) =20 static int pasemi_smb_clear(struct pasemi_smbus *smbus) { - unsigned int status; + unsigned int status, xfstatus; int ret; =20 /* First wait for the bus to go idle */ @@ -98,7 +99,9 @@ static int pasemi_smb_clear(struct pasemi_smbus *smbus) USEC_PER_MSEC, USEC_PER_MSEC * TRANSFER_TIMEOUT_MS); =20 if (ret < 0) { - dev_err(smbus->dev, "Bus is still stuck (status 0x%08x)\n", status); + xfstatus =3D reg_read(smbus, REG_XFSTA); + dev_err(smbus->dev, "Bus is still stuck (status 0x%08x xfstatus 0x%08x)\= n", + status, xfstatus); return -EIO; } =20 --=20 2.34.1