aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/aspeed/common/ast_post.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/aspeed/common/ast_post.c')
-rw-r--r--src/drivers/aspeed/common/ast_post.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/drivers/aspeed/common/ast_post.c b/src/drivers/aspeed/common/ast_post.c
index b3b7d6196c..c909182834 100644
--- a/src/drivers/aspeed/common/ast_post.c
+++ b/src/drivers/aspeed/common/ast_post.c
@@ -370,14 +370,20 @@ void ast_post_gpu(struct drm_device *dev)
ast_enable_mmio(dev);
ast_set_def_ext_reg(dev);
- if (ast->chip == AST2500)
- ast_post_chip_2500(dev);
- else if (ast->chip == AST2300 || ast->chip == AST2400)
- ast_post_chip_2300(dev);
- else
- ast_init_dram_reg(dev);
-
- ast_init_3rdtx(dev);
+ if (ast->config_mode == ast_use_p2a) {
+ if (ast->chip == AST2500)
+ ast_post_chip_2500(dev);
+ else if (ast->chip == AST2300 || ast->chip == AST2400)
+ ast_post_chip_2300(dev);
+ else
+ ast_init_dram_reg(dev);
+
+ ast_init_3rdtx(dev);
+ } else {
+ if (ast->tx_chip_type != AST_TX_NONE)
+ /* Enable DVO */
+ ast_set_index_reg_mask(ast, AST_IO_CRTC_PORT, 0xa3, 0xcf, 0x80);
+ }
}
/* AST 2300 DRAM settings */