Posting the GPU requires the correct DRAM type to be stored in
struct ast_private. Therefore first initialize the DRAM info and
then post the GPU. This restores the original order of instructions
in this function.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Fixes: bad09da6deab ("drm/ast: Fixed vram size incorrect issue on POWER")
Cc: Joel Stanley <j...@jms.id.au>
Cc: Y.C. Chen <yc_c...@aspeedtech.com>
Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Dave Airlie <airl...@redhat.com>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: Gerd Hoffmann <kra...@redhat.com>
Cc: Daniel Vetter <daniel.vet...@ffwll.ch>
Cc: Sam Ravnborg <s...@ravnborg.org>
Cc: Emil Velikov <emil.l.veli...@gmail.com>
Cc: "Y.C. Chen" <yc_c...@aspeedtech.com>
Cc: <sta...@vger.kernel.org> # v4.11+
---
 drivers/gpu/drm/ast/ast_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index b162cc82204d..87e5baded2a7 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -418,15 +418,15 @@ int ast_driver_load(struct drm_device *dev, unsigned long 
flags)
 
        ast_detect_chip(dev, &need_post);
 
-       if (need_post)
-               ast_post_gpu(dev);
-
        ret = ast_get_dram_info(dev);
        if (ret)
                goto out_free;
        drm_info(dev, "dram MCLK=%u Mhz type=%d bus_width=%d\n",
                 ast->mclk, ast->dram_type, ast->dram_bus_width);
 
+       if (need_post)
+               ast_post_gpu(dev);
+
        ret = ast_mm_init(ast);
        if (ret)
                goto out_free;
-- 
2.27.0

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

Reply via email to