mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] SSAM registry fixes for Surface Pro 11
@ 2026-08-29 18:32 Dale Whinham
  2026-08-29 18:32 ` [PATCH 1/3] platform/surface: aggregator_registry: Remove sensors device " Dale Whinham
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Dale Whinham @ 2026-08-29 18:32 UTC (permalink / raw)
  To: Maximilian Luz, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Jérôme de Bretagne,
	Dale Whinham

This series brings a handful of important fixes to the Surface
System Aggregator Module client device registry for the Surface Pro 11
(Qualcomm X1):

 - An unneeded driver was removed, silencing a dmesg error.
 - Tablet mode detection fixed by replacing KIP with POS driver.
 - Performance profile and fan support added.

Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
Dale Whinham (3):
      platform/surface: aggregator_registry: Remove sensors device for Surface Pro 11
      platform/surface: aggregator_registry: Fix tablet-mode detection on Surface Pro 11
      platform/surface: aggregator_registry: Add performance profile and fan support for Surface Pro 11

 drivers/platform/surface/surface_aggregator_registry.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
---
base-commit: 3eaac948bf4505bc7e3b12d3ccf4ad900e5df082
change-id: 20260829-surface-pro-11-aggregator-registry-fixes-1b013f20f782

Best regards,
--  
Dale Whinham <daleyo@gmail.com>


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

* [PATCH 1/3] platform/surface: aggregator_registry: Remove sensors device for Surface Pro 11
  2026-08-29 18:32 [PATCH 0/3] SSAM registry fixes for Surface Pro 11 Dale Whinham
@ 2026-08-29 18:32 ` Dale Whinham
  2026-08-29 18:32 ` [PATCH 2/3] platform/surface: aggregator_registry: Fix tablet-mode detection on " Dale Whinham
  2026-08-29 18:32 ` [PATCH 3/3] platform/surface: aggregator_registry: Add performance profile and fan support for " Dale Whinham
  2 siblings, 0 replies; 5+ messages in thread
From: Dale Whinham @ 2026-08-29 18:32 UTC (permalink / raw)
  To: Maximilian Luz, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Jérôme de Bretagne,
	Dale Whinham

Remove ssam_node_hid_sam_sensors as this device is not present on
Surface Pro 11. This fixes a probe failure in dmesg:

surface_hid 01:15:01:06:00: unexpected descriptor length: got 0, expected 9
surface_hid 01:15:01:06:00: probe with driver surface_hid failed with error -71

Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
 drivers/platform/surface/surface_aggregator_registry.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index d37a7e4c6b02..82c2144e10ec 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -415,7 +415,6 @@ static const struct software_node *ssam_node_group_sp11[] = {
 	&ssam_node_hid_kip_penstash,
 	&ssam_node_hid_kip_touchpad,
 	&ssam_node_hid_kip_fwupd,
-	&ssam_node_hid_sam_sensors,
 	&ssam_node_kip_tablet_switch,
 	NULL,
 };

-- 
2.55.0


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

* [PATCH 2/3] platform/surface: aggregator_registry: Fix tablet-mode detection on Surface Pro 11
  2026-08-29 18:32 [PATCH 0/3] SSAM registry fixes for Surface Pro 11 Dale Whinham
  2026-08-29 18:32 ` [PATCH 1/3] platform/surface: aggregator_registry: Remove sensors device " Dale Whinham
@ 2026-08-29 18:32 ` Dale Whinham
  2026-09-18 17:15   ` Ilpo Järvinen
  2026-08-29 18:32 ` [PATCH 3/3] platform/surface: aggregator_registry: Add performance profile and fan support for " Dale Whinham
  2 siblings, 1 reply; 5+ messages in thread
From: Dale Whinham @ 2026-08-29 18:32 UTC (permalink / raw)
  To: Maximilian Luz, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Jérôme de Bretagne,
	Dale Whinham

Replace ssam_node_kip_tablet_switch with ssam_node_pos_tablet_switch, as
Surface Pro 11 reports tablet-mode via the POS ('posture') subsystem and
not the KIP subsystem.

The KIP-based driver would remain stuck in a 'folded-back' state after
suspend/resume, whereas the POS-based device reports its state correctly
even after suspend/resume.

This fixes the type cover keyboard/mouse being ignored by desktop
environments after resume from sleep due to the erroneous 'folded-back'
state.

Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
 drivers/platform/surface/surface_aggregator_registry.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 82c2144e10ec..2cb8278d98ea 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -415,7 +415,7 @@ static const struct software_node *ssam_node_group_sp11[] = {
 	&ssam_node_hid_kip_penstash,
 	&ssam_node_hid_kip_touchpad,
 	&ssam_node_hid_kip_fwupd,
-	&ssam_node_kip_tablet_switch,
+	&ssam_node_pos_tablet_switch,
 	NULL,
 };
 

