adl.c


Log

Author Commit Date CI Message
Luke Dashjr a1edc7db 2012-07-15T05:37:49 Bugfix: Fix build without curses but with OpenCL
Con Kolivas 29c0f7bd 2012-06-28T09:42:24 Detect large swings in temperature when below the target temperature range and change fan by amounts dependant on the value of tdiff.
Con Kolivas e16452f0 2012-06-28T09:26:33 Adjust the fanspeed by the magnitude of the temperature difference when in the optimal range.
Con Kolivas 55aaa7c1 2012-06-28T09:11:29 Slightly different message since restart may not be successful.
Con Kolivas 07045055 2012-06-28T09:07:22 Revert "Restarting cgminer from within after ADL has been corrupted only leads to a crash. Display a warning only and disable fanspeed monitoring." This reverts commit 07212db106a1cc654affe3b95bf8acff7b8ed752. Reverting this did not fix the crashes people were having with ADL failing after a week and removed the functionality this patch originally intended.
Con Kolivas 057a38eb 2012-06-22T13:37:32 When disabling fanspeed monitoring on adl failure, remove any twin GPU association. This could have been leading to hangs on machines with dual GPU cards when ADL failed.
Con Kolivas 1e388833 2012-06-14T11:24:32 Consider the fan optimal if fanspeed is dropping but within the optimal speed window.
Con Kolivas 59679c57 2012-06-12T21:02:59 Only adjust GPU speed up if the fanspeed is within the normal fanrange and hasn't been turned to maximum speed under overheat conditions.
Con Kolivas 07212db1 2012-05-31T08:34:06 Restarting cgminer from within after ADL has been corrupted only leads to a crash. Display a warning only and disable fanspeed monitoring.
Con Kolivas 23b224fa 2012-05-06T12:01:04 Reinit_adl is no longer used.
Con Kolivas 46a679f3 2012-05-05T12:55:00 Revert "Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp." This reverts commit 87708a6a0e151401aee6cebf624940467993707b. Broken.
Con Kolivas 87708a6a 2012-05-04T23:05:00 Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp.
Con Kolivas f5f089f5 2012-04-23T17:40:47 Add a --gpu-map option which will allow arbitrarily mapping ADL devices to OpenCL devices for instances where association by enumeration alone fails.
Luke Dashjr b8778839 2012-04-21T02:36:19 Merge branch 'master' into unify_drivers Conflicts: cgminer.c
Con Kolivas dc70fe9c 2012-04-14T17:38:31 Do a complete cgminer restart if the ATI Display Library fails, as it does on windows after running for some time, when fanspeed reporting fails.
Con Kolivas 1152b4b4 2012-04-14T00:18:00 Re-initialising ADL simply made the driver fail since it is corruption over time within the windows driver that's responsible. Revert "Attempt to re-initialise ADL should a device that previously reported fanspeed stops reporting it." This reverts commit d4c513030f6d6da4cb54c0d1499d332a3987c376.
ckolivas d4c51303 2012-03-29T11:47:28 Attempt to re-initialise ADL should a device that previously reported fanspeed stops reporting it.
ckolivas 43ef4e04 2012-03-29T10:51:59 Move the ADL setup and clearing to separate functions and provide a reinit_adl function to be used when adl fails while running.
Con Kolivas 2f715203 2012-03-28T22:36:48 Set the starting fanspeed to a safe and fairly neutral 50% when autofan is enabled.
Con Kolivas 7458927f 2012-03-28T04:25:54 Merge pull request #155 from luke-jr/no_curses Make curses TUI support optional at compile-time.
Kano eeec9809 2012-03-23T01:50:45 code changes for supporting a simple device history
Luke Dashjr f05a319e 2012-03-18T21:06:47 CGPU API for device names
Luke Dashjr ed8382c8 2012-03-12T14:56:05 Make curses TUI support optional at compile-time.
Con Kolivas 28f99beb 2012-02-26T16:45:03 Use the return value of fan_autotune to set fan_optimal instead of passing it as a pointer.
Con Kolivas d48faf39 2012-02-26T16:40:05 Pass the lasttemp from the device we're using to adjust fanspeed in twin devices.
Con Kolivas 0d083b63 2012-02-22T14:52:57 Left out an else after the if statement.
Con Kolivas b77656b7 2012-02-22T14:39:22 If we're well below the target temperature, increase gpu engine speed back to maximum in case we have gotten lost between profiles during an idle period.
Con Kolivas 03f4f7e6 2012-02-22T14:26:29 We should be setting the value of fan_optimal, not its address.
Con Kolivas 083c6763 2012-02-22T10:44:21 Revert "Fan control should be fast enough to adjust now without needing to set a high starting speed." This reverts commit e69080e987d83c39b50c8dd97829966a48908051. On 2nd thought, this is still a safe default.
Con Kolivas e69080e9 2012-02-22T10:39:52 Fan control should be fast enough to adjust now without needing to set a high starting speed.
Con Kolivas d1cddf8b 2012-02-21T22:23:07 Update licensing to GPL V3.
Con Kolivas 02295c69 2012-02-19T20:19:47 Allow devices that are disabled due to overheating to be flagged as recovering instead of disabling them and re-enable them if they're below ideal temperatures and --no-restart has not been set.
Con Kolivas 810ad045 2012-02-18T23:16:08 More copyright updates.
Con Kolivas be9db9ce 2012-02-18T23:00:21 Copyright updates.
Con Kolivas fa4ce8da 2012-02-18T22:29:12 Keep track of intended engine clock speed and only adjust up if it's higher than the last intended speed. This avoids setting the clock speed to one relative to a lower profile one by mistake.
Con Kolivas d1cf80a5 2012-02-18T19:49:52 Use gpu-memdiff on startup if an engine clockspeed is set and a memdiff value is set.
Con Kolivas 66ea9304 2012-02-18T19:43:23 Revert "Adjust engine speed up according to performance level engine setting, not the current engine speed." This reverts commit 68217ef6eed95f37da9024f96d098a3114e75c75. This did not have the desired effect and only added complexity.
Con Kolivas c4270974 2012-02-18T19:43:17 Revert "Logic fail on engine multiplier." This reverts commit b0787e07c88cc5ae9a5a23bbcc004e180e4a24a5. 2nd of 3.
Con Kolivas eb5dcc60 2012-02-18T19:42:56 Revert "Correct yet more logic fail :(" This reverts commit 83b76da2c659bbff8d17236ef1b3e69a0ce6228a. First of 3.
Con Kolivas 83b76da2 2012-02-13T10:53:03 Correct yet more logic fail :(
Con Kolivas b0787e07 2012-02-13T10:47:05 Logic fail on engine multiplier.
Con Kolivas 68217ef6 2012-02-13T10:37:35 Adjust engine speed up according to performance level engine setting, not the current engine speed.
Con Kolivas 07c2ee53 2012-02-12T17:00:44 Put win32 equivalents of nanosleep and sleep into compat.h fixing sleep() for adl.c.
Con Kolivas 405a2120 2012-02-11T20:11:18 Remove unnecessary check for opt_debug on every invocation of applog at LOG_DEBUG and place the check in applog().
Con Kolivas 2b61d973 2012-02-11T19:54:15 Remove the test for whether the device is on the highest profil level before raising the GPU speed as it is ineffectual and may prevent raising the GPU speed.
Luke Dashjr 543265d6 2012-01-24T14:34:17 Generalize --temp-cutoff and implement support for reading temperature from BitFORCE FPGAs
Con Kolivas c72a8b8c 2012-02-05T22:41:37 Silence ADL warnings.
Con Kolivas 23685aa4 2012-02-05T17:28:53 Continue auto-management of fan and engine speeds even if a device is disabled for safety reasons.
Con Kolivas f8fed37e 2012-02-05T17:24:26 No need to check we're highest performance level when throttling GPU engine speed.
Con Kolivas af5aaece 2012-01-30T21:15:47 Revert "Pass the correct GPU from the menu to the adl code." This reverts commit 7bcda9a28fcaff801ed9ee9e0b6613cbdb3be646. Corrected for virtual device twice by mistake.
Con Kolivas 94059c06 2012-01-30T21:07:16 Ensure all virtual_gpu entries are set when the number of ADL devices does not match the number of OpenCL devices.
Con Kolivas c9404f4d 2012-01-30T15:33:55 Make sure to set virtual adapters if --dev-reorder is not enabled or device numbers don't match.
Con Kolivas 5a14ec53 2012-01-30T15:21:14 Add a --dev-reorder option to only reorder devices according to PCI Bus ID when requested.
Con Kolivas 7bcda9a2 2012-01-30T12:42:43 Pass the correct GPU from the menu to the adl code.
Con Kolivas a73156ac 2012-01-30T10:02:51 Display GPU number and device name when ADL is successfully enabled on it.
Con Kolivas 176bbcbc 2012-01-30T09:44:19 Display GPU ordering remapping in verbose mode.
Con Kolivas 89196038 2012-01-30T09:15:20 Don't fail in the case the number of ADL and OpenCL devices do not match, and do not attempt to reorder devices unless they match. Instead give a warning about the likely cause and the potential consequence of it - Hardware monitoring may NOT match up with devices.
Con Kolivas f0746f0b 2012-01-30T08:18:50 Display error codes should ADL not return ADL_OK in the more critical function calls.
Con Kolivas cdcaaba6 2012-01-30T08:06:23 Revert "Add ADL_Overdrive5_ThermalDevices_Enum interface." This reverts commit 1e1519e93ec6a3de432dd0b34504675f037c3542.
Con Kolivas 430a1954 2012-01-30T08:06:00 Revert "Read off lpThermalControllerInfo from each ADL device." This reverts commit 2d29cdb6117be29ff6353d94a6be0784a588fdb6.
Con Kolivas 4ae0aad1 2012-01-30T08:05:36 Revert "Set iSize for thermal device enum first." This reverts commit 990bb4a994261fb0aca8a6bd1b324a3007583207. Thermal devices is not used. 1st of 3 reverts.
Con Kolivas 82af288e 2012-01-29T22:57:29 Revert "Fix various harmless warnings." This reverts commit a4b67f030fc0c7e2b18e79114a441c1e1617d5f8.
Con Kolivas a4b67f03 2012-01-29T21:06:17 Fix various harmless warnings.
Con Kolivas a8e46a07 2012-01-29T20:47:08 Add extensive ADL based device info in debug mode.
Con Kolivas 83a83676 2012-01-29T13:49:08 Linux's ADL uses a busnumber in descending order for devices so enumerate them in the opposite order to windows.
Con Kolivas 4bf01f01 2012-01-28T12:08:55 Fix potential overflow.
Con Kolivas 05970127 2012-01-28T11:26:56 Carry virtual gpu number across.
Con Kolivas 3bc05834 2012-01-28T11:19:28 Iterate and change virtual device order instead of shuffling ram.
Con Kolivas 371e5f68 2012-01-28T09:22:33 Reorder displayed devices to map to physical locations and initialise according to logical location instead.
Con Kolivas 5a0b4f62 2012-01-28T01:56:12 Map GPU devices to virtual devices in their true physical order based on BusNumber.
Con Kolivas 06fd9c4a 2012-01-26T23:27:10 Detect dual GPU cards by iterating through all GPUs, finding ones without fanspeed and matching twins with fanspeed one bus ID apart.
Kano 487327f8 2012-01-26T14:06:31 Remove compile warning
ckolivas 4995b7c2 2012-01-25T16:34:39 On dual GPUs, only autotune the shared fan once per gpu autotune cycle.
ckolivas c009c6cd 2012-01-25T16:16:28 Don't try to explicitly drift to exactly the target temperature, aim for just below it.
ckolivas 312724ce 2012-01-25T15:48:28 Adjust fan speed gently while in the optimal range when temperature is drifting to minimise overshoot in either direction.
Con Kolivas 9549dacf 2012-01-25T01:19:58 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.
Con Kolivas 990bb4a9 2012-01-23T10:54:21 Set iSize for thermal device enum first.
Con Kolivas 2d29cdb6 2012-01-23T09:25:53 Read off lpThermalControllerInfo from each ADL device.
Con Kolivas 1e1519e9 2012-01-23T09:20:21 Add ADL_Overdrive5_ThermalDevices_Enum interface.
Kano ec2c0b78 2012-01-22T18:24:55 Add API commands: config, switchpool, gpu settings, save
Luke Dashjr 845961af 2012-01-05T19:26:01 Refactor to abstract device-specific code
Con Kolivas 400cb21d 2011-12-24T08:06:53 Off by one error in performance level.
Con Kolivas f4d657ee 2011-12-24T07:35:42 Only adjust gpu engine speed in autotune mode if the gpu is currently at the performance level of that being adjusted.
Con Kolivas 8c63061e 2011-10-23T20:50:52 Allow a fixed speed difference between memory and GPU clock speed that will change memory speed when GPU speed is changed in autotune mode.
Con Kolivas 5976f6b3 2011-10-14T21:51:55 Get rid of unused variable.
Con Kolivas 0ae3f718 2011-09-23T10:45:43 Check last temperature we reached and don't change fan speed if it's already correcting.
Con Kolivas b8ea0dd1 2011-09-17T13:23:58 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.
Con Kolivas 5a24c282 2011-09-16T16:46:14 Try to set temperature regardless of whether get fanspeed fails. This may need to be reverted if it causes problems.
Con Kolivas 12e99c83 2011-09-16T16:42:11 Initialise all the iSizes of the ADL structures for completeness.
Con Kolivas 07c21bcb 2011-09-16T10:40:58 Don't forget to set the actual fanspeed too!
Con Kolivas 3c38adc9 2011-09-16T10:27:36 Only set the speed once, but set it only if fanspeed get says the card is ok and ready.
Con Kolivas 67fe6ab7 2011-09-16T10:26:25 Don't both with adapter speed set as it has no effect on mining speed.
Con Kolivas 92e1ffd3 2011-09-16T08:31:27 Store the targetfan even if the later getfanspeed fails in case it's temporary.
Con Kolivas 8feb661d 2011-09-15T20:46:39 Set the fanspeed in coarse rounded up values and then ever finer grained values in case the card does not support fine values.
Con Kolivas 3f10e80a 2011-09-15T12:18:30 If the user defined flag is not set on fanspeed, set the fanspeed with it first.
Con Kolivas 87ec3f47 2011-09-15T11:21:54 Convert fanspeed management to default on exit.
Con Kolivas 918ec7b0 2011-09-14T23:01:07 Enable adl earlier to allow values to be set in init_adl or they're silently ignored!
Con Kolivas 1db6ab0b 2011-09-14T22:18:49 Set targetfan when fanspeed is set on parameters.
Con Kolivas 2e09eee7 2011-09-14T21:45:04 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.
Con Kolivas 88eb514c 2011-09-11T11:57:08 Only display supported values from fanspeed on change settings.