Commit graph

310 commits

Author SHA1 Message Date
Werner Sembach a8b3cb6dc3 Fix define names 2022-10-04 19:00:27 +02:00
Werner Sembach 44f7fd0151 Expose fan control limitations to userspace 2022-10-04 13:59:13 +02:00
Werner Sembach 47bbd14ca0 Remove useless comment, there few to no error handling in the whole module 2022-09-29 15:16:43 +02:00
Werner Sembach e92bbccbe0 Make sure full fan mode is (un-)set correctly 2022-09-29 15:16:04 +02:00
Werner Sembach d3a8c76aa6 Fix wrong address 2022-09-29 15:15:14 +02:00
Werner Sembach 5055221eea Implement new fan control 2022-09-28 19:23:16 +02:00
Christoffer Sandberg b9b6f240c8
Add Stellaris AMD Gen4 TDP ranges + threeprofile leds id 2022-09-27 15:13:13 +02:00
Christoffer Sandberg e6ecf69560
Add TDP ranges for IBPGen7 2022-09-27 15:06:23 +02:00
Christoffer Sandberg 67a80ca3a2 Remove XMG Fusion from three profiles list
Not compatible with current control mechanism
2022-09-23 11:45:40 +02:00
Christoffer Sandberg cbc4267071 Add Stellaris AMD gen 4 ID for lightbar support 2022-09-15 16:05:00 +02:00
Christoffer Sandberg 44801d689f
Add Pulse 15 Gen 2 defs (tdp + id) 2022-08-19 17:12:34 +02:00
Christoffer Sandberg dd26ff6100
Change min selectable TDP for all impl. devices to 5 W 2022-08-12 15:26:18 +02:00
Christoffer Sandberg a8a934b4f1
Add polaris intel gen 4 power defs 2022-07-27 12:27:14 +02:00
Christoffer Sandberg a3f73cc502 ioctl: Add uw model id getter 2022-07-27 11:47:10 +02:00
Christoffer Sandberg e9b429ccea Fix build on older kernel 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 0b6d0073b2 Assign three profiles to xmg fusion 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 0d4a633c65 Add IBP14gen6 id and refactor model numbers 2022-07-27 11:47:10 +02:00
Christoffer Sandberg b6dea7ac2e Update uw tdp defs for polaris/stellaris
Changes according to reported original table values
- Min TDPs changed to 10W
- Intel PL4 now max 200W resulting in 120/120/200
- AMD max defs lowered to 80/80/95
2022-07-27 11:47:10 +02:00
Christoffer Sandberg 3fbc761cc9 Rearrange uw tdp identification + min/max getters
Support for a device now only depending on if min/max
definitions exist for chosen tdp parameter.
2022-07-27 11:47:10 +02:00
Christoffer Sandberg 50ea0bb09f Change model ID for some models 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 68800661b4 Modify and add TDP device definitions
- Basic 120W upper limit over all
- Change min limit to 1W
- Add Polaris gen 2
- Add Polaris/Stellaris AMD gen 3
2022-07-27 11:47:10 +02:00
Christoffer Sandberg 91742ab1c5 Move and correct TDP device ids 2022-07-27 11:47:10 +02:00
Christoffer Sandberg bd56c1ecb9 Restrict fan-curve copy to "v1" profile devices only 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 4903b89239 Split v1 three profile feature to include leds only version extra 2022-07-27 11:47:10 +02:00
Christoffer Sandberg d848111bb7 Move uw device features to interfaces struct 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 5173c0fc33 Add TDP support for stellaris/polaris gen 2/3 2022-07-27 11:47:10 +02:00
Christoffer Sandberg f08b9af714 Add three profiles to polaris/stellaris gen2/3 for the LEDs 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 55022eb636 Add BA15 with two power profiles 2022-07-27 11:47:10 +02:00
Christoffer Sandberg feca6dbcf4 tuxedo_io: Add uw perf prof ioctl interface 2022-07-27 11:47:10 +02:00
Christoffer Sandberg ad8d42454e Add PH4TQX 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 7593dd33ee Add uw min/max TDP interface
- Min/max TDP interface prototype
- Identification structure for "old style"
  uw perf. profiles
