summaryrefslogtreecommitdiff
path: root/src/radeon.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-04-04 11:39:35 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-04-15 11:45:53 -0400
commit4b3a3785f7b06205eeec6ca6b8913ecc2b94bd1f (patch)
tree7e21724ea32fad99c1d8d0f9a990ceed5864a65e /src/radeon.h
parent63cb57c5eb0d6bc083f54eb100cb972b0e7bca69 (diff)
Unify ForceLowPowerMode and DynamicPM Options
Force lower power mode and switch to a lower mode when idle.
Diffstat (limited to 'src/radeon.h')
-rw-r--r--src/radeon.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/src/radeon.h b/src/radeon.h
index c1ad2c3e..7e84aebc 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -414,11 +414,30 @@ typedef enum {
} RADEONCardType;
typedef enum {
- POWER_MODE_NONE,
- POWER_MODE_STATIC,
- POWER_MODE_DYNAMIC
+ POWER_DEFAULT,
+ POWER_LOW,
+ POWER_HIGH
+} RADEONPMType;
+
+typedef struct {
+ RADEONPMType type;
+ uint32_t sclk;
+ uint32_t mclk;
+ uint32_t pcie_lanes;
+ uint32_t flags;
} RADEONPowerMode;
+typedef struct {
+ /* power modes */
+ int num_modes;
+ int current_mode;
+ RADEONPowerMode mode[3];
+
+ Bool clock_gating_enabled;
+ Bool dynamic_mode_enabled;
+ Bool force_low_power_enabled;
+} RADEONPowerManagement;
+
typedef struct _atomBiosHandle *atomBiosHandlePtr;
typedef struct {
@@ -900,8 +919,7 @@ typedef struct {
Bool r4xx_atom;
/* pm */
- RADEONPowerMode power_mode;
- Bool low_power_active;
+ RADEONPowerManagement pm;
} RADEONInfoRec, *RADEONInfoPtr;
@@ -1083,10 +1101,11 @@ extern void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn,
RADEONSavePtr restore);
/* radeon_pm.c */
-extern void RADEONSetClockGating(ScrnInfoPtr pScrn, Bool enable);
-extern void RADEONStaticLowPowerMode(ScrnInfoPtr pScrn, Bool enable);
+extern void RADEONPMInit(ScrnInfoPtr pScrn);
extern void RADEONPMBlockHandler(ScrnInfoPtr pScrn);
-extern void RADEONDynamicLowPowerMode(ScrnInfoPtr pScrn, Bool enable);
+extern void RADEONPMEnterVT(ScrnInfoPtr pScrn);
+extern void RADEONPMLeaveVT(ScrnInfoPtr pScrn);
+extern void RADEONPMFini(ScrnInfoPtr pScrn);
#ifdef USE_EXA
/* radeon_exa.c */