mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-02 15:21:03 +00:00
drm/radeon: atombios power table updates (v2)
v2: further updates Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
1da8f5fbb1
commit
9ae94be523
@ -7696,6 +7696,7 @@ typedef struct _ATOM_PPLIB_THERMALCONTROLLER
|
||||
#define ATOM_PP_THERMALCONTROLLER_NISLANDS 15
|
||||
#define ATOM_PP_THERMALCONTROLLER_SISLANDS 16
|
||||
#define ATOM_PP_THERMALCONTROLLER_LM96163 17
|
||||
#define ATOM_PP_THERMALCONTROLLER_CISLANDS 18
|
||||
|
||||
// Thermal controller 'combo type' to use an external controller for Fan control and an internal controller for thermal.
|
||||
// We probably should reserve the bit 0x80 for this use.
|
||||
@ -7738,6 +7739,8 @@ typedef struct _ATOM_PPLIB_EXTENDEDHEADER
|
||||
// Add extra system parameters here, always adjust size to include all fields.
|
||||
USHORT usVCETableOffset; //points to ATOM_PPLIB_VCE_Table
|
||||
USHORT usUVDTableOffset; //points to ATOM_PPLIB_UVD_Table
|
||||
USHORT usSAMUTableOffset; //points to ATOM_PPLIB_SAMU_Table
|
||||
USHORT usPPMTableOffset; //points to ATOM_PPLIB_PPM_Table
|
||||
} ATOM_PPLIB_EXTENDEDHEADER;
|
||||
|
||||
//// ATOM_PPLIB_POWERPLAYTABLE::ulPlatformCaps
|
||||
@ -7759,7 +7762,7 @@ typedef struct _ATOM_PPLIB_EXTENDEDHEADER
|
||||
#define ATOM_PP_PLATFORM_CAP_VDDCI_CONTROL 0x8000 // Does the driver control VDDCI independently from VDDC.
|
||||
#define ATOM_PP_PLATFORM_CAP_REGULATOR_HOT 0x00010000 // Enable the 'regulator hot' feature.
|
||||
#define ATOM_PP_PLATFORM_CAP_BACO 0x00020000 // Does the driver supports BACO state.
|
||||
|
||||
#define ATOM_PP_PLATFORM_CAP_NEW_CAC_VOLTAGE 0x00040000 // Does the driver supports new CAC voltage table.
|
||||
|
||||
typedef struct _ATOM_PPLIB_POWERPLAYTABLE
|
||||
{
|
||||
@ -7820,7 +7823,7 @@ typedef struct _ATOM_PPLIB_POWERPLAYTABLE4
|
||||
USHORT usVddcDependencyOnMCLKOffset;
|
||||
USHORT usMaxClockVoltageOnDCOffset;
|
||||
USHORT usVddcPhaseShedLimitsTableOffset; // Points to ATOM_PPLIB_PhaseSheddingLimits_Table
|
||||
USHORT usReserved;
|
||||
USHORT usMvddDependencyOnMCLKOffset;
|
||||
} ATOM_PPLIB_POWERPLAYTABLE4, *LPATOM_PPLIB_POWERPLAYTABLE4;
|
||||
|
||||
typedef struct _ATOM_PPLIB_POWERPLAYTABLE5
|
||||
@ -7985,6 +7988,17 @@ typedef struct _ATOM_PPLIB_SI_CLOCK_INFO
|
||||
|
||||
} ATOM_PPLIB_SI_CLOCK_INFO;
|
||||
|
||||
typedef struct _ATOM_PPLIB_CI_CLOCK_INFO
|
||||
{
|
||||
USHORT usEngineClockLow;
|
||||
UCHAR ucEngineClockHigh;
|
||||
|
||||
USHORT usMemoryClockLow;
|
||||
UCHAR ucMemoryClockHigh;
|
||||
|
||||
UCHAR ucPCIEGen;
|
||||
USHORT usPCIELane;
|
||||
} ATOM_PPLIB_CI_CLOCK_INFO;
|
||||
|
||||
typedef struct _ATOM_PPLIB_RS780_CLOCK_INFO
|
||||
|
||||
@ -8102,8 +8116,8 @@ typedef struct _ATOM_PPLIB_Clock_Voltage_Limit_Table
|
||||
|
||||
typedef struct _ATOM_PPLIB_CAC_Leakage_Record
|
||||
{
|
||||
USHORT usVddc; // We use this field for the "fake" standardized VDDC for power calculations
|
||||
ULONG ulLeakageValue;
|
||||
USHORT usVddc; // We use this field for the "fake" standardized VDDC for power calculations; For CI and newer, we use this as the real VDDC value.
|
||||
ULONG ulLeakageValue; // For CI and newer we use this as the "fake" standar VDDC value.
|
||||
}ATOM_PPLIB_CAC_Leakage_Record;
|
||||
|
||||
typedef struct _ATOM_PPLIB_CAC_Leakage_Table
|
||||
@ -8218,6 +8232,42 @@ typedef struct _ATOM_PPLIB_UVD_Table
|
||||
// ATOM_PPLIB_UVD_State_Table states;
|
||||
}ATOM_PPLIB_UVD_Table;
|
||||
|
||||
|
||||
typedef struct _ATOM_PPLIB_SAMClk_Voltage_Limit_Record
|
||||
{
|
||||
USHORT usVoltage;
|
||||
USHORT usSAMClockLow;
|
||||
UCHAR ucSAMClockHigh;
|
||||
}ATOM_PPLIB_SAMClk_Voltage_Limit_Record;
|
||||
|
||||
typedef struct _ATOM_PPLIB_SAMClk_Voltage_Limit_Table{
|
||||
UCHAR numEntries;
|
||||
ATOM_PPLIB_SAMClk_Voltage_Limit_Record entries[1];
|
||||
}ATOM_PPLIB_SAMClk_Voltage_Limit_Table;
|
||||
|
||||
typedef struct _ATOM_PPLIB_SAMU_Table
|
||||
{
|
||||
UCHAR revid;
|
||||
ATOM_PPLIB_SAMClk_Voltage_Limit_Table limits;
|
||||
}ATOM_PPLIB_SAMU_Table;
|
||||
|
||||
#define ATOM_PPM_A_A 1
|
||||
#define ATOM_PPM_A_I 2
|
||||
typedef struct _ATOM_PPLIB_PPM_Table
|
||||
{
|
||||
UCHAR ucRevId;
|
||||
UCHAR ucPpmDesign; //A+I or A+A
|
||||
USHORT usCpuCoreNumber;
|
||||
ULONG ulPlatformTDP;
|
||||
ULONG ulSmallACPlatformTDP;
|
||||
ULONG ulPlatformTDC;
|
||||
ULONG ulSmallACPlatformTDC;
|
||||
ULONG ulApuTDP;
|
||||
ULONG ulDGpuTDP;
|
||||
ULONG ulDGpuUlvPower;
|
||||
ULONG ulTjmax;
|
||||
} ATOM_PPLIB_PPM_Table;
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user