From: Henrik Rydberg <[email protected]>

commit a332bf9a65ab34b01226ed177f6937af843c8465 upstream.

The 2012 series of MacBooks have a faster SMC, and the current driver
timings do not work at all. Tests show that decreasing the minimum
wait time, from 64 us to 16 us, works well. Since this is still larger
than the original minimum of 10 us used before 2008, there is nothing
inherently problematic with changing it. The fail frequency on older
machines seems to increase slightly, but not enough to be noticeable.

Tested on MBA11, MBA31, MBA5,2, MBP9,2.

The patch was originally written by adamski99 (ubuntuforums.org) and
later tested by janhouse (bbs.archlinux.org).

Signed-off-by: Henrik Rydberg <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
---

This should apply cleanly at least as far back as 3.0 as-is, and all the
way back to 2.6.32 with minor conflicts in the context.

This gets the driver working with newer Macbooks, so it seems worthwhile
for stable. I suppose this is arguable though, since the commit message
does note a slight (but not noticeable) increase in the fail frequency
on older hardware.

Thanks,
Seth

 drivers/hwmon/applesmc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 2cde9ec..745bd41 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -54,7 +54,7 @@
 #define APPLESMC_MAX_DATA_LENGTH 32
 
 /* wait up to 32 ms for a status change. */
-#define APPLESMC_MIN_WAIT      0x0040
+#define APPLESMC_MIN_WAIT      0x0010
 #define APPLESMC_MAX_WAIT      0x8000
 
 #define APPLESMC_STATUS_MASK   0x0f
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to