Hi RehabMan,
Thank you for the guide.
So, I tried to follow your guide. First, I found the "EmbeddedControl" section:
Code:
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
Field (ERAM, ByteAcc, Lock, Preserve)
{
// Found few 16 bits variables and one 256 in here.
SMD0, 256,
}
P.S: I fixed all the 16 bits variables in this one.
When I looked for "Field (ERAM", I found 7 including the one in the above code. However, the other 6 have a different method definition (3rd arg: "
NoLock"):
Code:
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
SMW0, 16
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
SMB0, 8
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
FLD0, 64
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
FLD1, 128
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
FLD2, 192
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
FLD3, 256
}
So, I am not sure if I have to fix these 6 too or not. Would you please tell me if I should?
Now, my other problem is with variable "
SMD0, 256". When I looked up its usage in the DSDT file, I found a few:
Code:
If (LEqual (Arg0, 0x0A))
{
Store (Arg3, SMD0)
}
OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
Field (PNVA, AnyAcc, Lock, Preserve)
{
...
SMD0, 8,
...
}
ConcatenateResTemplate (Local0, ADDB (SMD0, SB00, SB10), Local1) ...
If (LNotEqual (SMD0, 0x02)) ...
Return (LCRS (SMD0, SB00, SIR0)) ...
Return (LSTA (SMD0)) ...
If (LEqual (SMD0, 0x02)) ...
Store (SMD0, SMDX) ...
Here I can simply fix the SMD0 problem following the guide. However, what's confusing me is that it is defined again in the same fill and given a value of 8. I can change it only in the first "Field (ERAM", but then there is no way for me to determine which SMD0 is being referred to in each usage in the file!
Can you please tell me what should I do in this case?
I am attaching my DSDT file.
Thank you very much.