From: Werner Sembach <wse@tuxedocomputers.com>
To: "Armin Wolf" <W_Armin@gmx.de>, "Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Werner Sembach <wse@tuxedocomputers.com>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH] platform/x86: uniwill-laptop: Remove cTGP control from unsupported devices
Date: Fri, 13 Nov 2026 15:47:46 +0100 [thread overview]
Message-ID: <20261113144749.59958-1-wse@tuxedocomputers.com> (raw)
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
reply other threads:[~2026-11-13 14:48 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261113144749.59958-1-wse@tuxedocomputers.com \
--to=wse@tuxedocomputers.com \
--cc=W_Armin@gmx.de \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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®