#define NVIDIA_SPIN_DAMP 100
#define GPU_TEMP_DISABLE 0
#define GPU_TEMP_ABORT 90
-#define GPU_TEMP_RETAIN 0
+#define GPU_TEMP_RETAIN 65
#define WORKLOAD_PROFILE 2
#define KERNEL_ACCEL 0
#define KERNEL_LOOPS 0
}
else if (device_param->device_vendor_id == VENDOR_ID_NV)
{
- #ifdef _POSIX
+ #ifdef WIN
+ hm_set_fanspeed_with_device_id_nvapi (device_id, fan_speed_new, 1);
+ #endif
+
+ #ifdef LINUX
hm_set_fanspeed_with_device_id_xnvctrl (device_id, fan_speed_new);
#endif
}
{
need_nvml = 1;
- #ifdef _POSIX
+ #ifdef LINUX
need_xnvctrl = 1;
#endif
- #ifdef _WIN
+ #ifdef WIN
need_nvapi = 1;
#endif
}
}
}
- if (data.hm_adl == NULL && data.hm_nvml == NULL && data.hm_xnvctrl)
+ if (data.hm_adl == NULL && data.hm_nvml == NULL && data.hm_xnvctrl == NULL)
{
gpu_temp_disable = 1;
}
data.hm_device[device_id].xnvctrl = 0;
data.hm_device[device_id].od_version = hm_adapters_adl[platform_devices_id].od_version;
data.hm_device[device_id].fan_get_supported = hm_adapters_adl[platform_devices_id].fan_get_supported;
- data.hm_device[device_id].fan_set_supported = hm_adapters_adl[platform_devices_id].fan_set_supported;
+ data.hm_device[device_id].fan_set_supported = 0;
}
if (device_param->device_vendor_id == VENDOR_ID_NV)
}
else if (device_param->device_vendor_id == VENDOR_ID_NV)
{
- #ifdef _POSIX
- rc = hm_set_fanspeed_with_device_id_xnvctrl (device_id, fanspeed);
+ #ifdef LINUX
+ rc = set_fan_control (data.hm_xnvctrl, data.hm_device[device_id].xnvctrl, NV_CTRL_GPU_COOLER_MANUAL_CONTROL_TRUE);
+ #endif
+
+ #ifdef WIN
+ rc = hm_set_fanspeed_with_device_id_nvapi (device_id, fanspeed, 1);
#endif
}
}
else if (device_param->device_vendor_id == VENDOR_ID_NV)
{
- #ifdef _POSIX
+ #ifdef LINUX
rc = set_fan_control (data.hm_xnvctrl, data.hm_device[device_id].xnvctrl, NV_CTRL_GPU_COOLER_MANUAL_CONTROL_FALSE);
#endif
+
+ #ifdef WIN
+ rc = hm_set_fanspeed_with_device_id_nvapi (device_id, fanspeed, fanpolicy);
+ #endif
}
if (rc == -1) log_info ("WARNING: Failed to restore default fan speed and policy for device #%", device_id + 1);