mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD
@ 2026-09-27  1:40 Mohamed Jouini
  2026-09-27  1:40 ` [PATCH v2 1/2] platform/x86: uniwill-laptop: Add " Mohamed Jouini
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Mohamed Jouini @ 2026-09-27  1:40 UTC (permalink / raw)
  To: Armin Wolf, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Mohamed Jouini

The PCSpecialist Recoil 16 AMD is a rebadged TUXEDO Stellaris 16 Gen7 AMD
(board X6FR57TY), which the driver does not match today because of the
different DMI vendor and board name.

Patch 1 adds it with the existing Stellaris 16 Gen7 AMD feature set.
Patch 2 maps the "Sc" key (WMI event 0xD0) to KEY_ROTATE_DISPLAY.

Tested on the Recoil 16 AMD (BIOS N.1.39PCS10) with the driver from this
series built against 7.2.7: the Sc key, the hwmon fan and temperature
readings, and all three charging profiles. Charging from below 70%,
with the charge counted from current_now:

  Profile    CV (4S)    per cell   stops at, of a Standard charge
  Standard   17.405 V   4.35 V     100%
  Long_Life  17.194 V   4.30 V     about 93%
  Trickle    16.818 V   4.20 V     about 90%

In every profile the EC then reports 100% / Full, as Armin said it
would.

Changes in v2:
- Patch 1 uses the existing Stellaris 16 Gen7 AMD feature set (charging
  profiles) instead of the percentage charge limit (Armin).
- Dropped the platform profile patch for now (Armin).
- Added Armin's Reviewed-by to the Sc key patch. On whether TUXEDO knows
  more about event 0xD0: tuxedo-drivers (4.24.0) has no entry for it in
  its Uniwill keymap, so it only reaches the "Unknown code" debug message
  there.

Regarding EC_ADDR_CHARGE_CTRL from the v1 review: it needs no cleanup. It
was 0 before v1 was ever loaded, and after a power cycle without the
driver the EC had reset it to 0 on its own.

v1: https://lore.kernel.org/platform-driver-x86/20260925211635.1422516-1-amad3v@gmail.com/

Mohamed Jouini (2):
  platform/x86: uniwill-laptop: Add PCSpecialist Recoil 16 AMD
  platform/x86: uniwill-laptop: Map the screen rotation key

 drivers/platform/x86/uniwill/uniwill-acpi.c | 11 +++++++++++
 drivers/platform/x86/uniwill/uniwill-wmi.h  |  3 +++
 2 files changed, 14 insertions(+)


base-commit: f475845eaf3d749114a63270bf2efea459e14dd2
-- 
2.55.0


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

* [PATCH v2 1/2] platform/x86: uniwill-laptop: Add PCSpecialist Recoil 16 AMD
  2026-09-27  1:40 [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Mohamed Jouini
@ 2026-09-27  1:40 ` Mohamed Jouini
  2026-10-08 12:09   ` Ilpo Järvinen
  2026-09-27  1:40 ` [PATCH v2 2/2] platform/x86: uniwill-laptop: Map the screen rotation key Mohamed Jouini
  2026-10-08 17:37 ` [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Ilpo Järvinen
  2 siblings, 1 reply; 5+ messages in thread
From: Mohamed Jouini @ 2026-09-27  1:40 UTC (permalink / raw)
  To: Armin Wolf, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Mohamed Jouini

The PCSpecialist Recoil 16 AMD is a rebadged TUXEDO Stellaris 16 Gen7 AMD
but reports sys_vendor "PCSpecialist" and board name "X6FR57TY", so the
existing entry does not match it. Use the Stellaris 16 Gen7 AMD feature
set.

Signed-off-by: Mohamed Jouini <amad3v@gmail.com>
---
Changes in v2:
- Use the existing Stellaris 16 Gen7 AMD feature set (charging profiles)
  instead of a separate descriptor with the percentage charge limit.

 drivers/platform/x86/uniwill/uniwill-acpi.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index eeead0159..7d39e97fa 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -3268,6 +3268,14 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
 		},
 		.driver_data = &tux_featureset_4_nvidia_descriptor,
 	},
+	{
+		.ident = "PCSpecialist Recoil 16 AMD",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"),
+			DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6FR57TY"),
+		},
+		.driver_data = &tux_featureset_4_nvidia_descriptor,
+	},
 	{
 		.ident = "TUXEDO Stellaris 16 Gen7 Intel",
 		.matches = {
-- 
2.55.0


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

* [PATCH v2 2/2] platform/x86: uniwill-laptop: Map the screen rotation key
  2026-09-27  1:40 [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Mohamed Jouini
  2026-09-27  1:40 ` [PATCH v2 1/2] platform/x86: uniwill-laptop: Add " Mohamed Jouini
