diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-04-23 17:57:27 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-18 04:21:12 -0400 |
commit | 49e02b7306cb7e01965fe5f41ba0f80085142f6e (patch) | |
tree | 6faaa8069fae9b4768d727274df94c2a5298b1b2 /drivers/gpu/drm/radeon/rs600d.h | |
parent | 58e21dff53b9063563e7bb5f5a795ab2d8f61dda (diff) |
drm/radeon/kms/pm: add additional asic callbacks
- pm_misc() - handles voltage, pcie lanes, and other non
clock related power mode settings. Currently disabled.
Needs further debugging
- pm_prepare() - disables crtc mem requests right now.
All memory clients need to be disabled when changing
memory clocks. This function can be expanded to include
disabling fb access as well.
- pm_finish() - enable active memory clients.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs600d.h')
-rw-r--r-- | drivers/gpu/drm/radeon/rs600d.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/rs600d.h b/drivers/gpu/drm/radeon/rs600d.h index 08c4bebd3011..8f624342927a 100644 --- a/drivers/gpu/drm/radeon/rs600d.h +++ b/drivers/gpu/drm/radeon/rs600d.h | |||
@@ -634,4 +634,36 @@ | |||
634 | #define G_006D4C_D2MODE_PRIORITY_B_FORCE_MASK(x) (((x) >> 24) & 0x1) | 634 | #define G_006D4C_D2MODE_PRIORITY_B_FORCE_MASK(x) (((x) >> 24) & 0x1) |
635 | #define C_006D4C_D2MODE_PRIORITY_B_FORCE_MASK 0xFEFFFFFF | 635 | #define C_006D4C_D2MODE_PRIORITY_B_FORCE_MASK 0xFEFFFFFF |
636 | 636 | ||
637 | /* PLL regs */ | ||
638 | #define GENERAL_PWRMGT 0x8 | ||
639 | #define GLOBAL_PWRMGT_EN (1 << 0) | ||
640 | #define MOBILE_SU (1 << 2) | ||
641 | #define DYN_PWRMGT_SCLK_LENGTH 0xc | ||
642 | #define NORMAL_POWER_SCLK_HILEN(x) ((x) << 0) | ||
643 | #define NORMAL_POWER_SCLK_LOLEN(x) ((x) << 4) | ||
644 | #define REDUCED_POWER_SCLK_HILEN(x) ((x) << 8) | ||
645 | #define REDUCED_POWER_SCLK_LOLEN(x) ((x) << 12) | ||
646 | #define POWER_D1_SCLK_HILEN(x) ((x) << 16) | ||
647 | #define POWER_D1_SCLK_LOLEN(x) ((x) << 20) | ||
648 | #define STATIC_SCREEN_HILEN(x) ((x) << 24) | ||
649 | #define STATIC_SCREEN_LOLEN(x) ((x) << 28) | ||
650 | #define DYN_SCLK_VOL_CNTL 0xe | ||
651 | #define IO_CG_VOLTAGE_DROP (1 << 0) | ||
652 | #define VOLTAGE_DROP_SYNC (1 << 2) | ||
653 | #define VOLTAGE_DELAY_SEL(x) ((x) << 3) | ||
654 | #define HDP_DYN_CNTL 0x10 | ||
655 | #define HDP_FORCEON (1 << 0) | ||
656 | #define MC_HOST_DYN_CNTL 0x1e | ||
657 | #define MC_HOST_FORCEON (1 << 0) | ||
658 | |||
659 | /* mmreg */ | ||
660 | #define DOUT_POWER_MANAGEMENT_CNTL 0x7ee0 | ||
661 | #define PWRDN_WAIT_BUSY_OFF (1 << 0) | ||
662 | #define PWRDN_WAIT_PWRSEQ_OFF (1 << 4) | ||
663 | #define PWRDN_WAIT_PPLL_OFF (1 << 8) | ||
664 | #define PWRUP_WAIT_PPLL_ON (1 << 12) | ||
665 | #define PWRUP_WAIT_MEM_INIT_DONE (1 << 16) | ||
666 | #define PM_ASSERT_RESET (1 << 20) | ||
667 | #define PM_PWRDN_PPLL (1 << 24) | ||
668 | |||
637 | #endif | 669 | #endif |