Re: [PATCH v4] i8k: Autodetect maximal fan speed and fan RPM multiplier

Guenter Roeck
2014-12-23T13:52:30Z

On Mon, Dec 22, 2014 at 04:07:34PM +0100, Pali Rohár wrote:
> On Sunday 21 December 2014 20:51:14 Guenter Roeck wrote:
> > On 12/21/2014 09:23 AM, Pali Rohár wrote:
> > > This patch adds new function i8k_get_fan_nominal_speed() for
> > > doing SMM call which will return nominal fan RPM for
> > > specified fan speed. It returns nominal RPM value at which
> > > fan operate when speed (0, 1, 2, 3) is set. It looks like
> > > RPM value is not accurate, but still provides very useful
> > > information.
> > >
> > > First it can be used to validate if certain fan speed could
> > > be accepted by SMM for setting fan speed and we can use
> > > this routine to detect maximal fan speed.
> > >
> > > Second it returns RPM value, so we can check if value looks
> > > correct with multiplier 30 or multiplier 1 (until now only
> > > these two multiplier were used). If RPM value with
> > > multiplier 30 is too high, then multiplier 1 is used.
> > >
> > > In case when SMM reports that new function is not supported
> > > we will fallback to old hardcoded values. Maximal fan speed
> > > would be 2 and RPM multiplier 30.
> > >
> > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > Tested-by: Pali Rohár <pali.rohar@gmail.com>
> >
> > Auto-detection of both multiplier and maximum speed tested
> > working on M140 (after removing its configuration entry).
> >
> > On Studio 1555, multiplier auto-detection works, but fan_max
> > auto-detection fails. A speed value of '3' is accepted, but
> > it does not set the fan speed to its maximum. Also, after
> > setting the speed value to '3', reading it back returns to
> > old value. No idea what it does or is expected to do. Reading
> > the nominal speed does return a valid value.
> >
> > Given that, I think we should not try to auto-detect fan_max,
> > but keep the current code (meaning either use 2 or 3
> > depending on the configuration data, with 2 as default if
> > nothing else is known).
> >
> > Thanks,
> > Guenter
>
> Ok. In this case I will remove max fan speed detection code and
> we will use config data for those some machines which support
> TURBO speed. If multiplier detection on Studio is working fine, I
> can send another patch which remove config data for Studio
> (because default multiplier is 2).
>
> Can you check which nominal value Studio returns for speed 3?
> Maybe it is some special?
>
It was a bit higher than the value returned for speed 2. Nothing special
as far as I could see, only that setting a value of 3 did not modify the
fan speed.

Note that I won't be able to test further in the next two weeks;
I am about 6,000 miles away from my Dell laptops right now.

Guenter