[PATCH] drm/ast: Fixed reboot test may cause system hanged

YC Chen yc_chen at aspeedtech.com
Wed Apr 11 02:16:45 UTC 2018


Hi Ben,
Thanks for your reply. You need to open password register before modify extended CRT registers. Extended CRT registers cannot be modified if the read back value of password register is 0.
Allow me to describe this issue more. This issue only happen on Intel x86/x86_64 system actually. We found there is a another thread still access VGA cursor registers when loading "ast" drm driver. VGA register is index I/O register, if two threads access it alternately, it may cause the un-expected settings. "ast" drm driver is using related IO or MMIO to access register, and the thread is using standard VGA IO(0x3d4) to access cursor register, so our solution is disabling standard VGA decoding(Set VGACRA1 D[1] to 1) at the entry of "ast" driver load to avoid this issue.

Regards,

Y.C. Chen

-----Original Message-----
From: Benjamin Herrenschmidt [mailto:benh at kernel.crashing.org] 
Sent: Wednesday, April 11, 2018 9:54 AM
To: YC Chen <yc_chen at aspeedtech.com>; dri-devel at lists.freedesktop.org
Cc: airlied at redhat.com; eich at suse.com
Subject: Re: [PATCH] drm/ast: Fixed reboot test may cause system hanged

On Wed, 2018-04-11 at 09:27 +0800, Y.C. Chen wrote:
> index dac3558..82a2687 100644
> --- a/drivers/gpu/drm/ast/ast_main.c
> +++ b/drivers/gpu/drm/ast/ast_main.c
> @@ -131,8 +131,8 @@ static int ast_detect_chip(struct drm_device *dev, 
> bool *need_post)
>  
>  
>         /* Enable extended register access */
> -       ast_enable_mmio(dev);
>         ast_open_key(ast);
> +       ast_enable_mmio(dev);

Why that change ? The documentation doesn't really specify what the "password" register is about. What does it "open" ?

I'm being a bit paranoid because we had issues with earlier drivers (before some of the latest changes to that code) where occasionally on boot, the chip wouldn't respond to an MMIO to one of the VGA registers, causing an EEH error which crashes on boot.

So I want to make sure I understand what the changes precisely do.

Cheers,
Ben.


More information about the dri-devel mailing list