← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: Shutdown problen on Lenovo V560 with G310M

 

Sorry, but i don't get what exactly should i do. Call _PS3 method
instead of _OFF? Call them together? Or call _PS3 before shutdown?


> The BIOS stores some values, DGOS and OMPR just after calling the _OFF
> method:
>     Scope (_SB.PCI0.P0P2.PEGP)
>     {
>         Name (DGOS, Zero)
>         Method (_PS0, 0, NotSerialized)
>         {
>             If (DGOS)
>             {
>                 _ON ()
>                 Store (Zero, DGOS)
>             }
>         }
> 
>         Method (_PS3, 0, NotSerialized)
>         {
>             Store (0x03, P80H)
>             If (LEqual (OMPR, 0x03))
>             {
>                 Store (0x04, P80H)
>                 _OFF ()
>                 Store (One, DGOS)
>                 Store (0x02, OMPR)
>             }
>         }
>     }
> 
> My guess is that this is what is causing the troubles when only
> calling the _OFF method. See this other mail which looks like could
> also solve the problem for the Lenovo V560:
> 
> https://lists.launchpad.net/hybrid-graphics-linux/msg00322.html
> 
> Vilella:
> >         Method (_PS3, 0, NotSerialized)
> >         {
> 
> >             If (LEqual (OMPR, 0x03))
> >             {
> >                 If (LEqual (DGOS, Zero))
> >                 {
> >                     \_SB.PCI0.P0P2.NVID._OFF ()
> >                     Store (One, DGOS)
> 
> >                 }
> >
> >                 Store (0x02, OMPR)
> >             }
> >         }
> 
> If simply calling _PS3 doesn't work, try commenting out the "If
> (LEqual (OMPR, 0x03))" line and corresponding brackets, and loading
> 
> the new DSDT into the kernel.  This is exactly what I had to do with
> my Asus to make the _PS3 call work.
> 
> Adolfo






References