Linux Hardware Monitor development
 help / color / mirror / Atom feed
From: Akshay Gupta <akshay.gupta@amd.com>
To: <linux-hwmon@vger.kernel.org>, <inux-kernel@vger.kernel.org>
Cc: <linux@roeck-us.net>, <gregkh@linuxfoundation.org>,
	<arnd@arndb.de>, <naveenkrishna.chatradhi@amd.com>,
	Akshay Gupta <akshay.gupta@amd.com>
Subject: [PATCH v4 3/9] misc: amd-sbi: Optimize the wait condition for mailbox command completion
Date: Thu, 12 Sep 2024 07:08:04 +0000	[thread overview]
Message-ID: <20240912070810.1644621-4-akshay.gupta@amd.com> (raw)
In-Reply-To: <20240912070810.1644621-1-akshay.gupta@amd.com>

- optimize the wait condition to indicate command completion
  by replacing the do while loop with regmap subsystem API
  regmap_read_poll_timeout()

Signed-off-by: Akshay Gupta <akshay.gupta@amd.com>
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
---
Changes since v3:
- New patch as per suggestion from Arnd

 drivers/misc/amd-sbi/rmi-core.c | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/drivers/misc/amd-sbi/rmi-core.c b/drivers/misc/amd-sbi/rmi-core.c
index 5a0b7912cc4e..57f2915ac8d5 100644
--- a/drivers/misc/amd-sbi/rmi-core.c
+++ b/drivers/misc/amd-sbi/rmi-core.c
@@ -25,7 +25,7 @@ int rmi_mailbox_xfer(struct sbrmi_data *data,
 		     struct sbrmi_mailbox_msg *msg)
 {
 	unsigned int bytes;
-	int i, ret, retry = 10;
+	int i, ret;
 	int sw_status;
 	u8 byte;
 
@@ -66,21 +66,10 @@ int rmi_mailbox_xfer(struct sbrmi_data *data,
 	 * an ALERT (if enabled) to initiator (BMC) to indicate completion
 	 * of the requested command
 	 */
-	do {
-		ret = regmap_read(data->regmap, SBRMI_STATUS, &sw_status);
-		if (sw_status < 0) {
-			ret = sw_status;
-			goto exit_unlock;
-		}
-		if (sw_status & SW_ALERT_MASK)
-			break;
-		usleep_range(50, 100);
-	} while (retry--);
-
-	if (retry < 0) {
-		ret = -EIO;
+	ret = regmap_read_poll_timeout(data->regmap, SBRMI_STATUS, sw_status,
+				       sw_status & SW_ALERT_MASK, 500, 2000000);
+	if (ret)
 		goto exit_unlock;
-	}
 
 	/*
 	 * For a read operation, the initiator (BMC) reads the firmware
-- 
2.25.1


  parent reply	other threads:[~2024-09-12  7:08 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-12  7:08 [PATCH v4 0/9] misc: Add AMD side band interface(SBI) functionality Akshay Gupta
2024-09-12  7:08 ` [PATCH v4 1/9] hwmon/misc: amd-sbi: Move core sbrmi from hwmon to misc Akshay Gupta
2024-09-12  7:08 ` [PATCH v4 2/9] misc: amd-sbi: Use regmap subsystem Akshay Gupta
2024-09-12  7:08 ` Akshay Gupta [this message]
2024-09-12  7:08 ` [PATCH v4 4/9] misc: amd-sbi: Add support for AMD_SBI IOCTL Akshay Gupta
2024-10-13 15:18   ` Greg KH
2024-10-14 11:26     ` Gupta, Akshay
2024-10-13 15:22   ` Greg KH
2024-10-15  9:04     ` Gupta, Akshay
2024-09-12  7:08 ` [PATCH v4 5/9] misc: amd-sbi: Add support for mailbox error codes Akshay Gupta
2024-10-13 15:19   ` Greg KH
2024-10-15  9:12     ` Gupta, Akshay
2024-10-15 10:04       ` Greg KH
2024-10-18  9:23         ` Gupta, Akshay
2024-10-18  9:35           ` Greg KH
2024-10-21 16:07             ` Gupta, Akshay
2024-09-12  7:08 ` [PATCH v4 6/9] misc: amd-sbi: Add support for CPUID protocol Akshay Gupta
2024-09-12  7:08 ` [PATCH v4 7/9] misc: amd-sbi: Add support for MCA register protocol Akshay Gupta
2024-09-12  7:08 ` [PATCH v4 8/9] misc: amd-sbi: Add supoort for register xfer Akshay Gupta
2024-09-12  7:08 ` [PATCH v4 9/9] misc: amd-sbi: Add document for AMD SB IOCTL description Akshay Gupta
2024-09-20  6:45 ` [PATCH v4 0/9] misc: Add AMD side band interface(SBI) functionality Gupta, Akshay
2024-09-21  9:01   ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240912070810.1644621-4-akshay.gupta@amd.com \
    --to=akshay.gupta@amd.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=inux-kernel@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=naveenkrishna.chatradhi@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox