platform/x86: thinkpad_acpi: Add more ThinkPads with non-standard reg address for fan

Message ID 20240228150149.4799-1-vishnuocv@gmail.com
State New
Headers
Series platform/x86: thinkpad_acpi: Add more ThinkPads with non-standard reg address for fan |

Commit Message

Vishnu Sankar Feb. 28, 2024, 3:01 p.m. UTC
  Add more ThinkPads with non-standard register addresses to read fan values.

ThinkPads added are L13 Yoga Gen1, X13 Yoga Gen1, L380, L390, 11e Gen5 GL,
11e Gen5 GL-R, 11e Gen5 KL-Y.

Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
---
 drivers/platform/x86/thinkpad_acpi.c | 7 +++++++
 1 file changed, 7 insertions(+)
  

Comments

Hans de Goede Feb. 28, 2024, 4:09 p.m. UTC | #1
Hi,

On 2/28/24 16:01, Vishnu Sankar wrote:
> Add more ThinkPads with non-standard register addresses to read fan values.
> 
> ThinkPads added are L13 Yoga Gen1, X13 Yoga Gen1, L380, L390, 11e Gen5 GL,
> 11e Gen5 GL-R, 11e Gen5 KL-Y.
> 
> Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>

Thanks, I have no objection against this patch:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

But this feels like it will become a game of whack-a-mole.

Mark can you reach out to the ThinkPad firmware team and
figure out if there is some supported way to automatically detect
this ?

Regards,

Hans



> ---
>  drivers/platform/x86/thinkpad_acpi.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index 5ecd9d33250d..23b2abe44a5a 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -8767,6 +8767,13 @@ static const struct tpacpi_quirk fan_quirk_table[] __initconst = {
>  	TPACPI_Q_LNV3('N', '3', '7', TPACPI_FAN_2CTL),  /* T15g (2nd gen) */
>  	TPACPI_Q_LNV3('R', '1', 'F', TPACPI_FAN_NS),	/* L13 Yoga Gen 2 */
>  	TPACPI_Q_LNV3('N', '2', 'U', TPACPI_FAN_NS),	/* X13 Yoga Gen 2*/
> +	TPACPI_Q_LNV3('R', '0', 'R', TPACPI_FAN_NS),	/* L380 */
> +	TPACPI_Q_LNV3('R', '1', '5', TPACPI_FAN_NS),	/* L13 Yoga Gen 1 */
> +	TPACPI_Q_LNV3('R', '1', '0', TPACPI_FAN_NS),	/* L390 */
> +	TPACPI_Q_LNV3('N', '2', 'L', TPACPI_FAN_NS),	/* X13 Yoga Gen 1 */
> +	TPACPI_Q_LNV3('R', '0', 'T', TPACPI_FAN_NS),	/* 11e Gen5 GL */
> +	TPACPI_Q_LNV3('R', '1', 'D', TPACPI_FAN_NS),	/* 11e Gen5 GL-R */
> +	TPACPI_Q_LNV3('R', '0', 'V', TPACPI_FAN_NS),	/* 11e Gen5 KL-Y */
>  	TPACPI_Q_LNV3('N', '1', 'O', TPACPI_FAN_NOFAN),	/* X1 Tablet (2nd gen) */
>  };
>
  
Mark Pearson Feb. 28, 2024, 8:19 p.m. UTC | #2
Hi Hans,