@ 2026-09-27  1:40 ` Mohamed Jouini
  2026-10-08 17:37 ` [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Ilpo Järvinen
  2 siblings, 0 replies; 5+ messages in thread
From: Mohamed Jouini @ 2026-09-27  1:40 UTC (permalink / raw)
  To: Armin Wolf, Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Mohamed Jouini

The PCSpecialist Recoil 16 AMD / TUXEDO Stellaris 16 Gen7 chassis has an
"Sc" key next to F12, meant to rotate the lay-flat screen by 180 degrees.
It reports WMI event 0xD0, which is currently reported as KEY_UNKNOWN.
Map it to KEY_ROTATE_DISPLAY.

Signed-off-by: Mohamed Jouini <amad3v@gmail.com>
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
---
Changes in v2:
- Added Reviewed-by. tuxedo-drivers (4.24.0) has no entry for event 0xD0
  in its Uniwill keymap; there it only reaches the "Unknown code" debug
  message.

 drivers/platform/x86/uniwill/uniwill-acpi.c | 3 +++
 drivers/platform/x86/uniwill/uniwill-wmi.h  | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index 7d39e97fa..2f440925d 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -506,6 +506,9 @@ static const struct key_entry uniwill_keymap[] = {
 	/* Reported when the user wants to toggle the webcam */
 	{ KE_IGNORE,    UNIWILL_OSD_WEBCAM_TOGGLE,              { KEY_UNKNOWN }},
 
+	/* Reported when the user wants to rotate the (lay-flat) screen by 180 degrees */
+	{ KE_KEY,       UNIWILL_OSD_ROTATE_SCREEN,              { KEY_ROTATE_DISPLAY }},
+
 	{ KE_END }
 };
 
diff --git a/drivers/platform/x86/uniwill/uniwill-wmi.h b/drivers/platform/x86/uniwill/uniwill-wmi.h
index b25b2f312..1b6f650c4 100644
--- a/drivers/platform/x86/uniwill/uniwill-wmi.h
+++ b/drivers/platform/x86/uniwill/uniwill-wmi.h
@@ -117,6 +117,9 @@
 
 #define UNIWILL_OSD_WEBCAM_TOGGLE		0xCF
 
+/* "Sc" key next to F12 on the PCSpecialist Recoil 16 / Stellaris 16 Gen7 */
+#define UNIWILL_OSD_ROTATE_SCREEN		0xD0
+
 #define UNIWILL_OSD_KBD_BACKLIGHT_CHANGED	0xF0
 
 struct device;
-- 
2.55.0


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

* Re: [PATCH v2 1/2] platform/x86: uniwill-laptop: Add PCSpecialist Recoil 16 AMD
  2026-09-27  1:40 ` [PATCH v2 1/2] platform/x86: uniwill-laptop: Add " Mohamed Jouini
@ 2026-10-08 12:09   ` Ilpo Järvinen
  0 siblings, 0 replies; 5+ messages in thread
From: Ilpo Järvinen @ 2026-10-08 12:09 UTC (permalink / raw)
  To: Mohamed Jouini; +Cc: Armin Wolf, Hans de Goede, platform-driver-x86, LKML

On Sun, 27 Sep 2026, Mohamed Jouini wrote:

> The PCSpecialist Recoil 16 AMD is a rebadged TUXEDO Stellaris 16 Gen7 AMD
> but reports sys_vendor "PCSpecialist" and board name "X6FR57TY", so the
> existing entry does not match it. Use the Stellaris 16 Gen7 AMD feature
> set.
> 
> Signed-off-by: Mohamed Jouini <amad3v@gmail.com>
> ---
> Changes in v2:
> - Use the existing Stellaris 16 Gen7 AMD feature set (charging profiles)
>   instead of a separate descriptor with the percentage charge limit.
> 
>  drivers/platform/x86/uniwill/uniwill-acpi.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
> index eeead0159..7d39e97fa 100644
> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
> @@ -3268,6 +3268,14 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
>  		},
>  		.driver_data = &tux_featureset_4_nvidia_descriptor,
>  	},
> +	{
> +		.ident = "PCSpecialist Recoil 16 AMD",
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"),
> +			DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6FR57TY"),
> +		},
> +		.driver_data = &tux_featureset_4_nvidia_descriptor,

