Kano
487327f83d
Remove compile warning
13 years ago
ckolivas
4995b7c241
On dual GPUs, only autotune the shared fan once per gpu autotune cycle.
13 years ago
ckolivas
c009c6cd74
Don't try to explicitly drift to exactly the target temperature, aim for just below it.
13 years ago
ckolivas
312724cea1
Adjust fan speed gently while in the optimal range when temperature is drifting to minimise overshoot in either direction.
13 years ago
Con Kolivas
9549dacf99
Detect dual GPU cards via the indirect information of - 1st card has a fan controller. 2nd card does not have a fan controller, cards share the same
...
device name, and are one bus ID apart. Use this information to create paired devices, displaying the fan speed on both devices and using the hottest
temperature from either GPU to control the overall fanspeed.
13 years ago
Con Kolivas
990bb4a994
Set iSize for thermal device enum first.
13 years ago
Con Kolivas
2d29cdb611
Read off lpThermalControllerInfo from each ADL device.
13 years ago
Con Kolivas
1e1519e93e
Add ADL_Overdrive5_ThermalDevices_Enum interface.
13 years ago
Kano
ec2c0b784f
Add API commands: config, switchpool, gpu settings, save
13 years ago
Luke Dashjr
845961af66
Refactor to abstract device-specific code
13 years ago
Con Kolivas
400cb21d8b
Off by one error in performance level.
13 years ago
Con Kolivas
f4d657ee7f
Only adjust gpu engine speed in autotune mode if the gpu is currently at the performance level of that being adjusted.
13 years ago
Con Kolivas
8c63061eaa
Allow a fixed speed difference between memory and GPU clock speed that will change memory speed when GPU speed is changed in autotune mode.
13 years ago
Con Kolivas
5976f6b32f
Get rid of unused variable.
13 years ago
Con Kolivas
0ae3f71824
Check last temperature we reached and don't change fan speed if it's already correcting.
13 years ago
Con Kolivas
b8ea0dd194
Update curses logging to allow LOG_WARNING and LOG_ERR messages to still go through while within the menu, and drop share message to LOG_NOTICE.
13 years ago
Con Kolivas
5a24c2829a
Try to set temperature regardless of whether get fanspeed fails. This may need to be reverted if it causes problems.
13 years ago
Con Kolivas
12e99c83dd
Initialise all the iSizes of the ADL structures for completeness.
13 years ago
Con Kolivas
07c21bcbc4
Don't forget to set the actual fanspeed too!
13 years ago
Con Kolivas
3c38adc9ce
Only set the speed once, but set it only if fanspeed get says the card is ok and ready.
13 years ago
Con Kolivas
67fe6ab726
Don't both with adapter speed set as it has no effect on mining speed.
13 years ago
Con Kolivas
92e1ffd374
Store the targetfan even if the later getfanspeed fails in case it's temporary.
13 years ago
Con Kolivas
8feb661dbf
Set the fanspeed in coarse rounded up values and then ever finer grained values in case the card does not support fine values.
13 years ago
Con Kolivas
3f10e80a93
If the user defined flag is not set on fanspeed, set the fanspeed with it first.
13 years ago
Con Kolivas
87ec3f4789
Convert fanspeed management to default on exit.
13 years ago
Con Kolivas
918ec7b0b2
Enable adl earlier to allow values to be set in init_adl or they're silently ignored!
13 years ago
Con Kolivas
1db6ab0b01
Set targetfan when fanspeed is set on parameters.
13 years ago
Con Kolivas
2e09eee708
Use the gpu_fan set value as the starting fan speed.
...
Don't try and change the value if get() doesn't match as it's unreliable, just save the reentrant value.
Limit fanspeeds to reported iMax and iMin.
13 years ago
Con Kolivas
88eb514cd1
Only display supported values from fanspeed on change settings.
13 years ago
Con Kolivas
b4009adaac
Remove redundant check.
13 years ago
Con Kolivas
ebae03f22b
Do not bother resetting values to old ones if changes to GPU parameters report failure, instead returning a failure code only if the return value from get() differs.
13 years ago
Con Kolivas
dff1a81da7
Use a re-entrant value to store what fanspeed we're trying to set in case the card doesn't support small changes.
...
Force it to a multiple of 10% if it fails on trying to speed up the fan.
13 years ago
Con Kolivas
076677dd53
Flag any devices with autofan or autogpu as being managed.
13 years ago
Con Kolivas
a602f4e55f
Only force the adapter speed to high if we've flagged this device as being managed.
13 years ago
Con Kolivas
25c77ae85f
Only display values in the log if they're supported and standardise device log line printing.
13 years ago
Con Kolivas
2fafdab985
Allow adapterid 0 cards to enumerate as a device as they will be non-AMD cards, and enable ADL on any AMD card.
13 years ago
Con Kolivas
b7d817812c
Setting the hysteresis is unlikely to be useful on the fly and doesn't belong in the per-gpu submenu.
13 years ago
Con Kolivas
0e1c291624
Display fan range in autofan status.
13 years ago
Con Kolivas
e0a9f1aae3
Allow temperature targets to be set on a per-card basis on the command line.
13 years ago
Con Kolivas
d6f3bd0564
Display which GPU has overheated in warning message.
13 years ago
Con Kolivas
b50041c880
Allow per-device fan ranges to be set and use them in auto-fan mode.
13 years ago
Con Kolivas
9b5cd61886
Implement accepting a range of engine speeds as well to allow a lower limit to be specified on the command line.
13 years ago
Con Kolivas
7ea7f5f324
Allow temperatures greater than 100 degrees.
13 years ago
Con Kolivas
4628db5bfd
Change the fan speed by only 5% if it's over the target temperature but less than the hysteresis value to minimise overshoot down in temperature.
13 years ago
Con Kolivas
3997f308a0
Add a thermal cutoff option as well and set it to 95 degrees by default.
13 years ago
Con Kolivas
311420db9d
Flag adl as active if any card is successfully activated.
13 years ago
Con Kolivas
058303bcf3
Only reset values on exiting if we've ever modified them.
13 years ago
Con Kolivas
b8be1e6c15
Ignore whether the display is active or not since only display enabled devices work this way, and we skip over repeat entries anwyay.
13 years ago
Con Kolivas
f89c032d2b
The ° character is not reliably shown on all platforms so remove it.
13 years ago
Con Kolivas
fd23532bdb
Make adl attempt to compile only on win32 or linux since there is no support for it on onther platforms, and fix sleep() definition on win32.
13 years ago