diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2008-07-17 14:37:05 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2008-07-17 14:57:41 +1000 |
commit | df53d12a06fad41f00cff849458cb358ab5e2098 (patch) | |
tree | 5dc174f5c5ff964c5f69dfcf9bb13f3b44b6953b /src/radeon_reg.h | |
parent | e8c07270e1fc2ee455320370692aaf90abac2773 (diff) |
Fix console switch on R500
This patch fixes the console switch for me on R5xx.
There are two aspects to it:
- Fix the ordering of avivo_restore() to better match what's
happening in the driver & ATOM, properly locking/unlocking and
only enabling the CRTCs after everything has been properly
programmed.
- Don't ASIC_INIT if the card has any CRTC enabled. This is the
best I came up with for avoiding spurrious ASIC_INIT on cards that
-are- POSTed but don't have the BIOS coming from c0000 on x86. The
problem with spurrious ASIC_INIT is that we do it before we do
RADEONSave(), so that screws up the console switch.
Note that I think we also should save/restore the palette, I don't think
we do. right now, it's a minor issue for me because I fixed offb to be
able to set it on AVIVO's but it might still have to be done in the long
run.
Tested with a VGA analog setup on DACA and a DVI setup on TMDS 0. I
haven't tested any other combo but that should get us going.
Cheers,
Ben.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/radeon_reg.h')
-rw-r--r-- | src/radeon_reg.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/radeon_reg.h b/src/radeon_reg.h index 3db1dbb2..fbc724ad 100644 --- a/src/radeon_reg.h +++ b/src/radeon_reg.h @@ -3599,7 +3599,7 @@ #define AVIVO_DC_LUTA_WHITE_OFFSET_RED 0x64d8 -#define AVIVO_D1MODE_DESKTOP_HEIGHT 0x652C +#define AVIVO_D1MODE_DESKTOP_HEIGHT 0x652c #define AVIVO_D1MODE_VIEWPORT_START 0x6580 #define AVIVO_D1MODE_VIEWPORT_SIZE 0x6584 #define AVIVO_D1MODE_EXT_OVERSCAN_LEFT_RIGHT 0x6588 @@ -3651,6 +3651,7 @@ #define AVIVO_D2CUR_SIZE 0x6c10 #define AVIVO_D2CUR_POSITION 0x6c14 +#define AVIVO_D2MODE_DESKTOP_HEIGHT 0x6d2c #define AVIVO_D2MODE_VIEWPORT_START 0x6d80 #define AVIVO_D2MODE_VIEWPORT_SIZE 0x6d84 #define AVIVO_D2MODE_EXT_OVERSCAN_LEFT_RIGHT 0x6d88 @@ -3658,6 +3659,7 @@ #define AVIVO_D2SCL_SCALER_ENABLE 0x6d90 #define AVIVO_D2SCL_SCALER_TAP_CONTROL 0x6d94 +#define AVIVO_D2SCL_UPDATE 0x6dcc #define AVIVO_DDIA_BIT_DEPTH_CONTROL 0x7214 |