summaryrefslogtreecommitdiff
path: root/driver/xf86-video-radeonhd/src/rhd_atombios.h
diff options
context:
space:
mode:
Diffstat (limited to 'driver/xf86-video-radeonhd/src/rhd_atombios.h')
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_atombios.h70
1 files changed, 50 insertions, 20 deletions
diff --git a/driver/xf86-video-radeonhd/src/rhd_atombios.h b/driver/xf86-video-radeonhd/src/rhd_atombios.h
index 56e4a3936..16c24f592 100644
--- a/driver/xf86-video-radeonhd/src/rhd_atombios.h
+++ b/driver/xf86-video-radeonhd/src/rhd_atombios.h
@@ -37,27 +37,27 @@
#define RHD_ATOMBIOS_OUTPUT 8
typedef enum _AtomBiosRequestID {
- ATOMBIOS_INIT,
- ATOMBIOS_TEARDOWN,
+ ATOM_INIT,
+ ATOM_TEARDOWN,
# ifdef ATOM_BIOS_PARSER
- ATOMBIOS_EXEC,
+ ATOM_EXEC,
# endif
- ATOMBIOS_ALLOCATE_FB_SCRATCH,
- ATOMBIOS_GET_CONNECTORS,
- ATOMBIOS_GET_OUTPUT_DEVICE_LIST,
- ATOMBIOS_GET_PANEL_MODE,
- ATOMBIOS_GET_PANEL_EDID,
- ATOMBIOS_GET_CODE_DATA_TABLE,
- GET_DEFAULT_ENGINE_CLOCK,
- GET_DEFAULT_MEMORY_CLOCK,
- GET_MAX_PIXEL_CLOCK_PLL_OUTPUT,
- GET_MIN_PIXEL_CLOCK_PLL_OUTPUT,
- GET_MAX_PIXEL_CLOCK_PLL_INPUT,
- GET_MIN_PIXEL_CLOCK_PLL_INPUT,
- GET_MAX_PIXEL_CLK,
- GET_REF_CLOCK,
- GET_FW_FB_START,
- GET_FW_FB_SIZE,
+ ATOM_ALLOCATE_FB_SCRATCH,
+ ATOM_GET_CONNECTORS,
+ ATOM_GET_OUTPUT_DEVICE_LIST,
+ ATOM_GET_PANEL_MODE,
+ ATOM_GET_PANEL_EDID,
+ ATOM_GET_CODE_DATA_TABLE,
+ ATOM_GET_DEFAULT_ENGINE_CLOCK,
+ ATOM_GET_DEFAULT_MEMORY_CLOCK,
+ ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT,
+ ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT,
+ ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT,
+ ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT,
+ ATOM_GET_MAX_PIXEL_CLK,
+ ATOM_GET_REF_CLOCK,
+ ATOM_GET_FW_FB_START,
+ ATOM_GET_FW_FB_SIZE,
ATOM_TMDS_MAX_FREQUENCY,
ATOM_TMDS_PLL_CHARGE_PUMP,
ATOM_TMDS_PLL_DUTY_CYCLE,
@@ -101,7 +101,17 @@ typedef enum _AtomBiosRequestID {
ATOM_GET_PCIE_LANES,
ATOM_SET_REGISTER_LIST_LOCATION,
ATOM_RESTORE_REGISTERS,
- FUNC_END
+ ATOM_GET_ENGINE_CLOCK,
+ ATOM_GET_MEMORY_CLOCK,
+ ATOM_SET_ENGINE_CLOCK,
+ ATOM_SET_MEMORY_CLOCK,
+ ATOM_PM_SETUP,
+ ATOM_PM_CLOCKGATING_SETUP,
+ ATOM_GET_CHIP_LIMITS,
+ ATOM_GET_VOLTAGE,
+ ATOM_SET_VOLTAGE,
+ ATOM_GET_CHIP_CONFIGS,
+ ATOM_FUNC_END
} AtomBiosRequestID;
typedef enum _AtomBiosResult {
@@ -187,6 +197,20 @@ typedef struct AtomGoldenSettings
} AtomGoldenSettings;
+typedef struct AtomChipLimits
+{
+ struct rhdPowerState Minimum;
+ struct rhdPowerState Maximum;
+ struct rhdPowerState Default;
+} AtomChipLimits;
+
+typedef struct AtomChipConfigs
+{
+ int num;
+ struct rhdPowerState *Settings;
+} AtomChipConfigs;
+
+
typedef union AtomBiosArg
{
CARD32 val;
@@ -209,6 +233,9 @@ typedef union AtomBiosArg
AtomExecRec exec;
AtomFbRec fb;
enum RHD_TV_MODE tvMode;
+ unsigned long clockValue;
+ AtomChipLimits chipLimits;
+ AtomChipConfigs chipConfigs;
} AtomBiosArgRec, *AtomBiosArgPtr;
enum atomCrtc {
@@ -485,6 +512,9 @@ struct atomCrtcBlank {
unsigned short r, g, b;
};
+extern int rhdUpdateAtomBIOSUsage(RHDPtr rhdPtr, char *string);
+extern char *rhdReturnAtomBIOSUsage(RHDPtr rhdPtr);
+
extern AtomBiosResult RHDAtomBiosFunc(int scrnIndex, atomBiosHandlePtr handle,
AtomBiosRequestID id, AtomBiosArgPtr data);