From: "Y.C. Chen" <yc_c...@aspeedtech.com>

The default value of VGA scratch may incorrect.
Should initial h/w before get vram info.

Signed-off-by: Y.C. Chen <yc_c...@aspeedtech.com>
---
 drivers/gpu/drm/ast/ast_main.c | 6 +++---
 drivers/gpu/drm/ast/ast_post.c | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index f9128b9..839e456 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -502,6 +502,9 @@ int ast_driver_load(struct drm_device *dev, unsigned long 
flags)
 
        ast_detect_chip(dev, &need_post);
 
+       if (need_post)
+               ast_post_gpu(dev);
+
        if (ast->chip != AST1180) {
                ret = ast_get_dram_info(dev);
                if (ret)
@@ -512,9 +515,6 @@ int ast_driver_load(struct drm_device *dev, unsigned long 
flags)
                         ast->dram_bus_width, ast->vram_size);
        }
 
-       if (need_post)
-               ast_post_gpu(dev);
-
        ret = ast_mm_init(ast);
        if (ret)
                goto out_free;
diff --git a/drivers/gpu/drm/ast/ast_post.c b/drivers/gpu/drm/ast/ast_post.c
index 484138b..90000f9 100644
--- a/drivers/gpu/drm/ast/ast_post.c
+++ b/drivers/gpu/drm/ast/ast_post.c
@@ -80,7 +80,7 @@ ast_set_def_ext_reg(struct drm_device *dev)
        const u8 *ext_reg_info;
 
        /* reset scratch */
-       for (i = 0x81; i <= 0x8f; i++)
+       for (i = 0x81; i <= 0x9f; i++)
                ast_set_index_reg(ast, AST_IO_CRTC_PORT, i, 0x00);
 
        if (ast->chip == AST2300 || ast->chip == AST2400 ||
-- 
2.9.3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to