Commit graph

399 commits

Author SHA1 Message Date
Werner Sembach 26a4a4b84a Merge remote-tracking branch 'origin/uw-power-profiles' into new_tf_fan_control 2022-10-07 10:51:49 +02:00
Christoffer Sandberg 824933fc70
Update version to 3.0.11 + changelog 2022-10-06 09:08:41 +02:00
Werner Sembach 19642a2496 Add retries for ex write and move enable custom fan table to end because of possible external race condition 2022-10-05 16:25:37 +02:00
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
Werner Sembach b73152ba8b Fix resume behavior 2022-09-23 15:47:42 +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
Werner Sembach a0c9995518 First working but buggy implementation of leds interface for TongFang/Uniwill 2022-09-21 18:18:35 +02:00
Werner Sembach f2c442bc2a Fix return variables 2022-09-21 18:17:27 +02:00
Werner Sembach 6aacbedc25 Fix coding style issues 2022-09-21 18:14:54 +02:00
Werner Sembach 640369f05e Remove unused function 2022-09-21 18:14:10 +02:00
Werner Sembach 5bf3547781 Merge branch 'generalize_keyboard_backlight_brightness_clevo_working' into generalize_keyboard_backlight_brightness 2022-09-20 11:55:03 +02:00
Christoffer Sandberg cbc4267071 Add Stellaris AMD gen 4 ID for lightbar support 2022-09-15 16:05:00 +02:00
Werner Sembach 965e37a5c6 Fixed missing variable rename 2022-08-31 19:14:21 +02:00
Werner Sembach b9b3c12b64 Fix spelling and reset value 2022-08-31 19:13:38 +02:00
Werner Sembach 1f9eb8fd10 Change default keyboard type as old RGB keyboards are not controllable from OS 2022-08-31 19:12:39 +02:00
Werner Sembach 1d5f679f66 Fix white only keyboards 2022-08-31 19:05:04 +02:00
Werner Sembach 0cfe09ac06 Cleanup 2022-08-31 18:58:44 +02:00
Werner Sembach fd9fc52510 More specific name for sub command 2022-08-31 11:04:51 +02:00
Werner Sembach 0aff209139 Merge branch 'generalize_keyboard_backlight_brightness_clevo_working' into generalize_keyboard_backlight_brightness 2022-08-25 19:30:40 +02:00
Werner Sembach 6d1f210db4 Make color cycle skip black 2022-08-25 19:06:16 +02:00
Werner Sembach 3c6451d9d8 Fix compilation issue 2022-08-25 18:31:33 +02:00
Werner Sembach 60cd77e01a Start rework for uniwill 2022-08-25 18:22:48 +02:00
Werner Sembach 40f46087f5 Implement temporal behaviour to work around KDE bug 2022-08-25 18:21:37 +02:00
Werner Sembach 4540824b00 Cleanup 2022-08-25 13:05:24 +02:00
Werner Sembach 4e6d2f0a3c Nomilize name 2022-08-24 19:09:32 +02:00
Werner Sembach 59512ed1fb Cleanup 2022-08-24 18:55:36 +02:00
Werner Sembach 6f9ee3fd6f Cleanup 2022-08-24 18:42:53 +02:00
Werner Sembach 2766237dd0 Cleanup 2022-08-24 18:23:53 +02:00
Werner Sembach d3be79612a Fix crash 2022-08-24 17:59:37 +02:00
Werner Sembach 1f2fad72de Fix Makefile 2022-08-24 11:55:12 +02:00
Werner Sembach 47337549d7 Fix Makefile 2022-08-24 11:47:10 +02:00
Werner Sembach dbd467bcd4 Rework to switch from old platform sysfs interface to standardised leds sysfs interface 2022-08-24 10:57:20 +02:00
Christoffer Sandberg 44801d689f
Add Pulse 15 Gen 2 defs (tdp + id) 2022-08-19 17:12:34 +02:00
Werner Sembach ca72360c7d Add multi color interface for Uniwill single zone rgb keyboards 2022-08-19 12:34:26 +02:00
Werner Sembach 3fc795aa0c Fix coding style issues 2022-08-19 12:33:54 +02:00
Werner Sembach 9d0dd45147 Change stepsize to something better suited for 0 - 255 2022-08-18 18:47:46 +02:00
Werner Sembach affc59e3e2 Implement multi color leds for Clevo 1 and 3 zone rgb keyboard backlights 2022-08-18 18:32:45 +02:00
Werner Sembach f50eeaac07 Add dummy leds interface for 3 zone keyboard 2022-08-18 14:04:25 +02:00
Werner Sembach 95b0b95599 Use clevo keyboard backlight type information to only create relevant sysfs entries 2022-08-18 14:03:50 +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
Werner Sembach e77d9748ee Add debug output 2022-07-22 15:40:44 +02:00
Werner Sembach 45a240f5f2 Add debug on wmi call 13 output for testing
Fix wrong pointer dereferentiation

Add debug output for clevo_acpi

Create more flexible clevo_evaluate_method2()
2022-07-22 15:39:43 +02:00
Werner Sembach 42f8a677cf Add basic leds interface backlight control 2022-07-15 14:46:25 +02:00
Werner Sembach 6cf70084ab Add header guard 2022-07-15 14:45:51 +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
Werner Sembach 2d33628610 Proof of concept initialization of manual-mode fan-curve 2021-02-15 22:01:13 +01:00
Christoffer Sandberg 4296f75372
Update version to 3.0.2
- Update changelog
- Update tuxedo_keyboard to 3.0.2
- Update clevo_wmi to 0.0.2
- Update clevo_acpi to 0.0.2
2021-01-29 14:47:50 +01:00
Christoffer Sandberg e38fe87fad
Aura perf. profile workaround
Explicitly sets the performance profile for Aura on keyboard init.
This has the effect of setting the state (previously not done by
firmware) to the relevant ACPI object. After this it should
restore the performance profile correctly on its own on power supply
change.
2021-01-29 14:34:49 +01:00
Christoffer Sandberg 7ad2c50d1f
Fix clevo keyboard init order 2021-01-29 14:34:23 +01:00
Christoffer Sandberg 4f763e9e74
Update version to 3.0.1
- tuxedo_io to 0.2.1
- changelogs
2020-12-21 17:33:50 +01:00
Christoffer Sandberg cb4bf91341
Deactivate method debug print cluttering 2020-12-21 17:18:57 +01:00
Christoffer Sandberg 1611244de9
tuxedo_io: Attempt workaround to reduce uw fan ramp-up 2020-12-21 17:12:21 +01:00
Christoffer Sandberg e61ea200a3
uw_keyboard: Map space brightness to kbd brightness toggle
Implements #34

Affects Trinity devices
2020-12-21 11:08:33 +01:00
Christoffer Sandberg b209a5b082
uw_keyboard: Add trinity IDs for lightbar ctrl
Implements #33
2020-12-21 11:04:55 +01:00
Christoffer Sandberg 1beae3c5a9
Update license headers with outdated address 2020-12-09 13:20:42 +01:00
Christoffer Sandberg 912c0ca109 Adjust some old references 2020-12-09 12:42:29 +01:00