-
Notifications
You must be signed in to change notification settings - Fork 19
corsair-hydro-platinum: Add hwmon driver for Corsair H150i Elite RGB and other Hydro AIOs #78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ProjectSynchro
wants to merge
46
commits into
liquidctl:master
Choose a base branch
from
ProjectSynchro:h150i_support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 13 commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
0be2ccc
hwmon: (corsair-hydro-platinum) Add driver for Corsair H150i Elite RGB
ProjectSynchro ea894c8
corsair-hydro-platinum: Cleanup unused includes
ProjectSynchro 2056edf
corsair-hydro-platinum: Improve resiliance to userspace interference
ProjectSynchro 99808a6
corsair-hydro-platinum: Improve logging of command write failures
ProjectSynchro ce45c17
corsair-hydro-platinum: Fix compiler warnings
ProjectSynchro 0afdc64
corsair-hydro-platinum: Fix checkpatch linter errors
ProjectSynchro ce5cc6f
corsair-hydro-platinum: Add fallback implementation for when CONFIG_C…
ProjectSynchro e1cabe3
Vagrantfile: Add new USD ids (corsair-hydro-platinum)
ProjectSynchro 5ce0308
corsair-hydro-platinum: Add firmware version to debugfs as "firmware_…
ProjectSynchro 032b57b
corsair-hydro-platinum: Add hwmon documentation for driver
ProjectSynchro fa60875
README.md: Add corsair-hydro-platinum to README
ProjectSynchro a194878
Revert "corsair-hydro-platinum: Add fallback implementation for when …
ProjectSynchro 1b28bd5
CI: Fix CRC8 build failure on mainline kernel
ProjectSynchro 294d525
corsair-hydro-platinum: Remove tested/untested annotations from sourc…
ProjectSynchro c0f5ccf
corsair-hydro-platinum: Use 'typical' instead of 'standard' for HID d…
ProjectSynchro 2632a0c
corsair-hydro-platinum: Remove ad-hoc command name from header comment
ProjectSynchro e18fe2d
corsair-hydro-platinum: Remove unnecessary null check for device info
ProjectSynchro f84408a
corsair-hydro-platinum: Remove redundant comment about waiting for in…
ProjectSynchro c4cfa24
corsair-hydro-platinum: Fail probe if device initialization fails
ProjectSynchro 4624ea6
corsair-hydro-platinum: Add reset_resume handler for power management
ProjectSynchro 1c62777
corsair-hydro-platinum: Add mutex_destroy to error and remove paths
ProjectSynchro 722bac0
README.md: Improve spacing before inline comments in insmod examples
ProjectSynchro fe16fc3
corsair-hydro-platinum: Return -ENODATA when sensor data is stale
ProjectSynchro 75b0dee
corsair-hydro-platinum: Increase STATUS_VALIDITY to 2000ms
ProjectSynchro 439d0eb
corsair-hydro-platinum: Use late_initcall instead of module_hid_driver
ProjectSynchro 858f5c6
corsair-hydro-platinum: Reduce probe logging verbosity
ProjectSynchro 0dc1a49
corsair-hydro-platinum: Use hid_err/hid_warn consistently for logging
ProjectSynchro d5e9508
corsair-hydro-platinum: Filter responses by sequence number in raw_event
ProjectSynchro 206bebe
corsair-hydro-platinum: Add retry loop and sequence validation to tra…
ProjectSynchro e12263b
corsair-hydro-platinum: Fix checkpatch style warning
ProjectSynchro f73327d
corsair-hydro-platinum: Fix rx_buffer data race between raw_event and…
ProjectSynchro 657842e
corsair-hydro-platinum: Use mutex_lock_interruptible in update and wr…
ProjectSynchro c4d0afb
corsair-hydro-platinum: Replace priv->valid with jiffies initializati…
ProjectSynchro 0451b8e
corsair-hydro-platinum: Extract cooling payload init and build Fan 3 …
ProjectSynchro 7d31c93
corsair-hydro-platinum: Remove unnecessary comments and unused RESPON…
ProjectSynchro 3df0f92
corsair-hydro-platinum: Document sequence number field
ProjectSynchro 4de0670
corsair-hydro-platinum: Simplify report ID comment
ProjectSynchro addba43
corsair-hydro-platinum: Fix misleading CRC range comment
ProjectSynchro ea41fed
corsair-hydro-platinum: Remove redundant inline comments in send_command
ProjectSynchro 1d9718f
corsair-hydro-platinum: Fix checkpatch alignment warning
ProjectSynchro b190847
corsair-hydro-platinum: Clarify raw_event comment about incoming data
ProjectSynchro 98bccfa
corsair-hydro-platinum: Fix off-by-one in memcpy size for command pay…
ProjectSynchro fb9c8b6
corsair-hydro-platinum: Use loop with offset table for fan sensor par…
ProjectSynchro a733725
corsair-hydro-platinum: Remove unnecessary safety padding from buffer…
ProjectSynchro 0e07e6a
corsair-hydro-platinum: Move TRANSACTION_RETRIES define to fix -Werro…
ProjectSynchro d81232f
corsair-hydro-platinum: Remove sequence number filtering and validation
ProjectSynchro File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,11 @@ | ||
| CONFIG_MODULES=y | ||
| CONFIG_INPUT=y | ||
| CONFIG_HID=y | ||
| CONFIG_CRC8=y | ||
| CONFIG_HID_SUPPORT=y | ||
| CONFIG_USB_SUPPORT=y | ||
| CONFIG_USB=y | ||
| CONFIG_USB_HID=y | ||
| CONFIG_HWMON=y | ||
| CONFIG_CRC8=y | ||
| CONFIG_WERROR=y |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| .. SPDX-License-Identifier: GPL-2.0+ | ||
|
|
||
| Kernel driver corsair-hydro-platinum | ||
| ==================================== | ||
|
|
||
| Supported devices: | ||
|
|
||
| * Corsair Hydro H100i Platinum | ||
| * Corsair Hydro H100i Platinum SE | ||
| * Corsair Hydro H115i Platinum | ||
| * Corsair Hydro H60i Pro XT | ||
| * Corsair Hydro H100i Pro XT | ||
| * Corsair Hydro H115i Pro XT | ||
| * Corsair Hydro H150i Pro XT | ||
| * Corsair iCUE H100i Elite RGB | ||
| * Corsair iCUE H115i Elite RGB | ||
| * Corsair iCUE H150i Elite RGB | ||
| * Corsair iCUE H100i Elite RGB (White) | ||
| * Corsair iCUE H150i Elite RGB (White) | ||
|
|
||
| Author: Jack Greiner <jack@emoss.org> | ||
|
|
||
| Description | ||
| ----------- | ||
|
|
||
| This driver enables hardware monitoring support for Corsair Hydro Platinum, | ||
| Pro XT and Elite RGB all-in-one CPU liquid coolers. | ||
|
|
||
| The driver exposes the following sensor readings: | ||
| * Liquid temperature | ||
| * Pump speed | ||
| * Fan speeds (up to 3 fans, depending on model) | ||
|
|
||
| The driver exposes the following controls: | ||
| * Pump mode (Quiet, Balanced, Extreme) | ||
| * Fan duty cycle (0-100%) | ||
|
|
||
| The RGB LEDs are not supported in this driver, but can be controlled through | ||
| existing userspace tools, such as `liquidctl`_ or `OpenRGB`_. | ||
|
|
||
| .. _liquidctl: https://github.com/liquidctl/liquidctl | ||
| .. _OpenRGB: https://gitlab.com/CalcProgrammer1/OpenRGB | ||
|
|
||
| Usage Notes | ||
| ----------- | ||
|
|
||
| Pump Control | ||
| ~~~~~~~~~~~~ | ||
| The pump does not support precise PWM duty cycle control. Instead, it supports | ||
| three distinct modes: Quiet, Balanced, and Extreme. The driver maps standard | ||
| PWM values (0-255) to these modes as follows: | ||
|
|
||
| * 0 - 84: Quiet Mode | ||
| * 85 - 169: Balanced Mode | ||
| * 170 - 255: Extreme Mode | ||
|
ProjectSynchro marked this conversation as resolved.
|
||
|
|
||
| Fan Control | ||
| ~~~~~~~~~~~ | ||
| Fans support standard PWM duty cycle control (0-255). | ||
|
|
||
| Sysfs entries | ||
| ------------- | ||
|
|
||
| ============================== =========================================== | ||
| fan1_input Pump speed (in rpm) | ||
| fan1_label "Pump" | ||
| pwm1 Pump mode control (0-255, see above) | ||
| fan2_input Fan 1 speed (in rpm) | ||
| fan2_label "Fan 1" | ||
| pwm2 Fan 1 duty cycle (0-255) | ||
| fan3_input Fan 2 speed (in rpm) | ||
| fan3_label "Fan 2" | ||
| pwm3 Fan 2 duty cycle (0-255) | ||
| fan4_input Fan 3 speed (in rpm) (If supported) | ||
| fan4_label "Fan 3" | ||
| pwm4 Fan 3 duty cycle (0-255) (If supported) | ||
| temp1_input Coolant temperature (millidegrees C) | ||
| temp1_label "Coolant temp" | ||
| ============================== =========================================== | ||
|
|
||
| Debugfs entries | ||
| --------------- | ||
|
|
||
| The driver exposes the firmware version via debugfs: | ||
| `/sys/kernel/debug/corsair_hydro_platinum-<device>/firmware_version` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| obj-m := nzxt-kraken2.o nzxt-grid3.o nzxt-kraken3.o nzxt-smart2.o | ||
| obj-m := nzxt-kraken2.o nzxt-grid3.o nzxt-kraken3.o nzxt-smart2.o corsair-hydro-platinum.o |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.