2022-07-27 11:47:10 +02:00
Christoffer Sandberg dd5e48fb09 Add uw TDP ioctl interface 2022-07-27 11:47:10 +02:00
Christoffer Sandberg cc4c1445b9 Fix whitespace 2022-07-27 11:47:10 +02:00
Christoffer Sandberg 48666348c6
Update version to 3.0.10 + changelog 2022-04-28 14:47:28 +02:00
Christoffer dd774d8b0d Merge branch '57-stellaris-intel-gen-4-support' into 'master'
Resolve "Stellaris Intel gen 4 support"

Closes #57

See merge request tuxedocomputers/development/packages/tuxedo-keyboard!26
2022-04-25 15:55:26 +00:00
Christoffer Sandberg 46ad491825
Add lightbar support for Stellaris Intel gen 4 2022-04-21 12:05:18 +02:00
Christoffer Sandberg abd6036eb9 Initialize uw lightbar to be "off" 2022-02-02 16:42:05 +01:00
Christoffer Sandberg e1c8e5bf3b Update version to 3.0.9 + changelog 2021-10-18 22:28:14 +02:00
Christoffer Sandberg 0c07dfcba4 Move old now unused io structs to debug def 2021-10-18 20:03:02 +02:00
Christoffer Sandberg b856c9644e Add new board name for IBS15gen6 + 17 version 2021-10-08 20:01:00 +02:00
Christoffer Sandberg 0747e94f89 tuxedo_io: Update id check data for uw on ioctl id check request
Should fix failing to identify uniwill device if tuxedo_io module
loaded before interface registration.
2021-10-04 14:59:15 +02:00
Christoffer Sandberg 5b57ddbec1 Remove unused return statuses 2021-09-22 01:39:02 +02:00
Christoffer Sandberg f6226ac07a Expose and clarify uw WMI read/write method as parameter 2021-09-22 00:51:16 +02:00
Christoffer Sandberg 2440ed47b5 Remove old uw probe, notifys and event handlers 2021-09-22 00:02:49 +02:00
Christoffer Sandberg df3df09c10 Remove rest of tongfang_wmi.h
- Reference includes
- Move remaining unions to interfaces
- Remove remaining uniwill_exit from tuxedo_io
2021-09-18 00:37:46 +02:00
Christoffer Sandberg d2ff4e4b83 Add uniwill interface str id and read for tuxedo_io 2021-09-18 00:30:00 +02:00
Christoffer Sandberg ea720826e8 Fix some whitespace format issues 2021-09-18 00:17:30 +02:00
Christoffer Sandberg f8bd16ca68 Move uw fan ctrl helper funcs 2021-09-18 00:03:49 +02:00
Christoffer Sandberg da31d09aad Check input device reference before using 2021-09-17 23:53:42 +02:00
Christoffer Sandberg 4fa915fcc3 Change use of uw if read/write to new ones
- For tuxedo_io
2021-09-17 23:50:16 +02:00
Christoffer Sandberg de124948ab Change use of uw if read/write to new ones
- For fan control
2021-09-17 20:19:58 +02:00
Christoffer Sandberg cf4d9967b7 tuxedo_io: Add new uw interfaces header 2021-09-17 20:16:39 +02:00
Christoffer Sandberg 56b5c5461d Move uw manual mode set/remove 2021-09-17 19:17:10 +02:00
Christoffer Sandberg 64c47a6943 Change use of uw if read/write to new ones
- For uniwill_keyboard part
- Remove now unused uw_io.h
2021-09-16 21:36:35 +02:00
Christoffer Sandberg 931d3c7f30 Add visible error on missing uw interface read/write attempt 2021-09-16 20:34:06 +02:00
Christoffer Sandberg 16f7c246dd Adjust clevo driver init and remove accordingly 2021-09-16 00:29:07 +02:00
Christoffer Sandberg 9ec3dc927a Reorder uniwill driver init and remove 2021-09-15 22:23:29 +02:00
Christoffer Sandberg 57ebb3a9fe Move and include mem read/write functions 2021-09-13 23:35:29 +02:00
Christoffer Sandberg 0da37ce0ca Add uniwill wmi event callb hooks and handling
- Event/notify handling
- Actually adding interface
2021-09-10 22:57:43 +02:00
Christoffer Sandberg 13510d6fc2 Fix missing bracket 2021-09-10 00:16:03 +02:00
Christoffer Sandberg 54c6da280e Add uniwill interface methods 2021-09-08 21:14:56 +02:00
Christoffer Sandberg 9db498b836 Add/correct interface include guards 2021-09-07 19:47:31 +02:00
Christoffer Sandberg 3637247351 Add basic uniwill-wmi module
- Add separate uniwill-wmi module
- Add uniwill interfaces header
2021-09-03 22:07:13 +02:00
Christoffer Sandberg 914e50b160
Update version to 3.0.8 + changelog 2021-07-09 12:54:21 +02:00
Christoffer Sandberg bce9817464
Add IBS14v6 to perf. prof workaround 2021-07-09 12:44:58 +02:00
Christoffer Sandberg aae9f01feb
Update version to 3.0.7 + changelog
- tuxedo-io to 0.2.4
- clevo-wmi to 0.0.3
2021-06-24 13:07:00 +02:00
Christoffer Sandberg 0c929206bd
Add Stellaris devices for lightbar 2021-06-24 13:06:33 +02:00
tuxedoxt 9f8def2643
Merge pull request #91 from ArlindoFNeto/patch-1
Add Avell A60 MUV as lightbar_supported
2021-06-24 10:06:09 +02:00
tuxedoxt d1639d1734
Merge pull request #95 from BlackIkeEagle/linux-5.13-compat
fix incompatible pointer type for linux 5.13
2021-06-24 09:45:36 +02:00
BlackEagle 216899e1cf fix incompatible pointer type for linux 5.13
this fixes the following build issue:

