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

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed Apr 11 03:30:16 UTC 2018


On Wed, 2018-04-11 at 02:16 +0000, YC Chen wrote:
> 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.

Thanks. Pending testing on our systems to make sure it doesn't break
anything (it shouldn't .. hopefully)

Reviewed-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

> 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