diff --git a/src/linuwu_sense.c b/src/linuwu_sense.c index 025eacb..ed2d69c 100644 --- a/src/linuwu_sense.c +++ b/src/linuwu_sense.c @@ -436,9 +436,12 @@ enum acer_wmi_predator_v4_oc { } - if (quirks->predator_v4) - interface->capability |= ACER_CAP_PLATFORM_PROFILE | - ACER_CAP_FAN_SPEED_READ | ACER_CAP_PREDATOR_SENSE; + if (quirks->predator_v4 == 1) + interface->capability |= ACER_CAP_PLATFORM_PROFILE | + ACER_CAP_FAN_SPEED_READ | ACER_CAP_PREDATOR_SENSE; + else if (quirks->predator_v4 == 2) + /* PredatorSense v3: platform_profile methods not present in firmware */ + interface->capability |= ACER_CAP_FAN_SPEED_READ | ACER_CAP_PREDATOR_SENSE; /* Includes all feature that predatorv4 have*/ if (quirks->nitro_v4) @@ -476,6 +479,8 @@ enum acer_wmi_predator_v4_oc { .turbo = 1, .cpu_fans = 1, .gpu_fans = 1, + .predator_v4 = 2, + .four_zone_kb = 1, }; static struct quirk_entry quirk_acer_predator_phn16_71 = { @@ -2325,7 +2330,7 @@ enum acer_wmi_predator_v4_oc { { const int max_retries = 10; int delay_ms = 100; - if (!quirks->predator_v4 && !quirks->nitro_sense && !quirks->nitro_v4) + if (quirks->predator_v4 != 1 && quirks->nitro_sense != 1 && !quirks->nitro_v4) return 0; for (int attempt = 1; attempt <= max_retries; attempt++) { platform_profile_device = devm_platform_profile_register(