```
src/clevo_wmi.c:149:19: error: initialization of ‘void (*)(struct wmi_device *)’ from incompatible pointer type ‘int (*)(struct wmi_device *)’ [-Werror=incompatible-pointer-types]
  149 |         .remove = clevo_wmi_remove,
      |                   ^~~~~~~~~~~~~~~~
```

Signed-off-by: BlackEagle <ike.devolder@gmail.com>
2021-06-23 22:51:53 +02:00
Christoffer Sandberg 4beb504569
Add new polaris devices
Add Polaris device to backlight driver
- Polaris AMD Gen 2
- Polaris Intel Gen 2
- Polaris AMD Gen 3
- Polaris Intel Gen 3
2021-06-16 15:39:22 +02:00
Christoffer Sandberg d7f358a778
Update version to 3.0.6 + changelog 2021-06-07 17:06:27 +02:00
Christoffer Sandberg 1f292258d5
Add cl perf profile set ioctl 2021-05-19 18:40:27 +02:00
Arlindo F. Neto cbc1813ef7
Add Avell A60 MUV as lightbar_supported
I've suggested this in #89 issue.
2021-05-14 16:31:03 -03:00
Christoffer Sandberg 8a965edb33
Update version to 3.0.5 + changelog 2021-04-23 18:33:53 +02:00
Christoffer Sandberg 5ff4174be9
Add XP gen 11 & 12 to perf. profile workaround 2021-04-23 18:30:04 +02:00
Christoffer Sandberg d7304b3170
Add EDUBOOK1502 to perf. profile workaround 2021-04-23 11:46:28 +02:00
Christoffer Sandberg bea182ed6d
Clean-up cl driver state init
- Ensure keyb bl state is initialized from params
- Unify state writing (directly from state struct)
- Use same state write on resume
- Don't attempt to init twice if already initialized (should prevent
  some double writing and make debugging easier)
