[<prev] [next>] [day] [month] [year] [list]
Message-ID: <48D1836D.9060106@euromail.se>
Date: Thu, 18 Sep 2008 00:23:41 +0200
From: Henrik Rydberg <rydberg@...omail.se>
To: Nicolas Boichat <nicolas@...chat.ch>, lm-sensors@...sensors.org
CC: linux-kernel@...r.kernel.org
Subject: [PATCH 3/5] hwmon: applesmc: Prolong status wait
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@...omail.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists