From patchwork Tue Apr 15 15:36:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter X-Patchwork-Id: 14052412 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 17344C369AB for ; Tue, 15 Apr 2025 16:01:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=yPoh999NAR7Z1rztq7zMYun/kBXA9QLmEkjkFBC0iSM=; b=tTBlIbw+mMrYoVFqd17RHT0nuZ R8LqXDDCWcAL3NfWvLsMGa1BTmN22QG3EuVXXqF/UG4PkXwF1qf7cg8appEnyxvvNyL0teMCS6bM/ vQUZqxA2WG1pUyFCrtdAWHvThyDC4pQizAaz9In20UcFp0XpW1DIDH+E2P27tLPvl4cH6sbjxzLVq Kk35Uj6PFVcKxCPaO0Axa7y19uXCYgHA6OghDyxf82VmKDxe9NWeDr9GkZ7mDoOnBumsmLM9isKU3 5XFf/COSBFZwwtoF/KNPBzVBboY7ur3obWaM/Y4RobrYBOlo7eNS21mWVQ340jNOSSdld9qU23oX3 y0do1Trw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4ijF-00000006LQu-3bAb; Tue, 15 Apr 2025 16:01:41 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iLg-00000006Glj-3Xk7 for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 15:37:23 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 92DB75C58AD; Tue, 15 Apr 2025 15:35:00 +0000 (UTC) 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) Date: Tue, 15 Apr 2025 15:36:55 +0000 Subject: [PATCH v2 1/6] i2c: pasemi: Use correct bits.h include MIME-Version: 1.0 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_083720_968233_2A04EFF5 X-CRM114-Status: GOOD ( 10.56 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Sven Peter 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.localdomain/ Fixes: 8b4da3ef9206 ("i2c: pasemi: Add registers bits and switch to BIT()") Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig --- 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..71cc8cfc7c5cbf3924269f6217712d42008c03ff 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 */ -#include +#include #include #include #include From patchwork Tue Apr 15 15:36:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter X-Patchwork-Id: 14052416 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 EBED6C369AB for ; Tue, 15 Apr 2025 16:07:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=864IBWPR/g77N41nse+BQX0aC8cI/YU4haFPAwkPj8Y=; b=OU6ezLJgaFFeQd8HkN7rdxnM0W 8ve9sxNAMvTZPcupRjFQO8o7JX/nRVLTcLTYBck0MwiCbmXIMdGXJM3jb8BK20zHsX1elaAClBg9s d9uRhqYcXhaDhYKVSk15QurMQJsaXlcSLy+lFaOGHbXlUW/jLRDVMyp2Tjoy8Ys414JoNpGZdNF+n nTXOzEx/+XdFiYrTSYkVmYGMr9pLh/OnxqjGVz/GcCYOfV0VVpLvBqPabamnN/ZYSwc/vKA2c/Gez luU2lbYGTXzJuGW8F0LUEZrq2qkziI+IbNQlNbioSM9QWNL1Skrt4EDXTrHkhP8m8qpgt2NNAEJY9 IoKQS6JQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iod-00000006MJj-4BR9; Tue, 15 Apr 2025 16:07:16 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iLg-00000006GlX-2rKl for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 15:37:26 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 6E5A54A28B; Tue, 15 Apr 2025 15:37:16 +0000 (UTC) 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) Date: Tue, 15 Apr 2025 15:36:56 +0000 Subject: [PATCH v2 2/6] i2c: pasemi: Sort includes alphabetically MIME-Version: 1.0 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_083720_764357_11E1AE11 X-CRM114-Status: UNSURE ( 8.58 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Sven Peter From: Sven Peter No functional changes. Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig --- 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..df1b0087dcacb0a3b94196368137d5e20b0e6d7e 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -6,15 +6,15 @@ */ #include +#include +#include +#include +#include #include #include -#include -#include #include -#include -#include #include -#include +#include #include "i2c-pasemi-core.h" diff --git a/drivers/i2c/busses/i2c-pasemi-pci.c b/drivers/i2c/busses/i2c-pasemi-pci.c index 77f90c7436eda2df16afd7f1cac79355fb005bfd..b9ccb54ec77e22bb1b77848c858e2e0cc51db7e3 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 */ +#include +#include +#include +#include #include #include -#include -#include #include -#include -#include #include -#include +#include #include "i2c-pasemi-core.h" From patchwork Tue Apr 15 15:36:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter X-Patchwork-Id: 14052411 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 BE31CC369BA for ; Tue, 15 Apr 2025 16:00: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:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xKmkMPmEcJmaMes/os9PPE/5CFS9MZHaaET8Nf0gww0=; b=Ugkarzrm2VrdO/XsyKUNVZ5JYU z1x+Ia5LZ/ZI+usartSaAviZLsn8otyzOeUg3b0IBhkZKP4foEVLUIHdq8lJBuNfO8a8Xn56mtfFb R4aKfdrWZnwdt+k4Jru3MCBVzRyHELqzusRYVQJNNvK/sbnB4Su8s2kBj5WPktHdx6kWB+MoAAsE0 p25X4TUnMkf8Ma6dGkqnaFIMoZZUvLL7m9Y5qlM49zL0zxXQibnYKvKbOzQhMBz1vXgusSknaA69M UYbBkC05+PYOi1zwLC0jJVrH3oP7qE2orp9hf4Tt6Mky5ve6oidklyem2CWDHD17+ih6b44AmyHi6 R+KLLWDw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4ihS-00000006L6O-46dw; Tue, 15 Apr 2025 15:59:50 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iLg-00000006Gll-3XGi for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 15:37:23 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 81EAB4A2DD; Tue, 15 Apr 2025 15:37:16 +0000 (UTC) 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) Date: Tue, 15 Apr 2025 15:36:57 +0000 Subject: [PATCH v2 3/6] i2c: pasemi: Improve timeout handling MIME-Version: 1.0 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_083720_965462_2E1412BF X-CRM114-Status: GOOD ( 12.99 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Sven Peter 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 --- 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..9b611dbdfef23e78a4ea75ac0311938d52b6ba96 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 = 100; + int ret; unsigned int status; 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 = wait_for_completion_timeout(&smbus->irq_completion, msecs_to_jiffies(100)); reg_write(smbus, REG_IMASK, 0); status = 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 == 0) { + dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status); + return -ETIME; + } } else { status = reg_read(smbus, REG_SMSTA); while (!(status & SMSTA_XEN) && timeout--) { msleep(1); status = reg_read(smbus, REG_SMSTA); } + + if (timeout < 0) { + dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status); + return -ETIME; + } } /* Got NACK? */ if (status & SMSTA_MTN) return -ENXIO; - 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); From patchwork Tue Apr 15 15:36:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter X-Patchwork-Id: 14052410 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 A0C95C369BA for ; Tue, 15 Apr 2025 15:58:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Db0zk3sSf6kKlzWkQxrFtagYPSw30vD09DfDatnmOUg=; b=DSsNuvX2IzE1zuI+lmy2O8/cJI DJ3FCAKFvOIMdzDKY52PRsMqDRHvGzxihqX3q7zWpk5YKxY6cRBrIti+/v6QOWBtHnR3G4BOxWAEo 8wNtk8ziqacbg7dHYI4xqU/k5a+3tWqRiHHBCqwoP1h4+7fBTpRgGXaYVcyBxzYuuBrXXcmLMzWeu XZc72qHi4hMKot6K7YjbUhLkikfYkGezrQrmKyqlaNooubpBRb7ai09Dm1vB9YQun/ppldm8JvyzC zxOIjNhdLHVBfnT97ZQnQUldRNyfEbaDvWiRtAMgMBP8M/OsDcmRyix83fzzbOqlnrDQ49hq4K0kU xd+CmhaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iff-00000006Ko9-0ZmC; Tue, 15 Apr 2025 15:57:59 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iLg-00000006Gln-3XvH for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 15:37:22 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 94FE84A2F9; Tue, 15 Apr 2025 15:37:16 +0000 (UTC) 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) Date: Tue, 15 Apr 2025 15:36:58 +0000 Subject: [PATCH v2 4/6] i2c: pasemi: Improve error recovery MIME-Version: 1.0 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_083720_941045_4C7BF789 X-CRM114-Status: GOOD ( 19.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Sven Peter 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 --- 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..2f31f039bedfd7f78d6572fe925125b1a6d0724b 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) +/* + * 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); } -static void pasemi_smb_clear(struct pasemi_smbus *smbus) +static int pasemi_smb_clear(struct pasemi_smbus *smbus) { unsigned int status; + int ret; - status = reg_read(smbus, REG_SMSTA); + /* First wait for the bus to go idle */ + ret = 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; } static int pasemi_smb_waitready(struct pasemi_smbus *smbus) { - int timeout = 100; + int timeout = TRANSFER_TIMEOUT_MS; int ret; unsigned int status; if (smbus->use_irq) { reinit_completion(&smbus->irq_completion); - reg_write(smbus, REG_IMASK, SMSTA_XEN | SMSTA_MTN); - ret = wait_for_completion_timeout(&smbus->irq_completion, msecs_to_jiffies(100)); + /* XEN should be set when a transaction terminates, whether due to error or not */ + reg_write(smbus, REG_IMASK, SMSTA_XEN); + ret = wait_for_completion_timeout(&smbus->irq_completion, + msecs_to_jiffies(timeout)); reg_write(smbus, REG_IMASK, 0); status = reg_read(smbus, REG_SMSTA); @@ -123,9 +150,35 @@ static int pasemi_smb_waitready(struct pasemi_smbus *smbus) } } + /* 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; + } /* 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 = adapter->algo_data; int ret, i; - pasemi_smb_clear(smbus); - - ret = 0; + ret = pasemi_smb_clear(smbus); + if (ret) + return ret; for (i = 0; i < num && !ret; i++) ret = pasemi_i2c_xfer_msg(adapter, &msgs[i], (i == (num - 1))); @@ -210,7 +263,9 @@ static int pasemi_smb_xfer(struct i2c_adapter *adapter, addr <<= 1; read_flag = read_write == I2C_SMBUS_READ; - pasemi_smb_clear(smbus); + err = pasemi_smb_clear(smbus); + if (err) + return err; switch (size) { case I2C_SMBUS_QUICK: From patchwork Tue Apr 15 15:36:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter X-Patchwork-Id: 14052415 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 967D4C369AB for ; Tue, 15 Apr 2025 16:05:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=aWGrnOqysJizSR01smsSWh2TP1Mi7MZUbGBVnPLFD8I=; b=1np3Y4hISssr31YxBijG5pcR6V r9bXxVONdnchPifywe3O4Cme2kezeZTmPNDMDxPPNzQ+cujUGtofU+6nKXAE6Baqjc0w0c29H7523 /TSGWpJVhhtmfsZZ9URkMOewGVvkAFJ8qISluL/3mwFYFe3gJckD5czLnmoQ+6YRnY2KWEHGxtDic cO9EXL4BECkwaHoaNsNSx6AGf2KEl/Cj+Ffno4piR3fQjf0fbLXfreClyPVI1A1MjP0Uxe63YJou2 siD6GUNWpkSGh0OM3DiPsFS1/joC1ir/weltSin3JxtCQXU9QZJzSlykd3qwf3ssLPwKRK4kGpEwk unkH/24g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4imq-00000006M2f-1B7Z; Tue, 15 Apr 2025 16:05:24 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iLm-00000006GoY-18dp for linux-arm-kernel@bombadil.infradead.org; Tue, 15 Apr 2025 15:37:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Reply-To:Cc:To:In-Reply-To:References: Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Sender:Content-ID:Content-Description; bh=aWGrnOqysJizSR01smsSWh2TP1Mi7MZUbGBVnPLFD8I=; b=cQYeQygKY84EZMwl47zQuXAvo+ XtTpk5qhOoAse+eKXTX3yJydG0g0tFNBJg1bLDaduPKB2+FMATOR8awUbZEMnScNivkipVJ8fQUUH 7zk0q1YEMzeE70WBcZjU8dXyW53kDEegfzi4UetlMWoX6jpzNSRkWNhz9jw1DmqUjvWAvCkoVTtOu Q7LZt+UDMqFtMVdk9kj/HWqmfS7IysbVQy4Uq78iHYznwQo1gE0ZeRglZdNBdwM9s9OsgIEx/qbOv 7tGjHPXfpFaSWr1KpibR6EhFJ3lV31hZL/AHEqEIqzKmWqjKTFMJ+vDxp1APY7zJWzdaU7J+MKZv/ iUeDQOqA==; Received: from sea.source.kernel.org ([172.234.252.31]) by desiato.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u4iLi-00000009uss-3gbx for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 15:37:25 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id A55744A347; Tue, 15 Apr 2025 15:37:16 +0000 (UTC) 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) Date: Tue, 15 Apr 2025 15:36:59 +0000 Subject: [PATCH v2 5/6] i2c: pasemi: Enable the unjam machine MIME-Version: 1.0 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_163723_456334_BBFE2BEA X-CRM114-Status: GOOD ( 11.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Sven Peter 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..41db38d82fe62c73614b8fafe4cb73c7d1a24762 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, int reg) static void pasemi_reset(struct pasemi_smbus *smbus) { - u32 val = (CTL_MTR | CTL_MRR | (smbus->clk_div & CTL_CLK_M)); + u32 val = (CTL_MTR | CTL_MRR | CTL_UJM | (smbus->clk_div & CTL_CLK_M)); if (smbus->hw_rev >= 6) val |= CTL_EN; From patchwork Tue Apr 15 15:37:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter X-Patchwork-Id: 14052414 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 2C195C369AB for ; Tue, 15 Apr 2025 16:03:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SPu7srPL9By2zZEVIfL1Lj4E5YPu0Ndbglz1s4g9Cc4=; b=3NiyAV7AC5I4l9qLiDIYZgpu7t 4KEyPAXESz66lFOoRBwIFeD+frXbHP+bS40AuM1bMdAA5foyUUxCHRyQyDhy5WCxIU7p5mcYitSye veNf54NoJNK0cbtMqW12xCwIk/gRanityL3XPXQ7oQGg35UgddBO4K4biYjv1VE/+JS+DtmDoL0ma 72/ri0kvfoO6wdWYL1efkPoJERxj3EC96IXoWXD8AL6pDt4PFgCkb0J4KczmbDVUbF1/+NieOe9DV kYO63q/cobXm/4Xc4r79TswlPhp1aiD+Uf9Sr4XL1ULz4em0LvITHC5c1cvdRVxTxf6AwkNE6VhiL ZqZ4o6XA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4il3-00000006LnV-2C2U; Tue, 15 Apr 2025 16:03:33 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4iLm-00000006GoX-0yEs for linux-arm-kernel@bombadil.infradead.org; Tue, 15 Apr 2025 15:37:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Reply-To:Cc:To:In-Reply-To:References: Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Sender:Content-ID:Content-Description; bh=SPu7srPL9By2zZEVIfL1Lj4E5YPu0Ndbglz1s4g9Cc4=; b=py8ubwGwvfYqMZ8bg8T/4t8wll kUBsInFlEnWJmA8yUU5d2m3zK0a7dEFX1qT7khpMtNxKo3Wv54LnVfi/svtMuYkxl7Wgu4L04jfM9 lgVASLE3jKEdYm+/Z9QD/enjXEEI3NRmKQELP9ICW0v82kzChGA49wg7hPA30g5MImlYxUR9OymVW LW0/jSqzqHrbx7izewTu7j4UETiN0URvrjbZ33xax0GHzdDSYGdbMF4lYs6dcaJFrDO541XVqIlNh Ve1uNCMuMqjpkVDhlReLodrO74zeXwklUVzhkXCQ/idxMbJD7IrAd2i9K9qRsJe1LG/X3sJ19CMFM /RkN1MLg==; Received: from sea.source.kernel.org ([172.234.252.31]) by desiato.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u4iLi-00000009ust-3MDP for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 15:37:24 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id B4C964A3F6; Tue, 15 Apr 2025 15:37:16 +0000 (UTC) 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) Date: Tue, 15 Apr 2025 15:37:00 +0000 Subject: [PATCH v2 6/6] i2c: pasemi: Log bus reset causes MIME-Version: 1.0 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_163723_336066_D7D9EEE6 X-CRM114-Status: GOOD ( 11.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Sven Peter 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..e5e8a748638f02e48d6ffa65e49aff5b12f70e06 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) static int pasemi_smb_clear(struct pasemi_smbus *smbus) { - unsigned int status; + unsigned int status, xfstatus; int ret; /* 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); if (ret < 0) { - dev_err(smbus->dev, "Bus is still stuck (status 0x%08x)\n", status); + xfstatus = reg_read(smbus, REG_XFSTA); + dev_err(smbus->dev, "Bus is still stuck (status 0x%08x xfstatus 0x%08x)\n", + status, xfstatus); return -EIO; }