From: Roel Kluin <12o3l@tiscali.nl>
To: Roland Dreier <rdreier@cisco.com>
Cc: len.brown@intel.com, ibm-acpi@hmh.eng.br,
ibm-acpi-devel@lists.sourceforge.net, linux-acpi@vger.kernel.org,
lkml <linux-kernel@vger.kernel.org>
Subject: [PATCH][drivers/misc/thinkpad_acpi.c] duplicate test if (level & TP_EC_FAN_FULLSPEED)
Date: Tue, 05 Feb 2008 00:24:56 +0100 [thread overview]
Message-ID: <47A79EC8.6060700@tiscali.nl> (raw)
In-Reply-To: <ada8x20gykq.fsf@cisco.com>
Roland Dreier wrote:
> > /* safety net should the EC not support AUTO
> > * or FULLSPEED mode bits and just ignore them */
> > if (level & TP_EC_FAN_FULLSPEED)
> > level |= 7; /* safety min speed 7 */
> > else if (level & TP_EC_FAN_FULLSPEED)
> > level |= 4; /* safety min speed 4 */
> >
> > Note the duplicate test 'if (level & TP_EC_FAN_FULLSPEED)'. should
> > this be replaced by
>
> Actually I suspect one of the two tests should be against TP_EC_FAN_AUTO
> (based on the comment).
>
Thanks Roland, for your info
based on the comments in commit eaa7571b2d1a08873e4bdd8e6db3431df61cd9ad,
I think this should be modified like below:
ACPI: thinkpad-acpi: add a safety net for TPEC fan control mode
The Linux ThinkPad community is not positive that all ThinkPads that do
HFSP EC fan control do implement full-speed and auto modes, some of the
earlier ones supporting HFSP might not.
If the EC ignores the AUTO or FULL-SPEED bits, it will pay attention to the
lower three bits that set the fan level. And as thinkpad-acpi was leaving
these set to zero, it would stop(!) the fan, which is Not A Good Thing.
So, as a safety net, we now make sure to also set the fan level part of the
HFSP register to speed 7 for full-speed, and a minimum of speed 4 for auto
mode.
--
second TP_EC_FAN_FULLSPEED should be P_EC_FAN_AUTO
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
---
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c
index cf56647..3c323fe 100644
--- a/drivers/misc/thinkpad_acpi.c
+++ b/drivers/misc/thinkpad_acpi.c
@@ -4138,7 +4138,7 @@ static int fan_set_level(int level)
* or FULLSPEED mode bits and just ignore them */
if (level & TP_EC_FAN_FULLSPEED)
level |= 7; /* safety min speed 7 */
- else if (level & TP_EC_FAN_FULLSPEED)
+ else if (level & TP_EC_FAN_AUTO)
level |= 4; /* safety min speed 4 */
if (!acpi_ec_write(fan_status_offset, level))
next prev parent reply other threads:[~2008-02-04 23:25 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-04 22:07 [drivers/misc/thinkpad_acpi.c] duplicate test if (level & TP_EC_FAN_FULLSPEED) Roel Kluin
2008-02-04 22:13 ` Roland Dreier
2008-02-04 23:24 ` Roel Kluin [this message]
2008-02-05 5:05 ` [PATCH][drivers/misc/thinkpad_acpi.c] " Henrique de Moraes Holschuh
2008-02-05 8:34 ` Roel Kluin
2008-02-06 23:07 ` Greg KH
2008-02-06 23:48 ` Roel Kluin
2008-02-07 1:18 ` Henrique de Moraes Holschuh
2008-02-07 7:28 ` [stable] " Greg KH
2008-02-07 5:55 ` Greg KH
2008-02-07 6:17 ` Len Brown
-- strict thread matches above, loose matches on Subject: below --
2008-02-04 21:59 [PATCH][drivers/misc/thinkpad_acpi.c] duplicate test 'if (level & TP_EC_FAN_FULLSPEED)' Roel kluin
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=47A79EC8.6060700@tiscali.nl \
--to=12o3l@tiscali.nl \
--cc=ibm-acpi-devel@lists.sourceforge.net \
--cc=ibm-acpi@hmh.eng.br \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rdreier@cisco.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