From 63cb57c5eb0d6bc083f54eb100cb972b0e7bca69 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 1 Apr 2009 16:22:02 -0400 Subject: Add DynamicPM Option Dyanmically switch between power states. Switch to a low power state when the system is idle (DPMS off). --- src/radeon.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/radeon.h') 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 */ -- cgit v1.2.3