diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-12-23 13:21:58 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-08 18:32:28 -0500 |
commit | 0ec0e74f784ca08eab0354ab1dada46924c39b73 (patch) | |
tree | dc2a3d67fc5009f385b43bf9198427ff9050e39c /drivers/gpu/drm/radeon/radeon_combios.c | |
parent | 845db70da0bd285813b25bb522a0281f28efbf89 (diff) |
drm/radeon/kms: add a power state type based on power state flags
The idea is to flag a power state with a certain type and use
that type to decide on what state to select. On r6xx+, we
select a state and then transition between clock modes in that
state. On pre-r6xx, we transition between states directly.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_combios.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_combios.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index eac2174abc5b..a4d40de50434 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c | |||
@@ -2406,6 +2406,8 @@ void radeon_combios_get_power_modes(struct radeon_device *rdev) | |||
2406 | (rdev->pm.power_state[state_index].clock_info[0].sclk > | 2406 | (rdev->pm.power_state[state_index].clock_info[0].sclk > |
2407 | rdev->clock.default_sclk)) | 2407 | rdev->clock.default_sclk)) |
2408 | goto default_mode; | 2408 | goto default_mode; |
2409 | rdev->pm.power_state[state_index].type = | ||
2410 | POWER_STATE_TYPE_BATTERY; | ||
2409 | misc = RBIOS16(offset + 0x5 + 0x0); | 2411 | misc = RBIOS16(offset + 0x5 + 0x0); |
2410 | if (rev > 4) | 2412 | if (rev > 4) |
2411 | misc2 = RBIOS16(offset + 0x5 + 0xe); | 2413 | misc2 = RBIOS16(offset + 0x5 + 0xe); |
@@ -2467,6 +2469,8 @@ void radeon_combios_get_power_modes(struct radeon_device *rdev) | |||
2467 | 2469 | ||
2468 | default_mode: | 2470 | default_mode: |
2469 | /* add the default mode */ | 2471 | /* add the default mode */ |
2472 | rdev->pm.power_state[state_index].type = | ||
2473 | POWER_STATE_TYPE_DEFAULT; | ||
2470 | rdev->pm.power_state[state_index].num_clock_modes = 1; | 2474 | rdev->pm.power_state[state_index].num_clock_modes = 1; |
2471 | rdev->pm.power_state[state_index].clock_info[0].mclk = rdev->clock.default_mclk; | 2475 | rdev->pm.power_state[state_index].clock_info[0].mclk = rdev->clock.default_mclk; |
2472 | rdev->pm.power_state[state_index].clock_info[0].sclk = rdev->clock.default_sclk; | 2476 | rdev->pm.power_state[state_index].clock_info[0].sclk = rdev->clock.default_sclk; |