drm/ast: Fix black screen after resume
commit12c35c5582upstream. Suspend will disable pcie device. Thus, resume should do full hw initialization again. Add some APIs to ast_drm_thaw() before ast_post_gpu() to fix the issue. v2: - fix function-call arguments Fixes:5b71707dd1("drm/ast: Enable and unlock device access early during init") Reported-by: Cary Garrett <cogarre@gmail.com> Closes: https://lore.kernel.org/dri-devel/8ce1e1cc351153a890b65e62fed93b54ccd43f6a.camel@gmail.com/ Cc: Thomas Zimmermann <tzimmermann@suse.de> Cc: Jocelyn Falempe <jfalempe@redhat.com> Cc: Dave Airlie <airlied@redhat.com> Cc: dri-devel@lists.freedesktop.org Cc: <stable@vger.kernel.org> # v6.6+ Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20240718030352.654155-1-jammy_huang@aspeedtech.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b5b011587c
commit
226128518a
@@ -391,6 +391,11 @@ static int ast_drm_freeze(struct drm_device *dev)
|
||||
|
||||
static int ast_drm_thaw(struct drm_device *dev)
|
||||
{
|
||||
struct ast_device *ast = to_ast_device(dev);
|
||||
|
||||
ast_enable_vga(ast->ioregs);
|
||||
ast_open_key(ast->ioregs);
|
||||
ast_enable_mmio(dev->dev, ast->ioregs);
|
||||
ast_post_gpu(dev);
|
||||
|
||||
return drm_mode_config_helper_resume(dev);
|
||||
|
||||
Reference in New Issue
Block a user