All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9
@ 2026-07-09 18:35 Sarbajit Sarkar
  2026-07-09 18:42 ` sashiko-bot
  2026-07-10 14:37 ` Guenter Roeck
  0 siblings, 2 replies; 4+ messages in thread
From: Sarbajit Sarkar @ 2026-07-09 18:35 UTC (permalink / raw)
  To: sergiomelas; +Cc: linux-hwmon, Sarbajit Sarkar

Add the Lenovo LOQ 15IAX9 product family to the yogafan dmi_system_id
table. Unlike the Legion series, ACPI table extraction reveals this LOQ
utilizes an 8-bit EC architecture with a 100x multiplier, but maintains
a dual-fan setup via the \_SB.PC00.LPCB.EC0.FA1S and FA2S paths.

A new loq_15iax9_8bit_dual_cfg structure was added to properly map these
hardware registers and calculate RPMs correctly while avoiding path
conflicts with AMD-based LOQ variants.

Signed-off-by: Sarbajit Sarkar <sarbajitsarkar16108@gmail.com>
---
 drivers/hwmon/yogafan.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/hwmon/yogafan.c b/drivers/hwmon/yogafan.c
index 605cc92..0a41b86 100644
--- a/drivers/hwmon/yogafan.c
+++ b/drivers/hwmon/yogafan.c
@@ -71,6 +71,12 @@ static const struct yogafan_config legion_16bit_dual_cfg = {
 	.paths = { "\\_SB.PCI0.LPC0.EC0.FANS", "\\_SB.PCI0.LPC0.EC0.FA2S" }
 };
 
+static const struct yogafan_config loq_15iax9_8bit_dual_cfg = {
+	.multiplier = 100,
+	.fan_count = 2,
+	.paths = { "\\_SB.PC00.LPCB.EC0.FA1S", "\\_SB.PC00.LPCB.EC0.FA2S" }
+};
+
 static void apply_rllag_filter(struct yoga_fan_data *data, int idx, long raw_rpm)
 {
 	ktime_t now = ktime_get_boottime();
@@ -194,6 +200,14 @@ static const struct dmi_system_id yogafan_quirks[] = {
 		},
 		.driver_data = (void *)&ideapad_8bit_fan0_cfg,
 	},
+	{
+		.ident = "Lenovo LOQ 15IAX9",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_FAMILY, "LOQ 15IAX9"),
+		},
+		.driver_data = (void *)&loq_15iax9_8bit_dual_cfg,
+	},
 	{ }
 };
 MODULE_DEVICE_TABLE(dmi, yogafan_quirks);
-- 
2.55.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9
  2026-07-09 18:35 [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9 Sarbajit Sarkar
@ 2026-07-09 18:42 ` sashiko-bot
  2026-07-10 14:37 ` Guenter Roeck
  1 sibling, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-07-09 18:42 UTC (permalink / raw)
  To: Sarbajit Sarkar; +Cc: linux-hwmon

> Add the Lenovo LOQ 15IAX9 product family to the yogafan dmi_system_id
> table. Unlike the Legion series, ACPI table extraction reveals this LOQ
> utilizes an 8-bit EC architecture with a 100x multiplier, but maintains
> a dual-fan setup via the \_SB.PC00.LPCB.EC0.FA1S and FA2S paths.
> 
> A new loq_15iax9_8bit_dual_cfg structure was added to properly map these
> hardware registers and calculate RPMs correctly while avoiding path
> conflicts with AMD-based LOQ variants.
> 
> Signed-off-by: Sarbajit Sarkar <sarbajitsarkar16108@gmail.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260709183500.13761-1-sarbajitsarkar16108@gmail.com?part=1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9
  2026-07-09 18:35 [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9 Sarbajit Sarkar
  2026-07-09 18:42 ` sashiko-bot
@ 2026-07-10 14:37 ` Guenter Roeck
  2026-07-13 16:24   ` Sergio Melas
  1 sibling, 1 reply; 4+ messages in thread
From: Guenter Roeck @ 2026-07-10 14:37 UTC (permalink / raw)
  To: Sarbajit Sarkar; +Cc: sergiomelas, linux-hwmon

On Fri, Jul 10, 2026 at 12:05:00AM +0530, Sarbajit Sarkar wrote:
> Add the Lenovo LOQ 15IAX9 product family to the yogafan dmi_system_id
> table. Unlike the Legion series, ACPI table extraction reveals this LOQ
> utilizes an 8-bit EC architecture with a 100x multiplier, but maintains
> a dual-fan setup via the \_SB.PC00.LPCB.EC0.FA1S and FA2S paths.
> 
> A new loq_15iax9_8bit_dual_cfg structure was added to properly map these
> hardware registers and calculate RPMs correctly while avoiding path
> conflicts with AMD-based LOQ variants.
> 
> Signed-off-by: Sarbajit Sarkar <sarbajitsarkar16108@gmail.com>

Applied.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9
  2026-07-10 14:37 ` Guenter Roeck
@ 2026-07-13 16:24   ` Sergio Melas
  0 siblings, 0 replies; 4+ messages in thread
From: Sergio Melas @ 2026-07-13 16:24 UTC (permalink / raw)
  To: Sarbajit Sarkar; +Cc: Guenter Roeck, linux-hwmon

Hi Sarbajit, Thanks for submitting the LOQ 15IAX9 support and mapping
the 8-bit dual-fan paths. It's a great addition to the driver. I will
rebase my local workspace to include your changes for the next
refactor. Best regards, Sergio Melas


On Fri, Jul 10, 2026 at 4:37 PM Guenter Roeck <linux@roeck-us.net> wrote:
>
> On Fri, Jul 10, 2026 at 12:05:00AM +0530, Sarbajit Sarkar wrote:
> > Add the Lenovo LOQ 15IAX9 product family to the yogafan dmi_system_id
> > table. Unlike the Legion series, ACPI table extraction reveals this LOQ
> > utilizes an 8-bit EC architecture with a 100x multiplier, but maintains
> > a dual-fan setup via the \_SB.PC00.LPCB.EC0.FA1S and FA2S paths.
> >
> > A new loq_15iax9_8bit_dual_cfg structure was added to properly map these
> > hardware registers and calculate RPMs correctly while avoiding path
> > conflicts with AMD-based LOQ variants.
> >
> > Signed-off-by: Sarbajit Sarkar <sarbajitsarkar16108@gmail.com>
>
> Applied.
>
> Thanks,
> Guenter

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-07-13 16:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-09 18:35 [PATCH] hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9 Sarbajit Sarkar
2026-07-09 18:42 ` sashiko-bot
2026-07-10 14:37 ` Guenter Roeck
2026-07-13 16:24   ` Sergio Melas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.