Hi,

The descriptors were renamed by recent work so could you please rebase 
this on top of the for-next branch and send v3.

-- 
 i.


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

* Re: [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD
  2026-09-27  1:40 [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Mohamed Jouini
  2026-09-27  1:40 ` [PATCH v2 1/2] platform/x86: uniwill-laptop: Add " Mohamed Jouini
  2026-09-27  1:40 ` [PATCH v2 2/2] platform/x86: uniwill-laptop: Map the screen rotation key Mohamed Jouini
@ 2026-10-08 17:37 ` Ilpo Järvinen
  2 siblings, 0 replies; 5+ messages in thread
From: Ilpo Järvinen @ 2026-10-08 17:37 UTC (permalink / raw)
  To: Armin Wolf, Hans de Goede, Mohamed Jouini
  Cc: platform-driver-x86, linux-kernel

On Sun, 27 Sep 2026 02:40:29 +0100, Mohamed Jouini wrote:

> The PCSpecialist Recoil 16 AMD is a rebadged TUXEDO Stellaris 16 Gen7 AMD
> (board X6FR57TY), which the driver does not match today because of the
> different DMI vendor and board name.
> 
> Patch 1 adds it with the existing Stellaris 16 Gen7 AMD feature set.
> Patch 2 maps the "Sc" key (WMI event 0xD0) to KEY_ROTATE_DISPLAY.
> 
> [...]

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

FYI [if applicable to your patch], as per Linus' policy change, also
fixes are mostly routed through for-next unless the fix is for a
commit introduced in the most recent cycle or is clearly a regression
fix.

The list of commits applied:
[1/2] platform/x86: uniwill-laptop: Add PCSpecialist Recoil 16 AMD
      commit: 99ee4a2405fafe9636cb1c834cc3753ef5705041
[2/2] platform/x86: uniwill-laptop: Map the screen rotation key
      commit: 37dcbefbcf314ab032ee6bb7f7363c1de5e886a7

--
 i.


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

end of thread, other threads:[~2026-10-08 17:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-27  1:40 [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Mohamed Jouini
2026-09-27  1:40 ` [PATCH v2 1/2] platform/x86: uniwill-laptop: Add " Mohamed Jouini
2026-10-08 12:09   ` Ilpo Järvinen
2026-09-27  1:40 ` [PATCH v2 2/2] platform/x86: uniwill-laptop: Map the screen rotation key Mohamed Jouini
2026-10-08 17:37 ` [PATCH v2 0/2] platform/x86: uniwill-laptop: Support the PCSpecialist Recoil 16 AMD Ilpo Järvinen

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®