-- 
2.55.0


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

* [PATCH 3/3] platform/surface: aggregator_registry: Add performance profile and fan support for Surface Pro 11
  2026-08-29 18:32 [PATCH 0/3] SSAM registry fixes for Surface Pro 11 Dale Whinham
  2026-08-29 18:32 ` [PATCH 1/3] platform/surface: aggregator_registry: Remove sensors device " Dale Whinham
  2026-08-29 18:32 ` [PATCH 2/3] platform/surface: aggregator_registry: Fix tablet-mode detection on " Dale Whinham
@ 2026-08-29 18:32 ` Dale Whinham
  2 siblings, 0 replies; 5+ messages in thread
From: Dale Whinham @ 2026-08-29 18:32 UTC (permalink / raw)
  To: Maximilian Luz, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Jérôme de Bretagne,
	Dale Whinham

The EC on the Surface Pro 11 exposes the performance profile and fan
interfaces. Enable their associated drivers.

Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
 drivers/platform/surface/surface_aggregator_registry.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 2cb8278d98ea..061d4a567a06 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -410,7 +410,9 @@ static const struct software_node *ssam_node_group_sp11[] = {
 	&ssam_node_hub_kip,
 	&ssam_node_bat_ac,
 	&ssam_node_bat_main,
+	&ssam_node_tmp_perf_profile_with_fan,
 	&ssam_node_tmp_sensors,
+	&ssam_node_fan_speed,
 	&ssam_node_hid_kip_keyboard,
 	&ssam_node_hid_kip_penstash,
 	&ssam_node_hid_kip_touchpad,

-- 
2.55.0


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

* Re: [PATCH 2/3] platform/surface: aggregator_registry: Fix tablet-mode detection on Surface Pro 11
  2026-08-29 18:32 ` [PATCH 2/3] platform/surface: aggregator_registry: Fix tablet-mode detection on " Dale Whinham
@ 2026-09-18 17:15   ` Ilpo Järvinen
  0 siblings, 0 replies; 5+ messages in thread
From: Ilpo Järvinen @ 2026-09-18 17:15 UTC (permalink / raw)
  To: Dale Whinham
  Cc: Maximilian Luz, Hans de Goede, platform-driver-x86, LKML,
	Jérôme de Bretagne

On Sat, 29 Aug 2026, Dale Whinham wrote:

> Replace ssam_node_kip_tablet_switch with ssam_node_pos_tablet_switch, as
> Surface Pro 11 reports tablet-mode via the POS ('posture') subsystem and
> not the KIP subsystem.
> 
> The KIP-based driver would remain stuck in a 'folded-back' state after
> suspend/resume, whereas the POS-based device reports its state correctly
> even after suspend/resume.
> 
> This fixes the type cover keyboard/mouse being ignored by desktop
> environments after resume from sleep due to the erroneous 'folded-back'
> state.
> 
> Signed-off-by: Dale Whinham <daleyo@gmail.com>

Please add Fixes tags to this and patch 1 and send v2.

--
 i.

> ---
>  drivers/platform/surface/surface_aggregator_registry.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
> index 82c2144e10ec..2cb8278d98ea 100644
> --- a/drivers/platform/surface/surface_aggregator_registry.c
> +++ b/drivers/platform/surface/surface_aggregator_registry.c
> @@ -415,7 +415,7 @@ static const struct software_node *ssam_node_group_sp11[] = {
>  	&ssam_node_hid_kip_penstash,
>  	&ssam_node_hid_kip_touchpad,
>  	&ssam_node_hid_kip_fwupd,
> -	&ssam_node_kip_tablet_switch,
> +	&ssam_node_pos_tablet_switch,
>  	NULL,
>  };
>  
> 
> 

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

end of thread, other threads:[~2026-09-18 17:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-29 18:32 [PATCH 0/3] SSAM registry fixes for Surface Pro 11 Dale Whinham
2026-08-29 18:32 ` [PATCH 1/3] platform/surface: aggregator_registry: Remove sensors device " Dale Whinham
2026-08-29 18:32 ` [PATCH 2/3] platform/surface: aggregator_registry: Fix tablet-mode detection on " Dale Whinham
2026-09-18 17:15   ` Ilpo Järvinen
2026-08-29 18:32 ` [PATCH 3/3] platform/surface: aggregator_registry: Add performance profile and fan support for " Dale Whinham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®