summaryrefslogtreecommitdiff
path: root/src/radeon.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-04-01 16:22:02 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-04-15 11:45:52 -0400
commit63cb57c5eb0d6bc083f54eb100cb972b0e7bca69 (patch)
treecccada8790b2cd91d4b2ab52c6450fad400d3a51 /src/radeon.h
parenta34a8b37afbea6ed4bf8ca42364195e174250c48 (diff)
Add DynamicPM Option
Dyanmically switch between power states. Switch to a low power state when the system is idle (DPMS off).
Diffstat (limited to 'src/radeon.h')
-rw-r--r--src/radeon.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/radeon.h b/src/radeon.h
index 3a9130cb..c1ad2c3e 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -208,7 +208,8 @@ typedef enum {
OPTION_EXA_VSYNC,
OPTION_ATOM_TVOUT,
OPTION_R4XX_ATOM,
- OPTION_FORCE_LOW_POWER
+ OPTION_FORCE_LOW_POWER,
+ OPTION_DYNAMIC_PM
} RADEONOpts;
@@ -412,6 +413,12 @@ typedef enum {
CARD_PCIE
} RADEONCardType;
+typedef enum {
+ POWER_MODE_NONE,
+ POWER_MODE_STATIC,
+ POWER_MODE_DYNAMIC
+} RADEONPowerMode;
+
typedef struct _atomBiosHandle *atomBiosHandlePtr;
typedef struct {
@@ -893,7 +900,8 @@ typedef struct {
Bool r4xx_atom;
/* pm */
- Bool low_power_mode;
+ RADEONPowerMode power_mode;
+ Bool low_power_active;
} RADEONInfoRec, *RADEONInfoPtr;
@@ -1077,6 +1085,8 @@ extern void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn,
/* radeon_pm.c */
extern void RADEONSetClockGating(ScrnInfoPtr pScrn, Bool enable);
extern void RADEONStaticLowPowerMode(ScrnInfoPtr pScrn, Bool enable);
+extern void RADEONPMBlockHandler(ScrnInfoPtr pScrn);
+extern void RADEONDynamicLowPowerMode(ScrnInfoPtr pScrn, Bool enable);
#ifdef USE_EXA
/* radeon_exa.c */