2022-05-02 23:34:52

by Thomas Weißschuh

[permalink] [raw]
Subject: Re: [External] [PATCH 1/2] platform/x86: thinkpad_acpi: Restore X1 Carbon 9th Gen dual fan quirk

Hi Mark,

On 2022-04-29 21:25-0400, Mark Pearson wrote:
> Hi Lyude
>
> On 4/29/22 17:14, Lyude Paul wrote:
> > The new method of probing dual fan support introduced in:
> >
> > bf779aaf56ea ("platform/x86: thinkpad_acpi: Add dual fan probe")
> >
> > While this commit says this works on the X1 Carbon 9th Gen, it actually
> > just results in hiding the second fan on my local machine. Additionally,
> > I'm fairly sure this machine powers on quite often without either of the
> > two fans spinning.
> >
> > So let's fix this by adding back the dual fan quirk for the X1 Carbon 9th
> > Gen.
> >
> [..]
>
> I just double checked this on my X1C9 - and it's working correctly. 2nd
> fan is detected correctly.
>
> I'd rather understand why it's not working on your setup then just
> re-introduce the quirk.
>
> What happens on your system when the
> res = fan2_get_speed(&speed);
> is called? If that is failing it means your 2nd fan isn't responding and
> that's not supposed to happen. Could you let me know if you get an error
> code, if it happens every boot, etc
> I assume when the function is called later it works successfully?

I have the same issue.

To me it looks like this:

Probing for the second fan calls fan2_get_speed(), this calls
fan_select_fan2() which in turn checks that tp_features.second_fan is set.
But at this point in the tp_features.second_fan can not yet be set because it
is either set from quirks or *after* the probing.

Maybe some of the matches for the quirk TPACPI_FAN_2FAN should also have
matched this device?
It doesn't do so on my device.

> Also please confirm which BIOS and EC version you have.

Linux: 5.17.5
BIOS Revision: 1.51
Firmware Revision: 1.32

Thomas


2022-05-03 00:28:32

by Mark Pearson

[permalink] [raw]
Subject: Re: [External] [PATCH 1/2] platform/x86: thinkpad_acpi: Restore X1 Carbon 9th Gen dual fan quirk



On 4/30/22 08:13, Thomas Weißschuh wrote:
> Hi Mark,
>
> On 2022-04-29 21:25-0400, Mark Pearson wrote:
>> Hi Lyude
>>
>> On 4/29/22 17:14, Lyude Paul wrote:
>>> The new method of probing dual fan support introduced in:
>>>
>>> bf779aaf56ea ("platform/x86: thinkpad_acpi: Add dual fan probe")
>>>
>>> While this commit says this works on the X1 Carbon 9th Gen, it actually
>>> just results in hiding the second fan on my local machine. Additionally,
>>> I'm fairly sure this machine powers on quite often without either of the
>>> two fans spinning.
>>>
>>> So let's fix this by adding back the dual fan quirk for the X1 Carbon 9th
>>> Gen.
>>>
>> [..]
>>
>> I just double checked this on my X1C9 - and it's working correctly. 2nd
>> fan is detected correctly.
>>
>> I'd rather understand why it's not working on your setup then just
>> re-introduce the quirk.
>>
>> What happens on your system when the
>> res = fan2_get_speed(&speed);
>> is called? If that is failing it means your 2nd fan isn't responding and
>> that's not supposed to happen. Could you let me know if you get an error
>> code, if it happens every boot, etc
>> I assume when the function is called later it works successfully?
>
> I have the same issue.
>
> To me it looks like this:
>
> Probing for the second fan calls fan2_get_speed(), this calls
> fan_select_fan2() which in turn checks that tp_features.second_fan is set.
> But at this point in the tp_features.second_fan can not yet be set because it
> is either set from quirks or *after* the probing.
>
> Maybe some of the matches for the quirk TPACPI_FAN_2FAN should also have
> matched this device?
> It doesn't do so on my device.
>
>> Also please confirm which BIOS and EC version you have.
>
> Linux: 5.17.5
> BIOS Revision: 1.51
> Firmware Revision: 1.32
>
Thanks Thomas,
I'll go do some more digging on my system and see what I've missed.
Mark