diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-04-04 11:39:35 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-04-15 11:45:53 -0400 |
commit | 4b3a3785f7b06205eeec6ca6b8913ecc2b94bd1f (patch) | |
tree | 7e21724ea32fad99c1d8d0f9a990ceed5864a65e /src/radeon.h | |
parent | 63cb57c5eb0d6bc083f54eb100cb972b0e7bca69 (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.h | 35 |
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 */ |