* [PATCH] platform/x86: uniwill-laptop: Remove cTGP control from unsupported devices
@ 2026-11-13 14:47 Werner Sembach
0 siblings, 0 replies; only message in thread
From: Werner Sembach @ 2026-11-13 14:47 UTC (permalink / raw)
To: Armin Wolf, Hans de Goede, Ilpo Järvinen
Cc: Werner Sembach, platform-driver-x86, linux-kernel
Some devices like the InfinityBook Pro series have Dynamic Boost support,
but the cTGP setting is actually ignored.
This commit adds the ability to still initialize DB, but hide the noop cTGP
sysfs attribute and applies this to the respective devices.
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
drivers/platform/x86/uniwill/uniwill-acpi.c | 26 ++++++++++++++-------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index e2a6a704e942e..c0a75bc6e66db 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -366,10 +366,12 @@
#define UNIWILL_FEATURE_PRIMARY_FAN BIT(8)
#define UNIWILL_FEATURE_SECONDARY_FAN BIT(9)
#define UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL BIT(10)
-#define UNIWILL_FEATURE_USB_C_POWER_PRIORITY BIT(11)
-#define UNIWILL_FEATURE_KEYBOARD_BACKLIGHT BIT(12)
-#define UNIWILL_FEATURE_AC_AUTO_BOOT BIT(13)
-#define UNIWILL_FEATURE_USB_POWERSHARE BIT(14)
+/* Mutually exclusive with the cTGP control feature */
+#define UNIWILL_FEATURE_NVIDIA_DB_SUPPORT_ONLY BIT(11)
+#define UNIWILL_FEATURE_USB_C_POWER_PRIORITY BIT(12)
+#define UNIWILL_FEATURE_KEYBOARD_BACKLIGHT BIT(13)
+#define UNIWILL_FEATURE_AC_AUTO_BOOT BIT(14)
+#define UNIWILL_FEATURE_USB_POWERSHARE BIT(15)
enum usb_c_power_priority_options {
USB_C_POWER_PRIORITY_CHARGING = 0,
@@ -1004,7 +1006,9 @@ static int uniwill_nvidia_ctgp_init(struct uniwill_data *data)
{
int ret;
- if (!uniwill_device_supports(data, UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL))
+ if (!uniwill_device_supports_any(data,
+ UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
+ UNIWILL_FEATURE_NVIDIA_DB_SUPPORT_ONLY))
return 0;
ret = regmap_write(data->regmap, EC_ADDR_CTGP_DB_CTGP_OFFSET, 0);
@@ -2577,7 +2581,9 @@ static int uniwill_suspend_usb_powershare(struct uniwill_data *data)
static int uniwill_suspend_nvidia_ctgp(struct uniwill_data *data)
{
- if (!uniwill_device_supports(data, UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL))
+ if (!uniwill_device_supports_any(data,
+ UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
+ UNIWILL_FEATURE_NVIDIA_DB_SUPPORT_ONLY))
return 0;
return regmap_clear_bits(data->regmap, EC_ADDR_CTGP_DB_CTRL,
@@ -2686,7 +2692,9 @@ static int uniwill_resume_usb_powershare(struct uniwill_data *data)
static int uniwill_resume_nvidia_ctgp(struct uniwill_data *data)
{
- if (!uniwill_device_supports(data, UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL))
+ if (!uniwill_device_supports_any(data,
+ UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
+ UNIWILL_FEATURE_NVIDIA_DB_SUPPORT_ONLY))
return 0;
return regmap_set_bits(data->regmap, EC_ADDR_CTGP_DB_CTRL,
@@ -2910,7 +2918,7 @@ static struct uniwill_device_descriptor phxtqxx_phxagxx_phxaqxx_phxpgxx_descript
UNIWILL_FEATURE_GPU_TEMP |
UNIWILL_FEATURE_PRIMARY_FAN |
UNIWILL_FEATURE_SECONDARY_FAN |
- UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
+ UNIWILL_FEATURE_NVIDIA_DB_SUPPORT_ONLY |
UNIWILL_FEATURE_USB_C_POWER_PRIORITY |
UNIWILL_FEATURE_KEYBOARD_BACKLIGHT,
.kbd_led_single_color = true,
@@ -3106,7 +3114,7 @@ static int phxarxx_phxaqxx_probe(struct uniwill_data *data)
if (value & HAS_GPU)
data->features |= UNIWILL_FEATURE_GPU_TEMP |
- UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL;
+ UNIWILL_FEATURE_NVIDIA_DB_SUPPORT_ONLY;
return 0;
};
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-11-13 14:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-13 14:47 [PATCH] platform/x86: uniwill-laptop: Remove cTGP control from unsupported devices Werner Sembach
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®