mirror of
https://github.com/GOSTSec/sgminer
synced 2025-09-04 02:02:29 +00:00
Ignore whether the display is active or not since only display enabled devices work this way, and we skip over repeat entries anwyay.
This commit is contained in:
parent
4d13f8ad3c
commit
b8be1e6c15
37
adl.c
37
adl.c
@ -57,7 +57,6 @@ static ADL_ADAPTER_NUMBEROFADAPTERS_GET ADL_Adapter_NumberOfAdapters_Get;
|
|||||||
static ADL_ADAPTER_ADAPTERINFO_GET ADL_Adapter_AdapterInfo_Get;
|
static ADL_ADAPTER_ADAPTERINFO_GET ADL_Adapter_AdapterInfo_Get;
|
||||||
static ADL_ADAPTER_ID_GET ADL_Adapter_ID_Get;
|
static ADL_ADAPTER_ID_GET ADL_Adapter_ID_Get;
|
||||||
static ADL_OVERDRIVE5_TEMPERATURE_GET ADL_Overdrive5_Temperature_Get;
|
static ADL_OVERDRIVE5_TEMPERATURE_GET ADL_Overdrive5_Temperature_Get;
|
||||||
static ADL_ADAPTER_ACTIVE_GET ADL_Adapter_Active_Get;
|
|
||||||
static ADL_OVERDRIVE5_CURRENTACTIVITY_GET ADL_Overdrive5_CurrentActivity_Get;
|
static ADL_OVERDRIVE5_CURRENTACTIVITY_GET ADL_Overdrive5_CurrentActivity_Get;
|
||||||
static ADL_OVERDRIVE5_ODPARAMETERS_GET ADL_Overdrive5_ODParameters_Get;
|
static ADL_OVERDRIVE5_ODPARAMETERS_GET ADL_Overdrive5_ODParameters_Get;
|
||||||
static ADL_OVERDRIVE5_FANSPEEDINFO_GET ADL_Overdrive5_FanSpeedInfo_Get;
|
static ADL_OVERDRIVE5_FANSPEEDINFO_GET ADL_Overdrive5_FanSpeedInfo_Get;
|
||||||
@ -120,7 +119,6 @@ void init_adl(int nDevs)
|
|||||||
ADL_Adapter_AdapterInfo_Get = (ADL_ADAPTER_ADAPTERINFO_GET) GetProcAddress(hDLL,"ADL_Adapter_AdapterInfo_Get");
|
ADL_Adapter_AdapterInfo_Get = (ADL_ADAPTER_ADAPTERINFO_GET) GetProcAddress(hDLL,"ADL_Adapter_AdapterInfo_Get");
|
||||||
ADL_Adapter_ID_Get = (ADL_ADAPTER_ID_GET) GetProcAddress(hDLL,"ADL_Adapter_ID_Get");
|
ADL_Adapter_ID_Get = (ADL_ADAPTER_ID_GET) GetProcAddress(hDLL,"ADL_Adapter_ID_Get");
|
||||||
ADL_Overdrive5_Temperature_Get = (ADL_OVERDRIVE5_TEMPERATURE_GET) GetProcAddress(hDLL,"ADL_Overdrive5_Temperature_Get");
|
ADL_Overdrive5_Temperature_Get = (ADL_OVERDRIVE5_TEMPERATURE_GET) GetProcAddress(hDLL,"ADL_Overdrive5_Temperature_Get");
|
||||||
ADL_Adapter_Active_Get = (ADL_ADAPTER_ACTIVE_GET) GetProcAddress(hDLL, "ADL_Adapter_Active_Get");
|
|
||||||
ADL_Overdrive5_CurrentActivity_Get = (ADL_OVERDRIVE5_CURRENTACTIVITY_GET) GetProcAddress(hDLL, "ADL_Overdrive5_CurrentActivity_Get");
|
ADL_Overdrive5_CurrentActivity_Get = (ADL_OVERDRIVE5_CURRENTACTIVITY_GET) GetProcAddress(hDLL, "ADL_Overdrive5_CurrentActivity_Get");
|
||||||
ADL_Overdrive5_ODParameters_Get = (ADL_OVERDRIVE5_ODPARAMETERS_GET) GetProcAddress(hDLL, "ADL_Overdrive5_ODParameters_Get");
|
ADL_Overdrive5_ODParameters_Get = (ADL_OVERDRIVE5_ODPARAMETERS_GET) GetProcAddress(hDLL, "ADL_Overdrive5_ODParameters_Get");
|
||||||
ADL_Overdrive5_FanSpeedInfo_Get = (ADL_OVERDRIVE5_FANSPEEDINFO_GET) GetProcAddress(hDLL, "ADL_Overdrive5_FanSpeedInfo_Get");
|
ADL_Overdrive5_FanSpeedInfo_Get = (ADL_OVERDRIVE5_FANSPEEDINFO_GET) GetProcAddress(hDLL, "ADL_Overdrive5_FanSpeedInfo_Get");
|
||||||
@ -137,7 +135,7 @@ void init_adl(int nDevs)
|
|||||||
if (!ADL_Main_Control_Create || !ADL_Main_Control_Destroy ||
|
if (!ADL_Main_Control_Create || !ADL_Main_Control_Destroy ||
|
||||||
!ADL_Adapter_NumberOfAdapters_Get || !ADL_Adapter_AdapterInfo_Get ||
|
!ADL_Adapter_NumberOfAdapters_Get || !ADL_Adapter_AdapterInfo_Get ||
|
||||||
!ADL_Adapter_ID_Get || !ADL_Overdrive5_Temperature_Get ||
|
!ADL_Adapter_ID_Get || !ADL_Overdrive5_Temperature_Get ||
|
||||||
!ADL_Adapter_Active_Get || !ADL_Overdrive5_CurrentActivity_Get ||
|
!ADL_Overdrive5_CurrentActivity_Get ||
|
||||||
!ADL_Overdrive5_ODParameters_Get || !ADL_Overdrive5_FanSpeedInfo_Get ||
|
!ADL_Overdrive5_ODParameters_Get || !ADL_Overdrive5_FanSpeedInfo_Get ||
|
||||||
!ADL_Overdrive5_FanSpeed_Get || !ADL_Overdrive5_FanSpeed_Set ||
|
!ADL_Overdrive5_FanSpeed_Get || !ADL_Overdrive5_FanSpeed_Set ||
|
||||||
!ADL_Overdrive5_ODPerformanceLevels_Get || !ADL_Overdrive5_ODPerformanceLevels_Set ||
|
!ADL_Overdrive5_ODPerformanceLevels_Get || !ADL_Overdrive5_ODPerformanceLevels_Set ||
|
||||||
@ -189,7 +187,7 @@ void init_adl(int nDevs)
|
|||||||
int lev;
|
int lev;
|
||||||
|
|
||||||
iAdapterIndex = lpInfo[i].iAdapterIndex;
|
iAdapterIndex = lpInfo[i].iAdapterIndex;
|
||||||
/* Get unique identifier of the adapter */
|
/* Get unique identifier of the adapter, 0 means not AMD */
|
||||||
if (ADL_Adapter_ID_Get(iAdapterIndex, &lpAdapterID) != ADL_OK) {
|
if (ADL_Adapter_ID_Get(iAdapterIndex, &lpAdapterID) != ADL_OK) {
|
||||||
applog(LOG_INFO, "Failed to ADL_Adapter_ID_Get");
|
applog(LOG_INFO, "Failed to ADL_Adapter_ID_Get");
|
||||||
continue;
|
continue;
|
||||||
@ -197,33 +195,26 @@ void init_adl(int nDevs)
|
|||||||
if (!lpAdapterID)
|
if (!lpAdapterID)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (lpAdapterID != last_adapter) {
|
/* Each adapter may have multiple entries */
|
||||||
/* We found a truly new adapter instead of a logical
|
if (lpAdapterID == last_adapter)
|
||||||
* one. Now since there's no way of correlating the
|
continue;
|
||||||
* opencl enumerated devices and the ADL enumerated
|
|
||||||
* ones, we have to assume they're in the same order.*/
|
|
||||||
if (++devices > nDevs) {
|
|
||||||
applog(LOG_ERR, "ADL found more devices than opencl");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
gpu = devices - 1;
|
|
||||||
last_adapter = lpAdapterID;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* See if the adapter is an AMD device with ADL active */
|
/* We found a truly new adapter instead of a logical
|
||||||
if (ADL_Adapter_Active_Get(iAdapterIndex, &lpStatus) != ADL_OK) {
|
* one. Now since there's no way of correlating the
|
||||||
applog(LOG_INFO, "Failed to ADL_Adapter_Active_Get");
|
* opencl enumerated devices and the ADL enumerated
|
||||||
continue;
|
* ones, we have to assume they're in the same order.*/
|
||||||
|
if (++devices > nDevs) {
|
||||||
|
applog(LOG_ERR, "ADL found more devices than opencl");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (!lpStatus)
|
gpu = devices - 1;
|
||||||
continue;
|
last_adapter = lpAdapterID;
|
||||||
|
|
||||||
/* From here on we know this device is a discrete device and
|
/* From here on we know this device is a discrete device and
|
||||||
* should support ADL */
|
* should support ADL */
|
||||||
ga = &gpus[gpu].adl;
|
ga = &gpus[gpu].adl;
|
||||||
ga->iAdapterIndex = iAdapterIndex;
|
ga->iAdapterIndex = iAdapterIndex;
|
||||||
ga->lpAdapterID = lpAdapterID;
|
ga->lpAdapterID = lpAdapterID;
|
||||||
ga->lpStatus = lpStatus;
|
|
||||||
ga->DefPerfLev = NULL;
|
ga->DefPerfLev = NULL;
|
||||||
|
|
||||||
/* Save whatever the current speed setting is to restore on exit */
|
/* Save whatever the current speed setting is to restore on exit */
|
||||||
|
4
miner.h
4
miner.h
@ -160,13 +160,14 @@ struct gpu_adl {
|
|||||||
ADLTemperature lpTemperature;
|
ADLTemperature lpTemperature;
|
||||||
int iAdapterIndex;
|
int iAdapterIndex;
|
||||||
int lpAdapterID;
|
int lpAdapterID;
|
||||||
int lpStatus;
|
|
||||||
ADLPMActivity lpActivity;
|
ADLPMActivity lpActivity;
|
||||||
ADLODParameters lpOdParameters;
|
ADLODParameters lpOdParameters;
|
||||||
ADLODPerformanceLevels *DefPerfLev;
|
ADLODPerformanceLevels *DefPerfLev;
|
||||||
ADLFanSpeedInfo lpFanSpeedInfo;
|
ADLFanSpeedInfo lpFanSpeedInfo;
|
||||||
ADLFanSpeedValue lpFanSpeedValue;
|
ADLFanSpeedValue lpFanSpeedValue;
|
||||||
ADLFanSpeedValue DefFanSpeedValue;
|
ADLFanSpeedValue DefFanSpeedValue;
|
||||||
|
|
||||||
int iEngineClock;
|
int iEngineClock;
|
||||||
int iMemoryClock;
|
int iMemoryClock;
|
||||||
int iVddc;
|
int iVddc;
|
||||||
@ -175,6 +176,7 @@ struct gpu_adl {
|
|||||||
|
|
||||||
bool autofan;
|
bool autofan;
|
||||||
bool autoengine;
|
bool autoengine;
|
||||||
|
|
||||||
int targettemp;
|
int targettemp;
|
||||||
int overtemp;
|
int overtemp;
|
||||||
int minspeed;
|
int minspeed;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user