2021-04-19 14:39:06 +02:00
Christoffer Sandberg c2061a9596
Comment out cl method debug prints per default 2021-04-19 14:04:58 +02:00
Christoffer Sandberg 6e65f2ea97
Add NS50MU to perf. profile workaround
Implements #44
2021-04-06 12:59:56 +02:00
Christoffer Sandberg fd683d410b
Update version to 3.0.4 + changelog 2021-03-19 16:35:40 +01:00
Christoffer Sandberg 67fb677d88
clevo_keyboard: Add mutex to interface operations 2021-03-19 16:34:34 +01:00
Christoffer Sandberg b7a0b23db1
Merge branch '38-tuxedo-io-breaks-device-default-silent-fan-mode-on-tongfang-devices'
- Conflicts => Included everything (init of uw dev fan curves & perf prof)
- Removed comments and unneeded "uninitialized check" as per WSE
  recommendation
2021-03-19 15:31:53 +01:00
Christoffer 2e8e9d9195 Merge branch 'set_full_fan_mode_less_intrusive' into 'master'
Set full fan mode less intrusive

See merge request tuxedocomputers/development/packages/tuxedo-keyboard!18
2021-03-19 13:46:51 +00:00
Christoffer Sandberg e53d4870ea
Add standard Aura (now new) board name to perf. profile workaround
- Convert remaining matches to string in for robustness
  (with occational space padding)
- Add missing device comment
2021-03-17 13:58:07 +01:00
Christoffer Sandberg afae768fda
Add IBS14v5 to perf. profile workaround 2021-03-17 13:49:10 +01:00
Werner Sembach d24f698dd0 Remove minimum version defines for single ioctl 2021-03-16 14:24:18 +00:00
Christoffer Sandberg f4622e28f1
tuxedo_keyboard: Fix possible race condition on driver init
Modified patch from https://github.com/ftufo

https://github.com/tuxedocomputers/tuxedo-keyboard/issues/75
2021-03-15 12:47:24 +01:00
Christoffer Sandberg 852c28cec4
Update version to 3.0.3 + changelog 2021-03-05 13:28:37 +01:00
Christoffer Sandberg 1e96de2c56
Add XP14 to perf. profile workaround 2021-03-05 13:27:55 +01:00
Werner Sembach f2b722c7b6 Don't reset fan speed on disable full-fan-mode because it gets reset automatically 2021-03-03 12:09:52 +01:00
Werner Sembach 6519645696 Fix typo and use bool type 2021-02-25 15:11:19 +01:00
Werner Sembach cbb258e13d Always initialize custom fan curve to prevent inconsistencies 2021-02-25 14:40:47 +01:00
Werner Sembach b8cb3ed34b Bump version and add defines to check for minimum version with new ioctl 2021-02-24 20:35:02 +01:00
Werner Sembach 96a9485a84 Set balanced profile on init for the time being until we have a way to switch it while tuxedo_io is loaded 2021-02-24 19:56:58 +01:00
Werner Sembach 226a40b8fb Fix wrong macro call breaking compilation and add header guard 2021-02-22 20:12:58 +01:00
Werner Sembach 5b99255be8 Add ioctl to reset fanspeed to auto 2021-02-19 21:33:30 +01:00
Werner Sembach 4306a80513 Only set one bit required for full-fan-mode and not whole byte 2021-02-19 21:04:08 +01:00
Werner Sembach ea23edca26 Use universal header guard 2021-02-18 20:18:05 +01:00
Werner Sembach 1b58247daf Use default values found elsewhere in the ec memory insted of hardcoded values 2021-02-16 16:50:44 +01:00