On Wed, Feb 28, 2024, at 11:09 AM, Hans de Goede wrote:
> Hi,
>
> On 2/28/24 16:01, Vishnu Sankar wrote:
>> Add more ThinkPads with non-standard register addresses to read fan values.
>> 
>> ThinkPads added are L13 Yoga Gen1, X13 Yoga Gen1, L380, L390, 11e Gen5 GL,
>> 11e Gen5 GL-R, 11e Gen5 KL-Y.
>> 
>> Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
>
> Thanks, I have no objection against this patch:
>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
>
> But this feels like it will become a game of whack-a-mole.
>
> Mark can you reach out to the ThinkPad firmware team and
> figure out if there is some supported way to automatically detect
> this ?
>
These are all older platforms and we're not expecting to see this on any newer platforms...if it shows up it's because they messed up (there is a spec and they're supposed to follow it).
Vishnu did review with the FW team which platforms had used this implementation, and we believe the list below to be complete.

Vishnu, please correct me if you've heard otherwise.

As a note, I did review this during an internal review, before Vishnu pushed it, so I'll add:

Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>

Mark
  
Vishnu Sankar Feb. 28, 2024, 9:43 p.m. UTC | #3
Hi Hans and Mark,

Thanks for the review.
On Thu, Feb 29, 2024 at 5:19 AM Mark Pearson <mpearson-lenovo@squebb.ca> wrote:
>
> Hi Hans,
>
> On Wed, Feb 28, 2024, at 11:09 AM, Hans de Goede wrote:
> > Hi,
> >
> > On 2/28/24 16:01, Vishnu Sankar wrote:
> >> Add more ThinkPads with non-standard register addresses to read fan values.
> >>
> >> ThinkPads added are L13 Yoga Gen1, X13 Yoga Gen1, L380, L390, 11e Gen5 GL,
> >> 11e Gen5 GL-R, 11e Gen5 KL-Y.
> >>
> >> Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
> >
> > Thanks, I have no objection against this patch:
> >
> > Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> >
> > But this feels like it will become a game of whack-a-mole.
> >
> > Mark can you reach out to the ThinkPad firmware team and
> > figure out if there is some supported way to automatically detect
> > this ?
> >
> These are all older platforms and we're not expecting to see this on any newer platforms...if it shows up it's because they messed up (there is a spec and they're supposed to follow it).
> Vishnu did review with the FW team which platforms had used this implementation, and we believe the list below to be complete.
>
> Vishnu, please correct me if you've heard otherwise.
This is confirmed by the FW team.
The list of systems is complete and no more systems are expected (as of now).
>
> As a note, I did review this during an internal review, before Vishnu pushed it, so I'll add:
>
> Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
>
> Mark
  
Ilpo Järvinen March 4, 2024, 1:17 p.m. UTC | #4
On Thu, 29 Feb 2024 00:01:49 +0900, Vishnu Sankar wrote:

> Add more ThinkPads with non-standard register addresses to read fan values.
> 
> ThinkPads added are L13 Yoga Gen1, X13 Yoga Gen1, L380, L390, 11e Gen5 GL,
> 11e Gen5 GL-R, 11e Gen5 KL-Y.
> 
> 


Thank you for your contribution, it has been applied to my local
review-ilpo branch. Note it will show up in the public
platform-drivers-x86/review-ilpo branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86: thinkpad_acpi: Add more ThinkPads with non-standard reg address for fan
      commit: 0dfb4617af0d4cfbaf75590a83e2ce367b67134a

--
 i.
  

Patch

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 5ecd9d33250d..23b2abe44a5a 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -8767,6 +8767,13 @@  static const struct tpacpi_quirk fan_quirk_table[] __initconst = {
 	TPACPI_Q_LNV3('N', '3', '7', TPACPI_FAN_2CTL),  /* T15g (2nd gen) */
 	TPACPI_Q_LNV3('R', '1', 'F', TPACPI_FAN_NS),	/* L13 Yoga Gen 2 */
 	TPACPI_Q_LNV3('N', '2', 'U', TPACPI_FAN_NS),	/* X13 Yoga Gen 2*/
+	TPACPI_Q_LNV3('R', '0', 'R', TPACPI_FAN_NS),	/* L380 */
+	TPACPI_Q_LNV3('R', '1', '5', TPACPI_FAN_NS),	/* L13 Yoga Gen 1 */
+	TPACPI_Q_LNV3('R', '1', '0', TPACPI_FAN_NS),	/* L390 */
+	TPACPI_Q_LNV3('N', '2', 'L', TPACPI_FAN_NS),	/* X13 Yoga Gen 1 */
+	TPACPI_Q_LNV3('R', '0', 'T', TPACPI_FAN_NS),	/* 11e Gen5 GL */
+	TPACPI_Q_LNV3('R', '1', 'D', TPACPI_FAN_NS),	/* 11e Gen5 GL-R */
+	TPACPI_Q_LNV3('R', '0', 'V', TPACPI_FAN_NS),	/* 11e Gen5 KL-Y */
 	TPACPI_Q_LNV3('N', '1', 'O', TPACPI_FAN_NOFAN),	/* X1 Tablet (2nd gen) */
 };