Re: Bugs in my DSDT (aopen 1556/1557 ou keynux impact)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

giggz ?????:
> giggz a écrit :
>> Hi,
>>
>> I have done that :
>>
>> cat /proc/acpi/dsdt > dsdt.dat
>> iasl -d dsdt.dat
>> iasl -tc dsdt.dsl
>>
>> The output :
>>
>> Intel ACPI Component Architecture
>> ASL Optimizing Compiler version 20061109 [May 18 2007]
>> Copyright (C) 2000 - 2006 Intel Corporation
>> Supports ACPI Specification Revision 3.0a
>>
>> dsdt.dsl   207:     Method (_WAK, 1, NotSerialized)
>> Warning  1079 -                ^ Reserved method must return a value (_WAK)
>> dsdt.dsl  2714:                             Store (Arg2, DAT3)
>> Error    4005 -    Method argument is not initialized ^  (Arg2)
>>
>> dsdt.dsl  2714:                             Store (Arg2, DAT3)
>> Remark   5065 -   Not a parameter, used as local only ^  (Arg2)
For this too need to look at source of the method(s).
>>
>> dsdt.dsl  3121:                     Release (MTIO)
>> Warning  1098 -        Statement is unreachable ^
Same here.
>>
>> ASL Input:  dsdt.dsl - 4852 lines, 179994 bytes, 2068 keywords
>> Compilation complete. 2 Errors, 2 Warnings, 1 Remarks, 493 Optimizations
>>
>> Do anyone can and want to help me, please ?
>> I can post the dsdt.dsl too but it's quite long...
>>
>> Thx
>> Guillaume
> 
> Hi,
> 
> I found solutions of 3 compilation problems on the net :
> For the error :
> dsdt.dsl   207:     Method (_WAK, 1, NotSerialized)
> Warning  1079 -                ^ Reserved method must return a value (_WAK)
> 
> I had that :
>    Method (_WAK, 1, NotSerialized)
>     {
>         Store (Arg0, P80H)
>         Store (0x29, SMIF)
>         Store (0x00, TRP0)
>         If (LEqual (Arg0, 0x03))
>         {
>             Store (0xA1, \_SB.PCI0.LPCB.EC0.P54S)
>             Store (0x12, SMIF)
>             Store (0x00, TRP0)
>             If (LEqual (PAR1, 0x00))
>             {
>                 Notify (\_SB.SLPB, 0x02)
>             }
> 
>             Store (0x66, P80H)
>         }
> 
>         If (LEqual (Arg0, 0x04))
>         {
>             If (CondRefOf (_OSI, Local0))
>             {
>                 Store (0x07D1, OSYS)
>             }
>             Else
>             {
>                 If (LEqual (SizeOf (_OS), 0x14))
>                 {
>                     Store (0x07D0, OSYS)
>                 }
>                 Else
>                 {
>                     If (LEqual (SizeOf (_OS), 0x27))
>                     {
>                         Store (0x07CF, OSYS)
>                     }
>                     Else
>                     {
>                         Store (0x07CE, OSYS)
>                     }
>                 }
>             }
>         }
> 
>     }
> 
> I put at the end :
> 	Return(Package(0x02){0x00, 0x00}) 	
> The warning diseapears but I don't know if it's the good solution...If
> anyone can tell me that's true or false...

This one doesn't matter as linux does not look at the result anyway.

> 
> 
> 
> For the error :
> dsdt.dsl  2600:                     Field (RAM, AnyAcc, Lock, Preserve)
> Error    4074 -                              ^ Host Operation Region
> requires ByteAcc access
> 
> I changed AnyAcc with ByteAcc.
Right.
> 
> 
> For the error :
> dsdt.dsl  3121:                     Release (MTIO)
> Warning  1098 -        Statement is unreachable ^
> 
> I had :
>                Method (READ, 1, Serialized)
>                 {
>                     Acquire (MTIO, 0xFFFF)
>                     Store (Arg0, INDX)
>                     Store (DATA, Local0)
>                     Return (Local0)
>                     Release (MTIO)
> 		}
> 
> And now I have that :
>                Method (READ, 1, Serialized)
>                 {
>                     Acquire (MTIO, 0xFFFF)
>                     Store (Arg0, INDX)
>                     Store (DATA, Local0)
>                     Release (MTIO)
>                     Return (Local0)
>                 }
> 
Right.
> 
> But I can't find the solution for the other error problem :
> I have that :
>                   Method (RAMW, 2, NotSerialized)
>                     {
>                         Acquire (MUTX, 0xFFFF)
>                         If (LGreater (Arg0, 0x7F))
>                         {
>                             Store (Arg2, DAT3)
>                         }
> 
>                         Store (Arg0, DAT2)
>                         Store (Arg1, DAT1)
>                         Store (0xBB, CMCD)
>                         Store (0x64, Local1)
>                         While (Local1)
>                         {
>                             Decrement (Local1)
>                             Sleep (0x05)
>                             Store (CMCD, Local0)
>                             If (LEqual (Local0, Zero))
>                             {
>                                 Store (Zero, Local1)
>                             }
>                         }
> 
>                         Release (MUTX)
>                     }
> 
> And Arg2 doesn't exist...but what can I do ?
Find callers of this method, if they pass more than 2 args to it, then
simply change Method(RAMW, 2 -> Method(RAMW, 3.
If noone sends 3rd argument, then the only choice is to remove the whole
 "If () {}".
> 
> Thx
> Have a nice day
> Guillaume
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux