Drop dependencies on non-distributable ADL/NVML headers. The needed glue
is copied into our respective local headers. Should close #120.
This commit is contained in:
+234
-1
@@ -10,7 +10,240 @@
|
||||
|
||||
#include <common.h>
|
||||
|
||||
#include <adl_sdk.h>
|
||||
/**
|
||||
* Declarations from adl_sdk.h and subheaders
|
||||
*/
|
||||
|
||||
#define ADL_OK 0
|
||||
#define ADL_ERR -1
|
||||
#define ADL_ERR_NOT_SUPPORTED -8
|
||||
|
||||
#define ADL_MAX_PATH 256
|
||||
|
||||
#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_READ 1
|
||||
#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_WRITE 2
|
||||
#define ADL_DL_FANCTRL_SPEED_TYPE_PERCENT 1
|
||||
#define ADL_DL_FANCTRL_FLAG_USER_DEFINED_SPEED 1
|
||||
|
||||
#define ADL_OD6_SETSTATE_PERFORMANCE 0x00000001
|
||||
#define ADL_OD6_GETSTATEINFO_CUSTOM_PERFORMANCE 0x00000004
|
||||
#define ADL_OD6_FANSPEED_TYPE_PERCENT 0x00000001
|
||||
|
||||
typedef struct AdapterInfo
|
||||
{
|
||||
int iSize;
|
||||
int iAdapterIndex;
|
||||
char strUDID[ADL_MAX_PATH];
|
||||
int iBusNumber;
|
||||
int iDeviceNumber;
|
||||
int iFunctionNumber;
|
||||
int iVendorID;
|
||||
char strAdapterName[ADL_MAX_PATH];
|
||||
char strDisplayName[ADL_MAX_PATH];
|
||||
int iPresent;
|
||||
|
||||
#if defined (_WIN32) || defined (_WIN64)
|
||||
int iExist;
|
||||
char strDriverPath[ADL_MAX_PATH];
|
||||
char strDriverPathExt[ADL_MAX_PATH];
|
||||
char strPNPString[ADL_MAX_PATH];
|
||||
int iOSDisplayIndex;
|
||||
#endif /* (_WIN32) || (_WIN64) */
|
||||
|
||||
#if defined (__linux__)
|
||||
int iXScreenNum;
|
||||
int iDrvIndex;
|
||||
char strXScreenConfigName[ADL_MAX_PATH];
|
||||
#endif /* (__linux__) */
|
||||
} AdapterInfo, *LPAdapterInfo;
|
||||
|
||||
typedef struct ADLThermalControllerInfo
|
||||
{
|
||||
int iSize;
|
||||
int iThermalDomain;
|
||||
int iDomainIndex;
|
||||
int iFlags;
|
||||
} ADLThermalControllerInfo;
|
||||
|
||||
typedef struct ADLTemperature
|
||||
{
|
||||
int iSize;
|
||||
int iTemperature;
|
||||
} ADLTemperature;
|
||||
|
||||
typedef struct ADLFanSpeedInfo
|
||||
{
|
||||
int iSize;
|
||||
int iFlags;
|
||||
int iMinPercent;
|
||||
int iMaxPercent;
|
||||
int iMinRPM;
|
||||
int iMaxRPM;
|
||||
} ADLFanSpeedInfo;
|
||||
|
||||
typedef struct ADLFanSpeedValue
|
||||
{
|
||||
int iSize;
|
||||
int iSpeedType;
|
||||
int iFanSpeed;
|
||||
int iFlags;
|
||||
} ADLFanSpeedValue;
|
||||
|
||||
typedef struct ADLDisplayID
|
||||
{
|
||||
int iDisplayLogicalIndex;
|
||||
int iDisplayPhysicalIndex;
|
||||
int iDisplayLogicalAdapterIndex;
|
||||
int iDisplayPhysicalAdapterIndex;
|
||||
} ADLDisplayID, *LPADLDisplayID;
|
||||
|
||||
typedef struct ADLDisplayInfo
|
||||
{
|
||||
ADLDisplayID displayID;
|
||||
int iDisplayControllerIndex;
|
||||
char strDisplayName[ADL_MAX_PATH];
|
||||
char strDisplayManufacturerName[ADL_MAX_PATH];
|
||||
int iDisplayType;
|
||||
int iDisplayOutputType;
|
||||
int iDisplayConnector;
|
||||
int iDisplayInfoMask;
|
||||
int iDisplayInfoValue;
|
||||
} ADLDisplayInfo, *LPADLDisplayInfo;
|
||||
|
||||
typedef struct ADLBiosInfo
|
||||
{
|
||||
char strPartNumber[ADL_MAX_PATH];
|
||||
char strVersion[ADL_MAX_PATH];
|
||||
char strDate[ADL_MAX_PATH];
|
||||
} ADLBiosInfo, *LPADLBiosInfo;
|
||||
|
||||
typedef struct ADLPMActivity
|
||||
{
|
||||
int iSize;
|
||||
int iEngineClock;
|
||||
int iMemoryClock;
|
||||
int iVddc;
|
||||
int iActivityPercent;
|
||||
int iCurrentPerformanceLevel;
|
||||
int iCurrentBusSpeed;
|
||||
int iCurrentBusLanes;
|
||||
int iMaximumBusLanes;
|
||||
int iReserved;
|
||||
} ADLPMActivity;
|
||||
|
||||
typedef struct ADLODParameterRange
|
||||
{
|
||||
int iMin;
|
||||
int iMax;
|
||||
int iStep;
|
||||
} ADLODParameterRange;
|
||||
|
||||
typedef struct ADLODParameters
|
||||
{
|
||||
int iSize;
|
||||
int iNumberOfPerformanceLevels;
|
||||
int iActivityReportingSupported;
|
||||
int iDiscretePerformanceLevels;
|
||||
int iReserved;
|
||||
ADLODParameterRange sEngineClock;
|
||||
ADLODParameterRange sMemoryClock;
|
||||
ADLODParameterRange sVddc;
|
||||
} ADLODParameters;
|
||||
|
||||
typedef struct ADLODPerformanceLevel
|
||||
{
|
||||
int iEngineClock;
|
||||
int iMemoryClock;
|
||||
int iVddc;
|
||||
} ADLODPerformanceLevel;
|
||||
|
||||
typedef struct ADLODPerformanceLevels
|
||||
{
|
||||
int iSize;
|
||||
int iReserved;
|
||||
ADLODPerformanceLevel aLevels [1];
|
||||
} ADLODPerformanceLevels;
|
||||
|
||||
typedef struct ADLOD6FanSpeedInfo
|
||||
{
|
||||
int iSpeedType;
|
||||
int iFanSpeedPercent;
|
||||
int iFanSpeedRPM;
|
||||
int iExtValue;
|
||||
int iExtMask;
|
||||
} ADLOD6FanSpeedInfo;
|
||||
|
||||
typedef struct ADLOD6FanSpeedValue
|
||||
{
|
||||
int iSpeedType;
|
||||
int iFanSpeed;
|
||||
int iExtValue;
|
||||
int iExtMask;
|
||||
} ADLOD6FanSpeedValue;
|
||||
|
||||
typedef struct ADLOD6CurrentStatus
|
||||
{
|
||||
int iEngineClock;
|
||||
int iMemoryClock;
|
||||
int iActivityPercent;
|
||||
int iCurrentPerformanceLevel;
|
||||
int iCurrentBusSpeed;
|
||||
int iCurrentBusLanes;
|
||||
int iMaximumBusLanes;
|
||||
int iExtValue;
|
||||
int iExtMask;
|
||||
} ADLOD6CurrentStatus;
|
||||
|
||||
typedef struct ADLOD6ParameterRange
|
||||
{
|
||||
int iMin;
|
||||
int iMax;
|
||||
int iStep;
|
||||
} ADLOD6ParameterRange;
|
||||
|
||||
typedef struct ADLOD6Capabilities
|
||||
{
|
||||
int iCapabilities;
|
||||
int iSupportedStates;
|
||||
int iNumberOfPerformanceLevels;
|
||||
ADLOD6ParameterRange sEngineClockRange;
|
||||
ADLOD6ParameterRange sMemoryClockRange;
|
||||
int iExtValue;
|
||||
int iExtMask;
|
||||
} ADLOD6Capabilities;
|
||||
|
||||
typedef struct ADLOD6PerformanceLevel
|
||||
{
|
||||
int iEngineClock;
|
||||
int iMemoryClock;
|
||||
} ADLOD6PerformanceLevel;
|
||||
|
||||
typedef struct ADLOD6StateInfo
|
||||
{
|
||||
int iNumberOfPerformanceLevels;
|
||||
int iExtValue;
|
||||
int iExtMask;
|
||||
ADLOD6PerformanceLevel aLevels [1];
|
||||
} ADLOD6StateInfo;
|
||||
|
||||
typedef struct ADLOD6PowerControlInfo
|
||||
{
|
||||
int iMinValue;
|
||||
int iMaxValue;
|
||||
int iStepValue;
|
||||
int iExtValue;
|
||||
int iExtMask;
|
||||
} ADLOD6PowerControlInfo;
|
||||
|
||||
#if !(defined (_WIN32) || defined (_WIN64))
|
||||
#define __stdcall
|
||||
#endif
|
||||
|
||||
typedef void* (__stdcall *ADL_MAIN_MALLOC_CALLBACK )( int );
|
||||
|
||||
/*
|
||||
* End of declarations from adl_sdk.h and subheaders
|
||||
**/
|
||||
|
||||
typedef int HM_ADAPTER_AMD;
|
||||
|
||||
|
||||
+42
-1
@@ -10,7 +10,48 @@
|
||||
|
||||
#include <common.h>
|
||||
|
||||
#include <nvml.h>
|
||||
/**
|
||||
* Declarations from nvml.h
|
||||
*/
|
||||
|
||||
typedef struct nvmlDevice_st* nvmlDevice_t;
|
||||
|
||||
typedef struct nvmlPciInfo_st {
|
||||
char busId[16];
|
||||
unsigned int domain;
|
||||
unsigned int bus;
|
||||
unsigned int device;
|
||||
unsigned int pciDeviceId;
|
||||
unsigned int pciSubSystemId;
|
||||
} nvmlPciInfo_t;
|
||||
|
||||
typedef struct nvmlUtilization_st {
|
||||
unsigned int gpu; // GPU kernel execution last second, percent
|
||||
unsigned int memory; // GPU memory read/write last second, percent
|
||||
} nvmlUtilization_t;
|
||||
|
||||
typedef enum nvmlTemperatureSensors_enum {
|
||||
NVML_TEMPERATURE_GPU = 0 // Temperature sensor for the GPU die
|
||||
} nvmlTemperatureSensors_t;
|
||||
|
||||
typedef enum nvmlReturn_enum {
|
||||
NVML_SUCCESS = 0, // The operation was successful
|
||||
NVML_ERROR_UNINITIALIZED = 1, // NVML was not first initialized with nvmlInit()
|
||||
NVML_ERROR_INVALID_ARGUMENT = 2, // A supplied argument is invalid
|
||||
NVML_ERROR_NOT_SUPPORTED = 3, // The requested operation is not available on target device
|
||||
NVML_ERROR_NO_PERMISSION = 4, // The current user does not have permission for operation
|
||||
NVML_ERROR_ALREADY_INITIALIZED = 5, // Deprecated: Multiple initializations are now allowed through ref counting
|
||||
NVML_ERROR_NOT_FOUND = 6, // A query to find an object was unsuccessful
|
||||
NVML_ERROR_INSUFFICIENT_SIZE = 7, // An input argument is not large enough
|
||||
NVML_ERROR_INSUFFICIENT_POWER = 8, // A device's external power cables are not properly attached
|
||||
NVML_ERROR_DRIVER_NOT_LOADED = 9, // NVIDIA driver is not loaded
|
||||
NVML_ERROR_TIMEOUT = 10, // User provided timeout passed
|
||||
NVML_ERROR_UNKNOWN = 999 // An internal driver error occurred
|
||||
} nvmlReturn_t;
|
||||
|
||||
/*
|
||||
* End of declarations from nvml.h
|
||||
**/
|
||||
|
||||
typedef nvmlDevice_t HM_ADAPTER_NV;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user