mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 3/5] hwmon: applesmc: Prolong status wait
@ 2008-09-17 22:23 Henrik Rydberg
  0 siblings, 0 replies; only message in thread
From: Henrik Rydberg @ 2008-09-17 22:23 UTC (permalink / raw)
  To: Nicolas Boichat, lm-sensors; +Cc: linux-kernel

The time to wait for a status change while reading or writing to the
SMC ports is a balance between read reliability and system
performance. The current setting yields rougly three errors in a
thousand when simultaneously reading three different temperature
values on a Macbook Air. This patch increases the setting to a value
yielding roughly one error in ten thousand, with no noticable system
performance degradation.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
---
 drivers/hwmon/applesmc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index b06b8e0..091338c 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -163,7 +163,7 @@ static unsigned int key_at_index;
 static struct workqueue_struct *applesmc_led_wq;

 /*
- * __wait_status - Wait up to 2ms for the status port to get a certain value
+ * __wait_status - Wait up to 10ms for the status port to get a certain value
  * (masked with 0x0f), returning zero if the value is obtained.  Callers must
  * hold applesmc_lock.
  */
@@ -173,7 +173,7 @@ static int __wait_status(u8 val)

 	val = val & APPLESMC_STATUS_MASK;

-	for (i = 0; i < 200; i++) {
+	for (i = 0; i < 1000; i++) {
 		if ((inb(APPLESMC_CMD_PORT) & APPLESMC_STATUS_MASK) == val) {
 			if (debug)
 				printk(KERN_DEBUG
-- 
1.5.4.3


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-09-17 22:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-17 22:23 [PATCH 3/5] hwmon: applesmc: Prolong status wait Henrik Rydberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®