bboyg, on Aug 14 2010, 01:19 PM, said:
You need iASLme to DEcompile the DSDT.aml to DSDT.dsl and make it editable. Then you need to find the GFX0 section and add the code. Then Compile again and that`s it.
Hi bboyg, and thank you for your reply.
Here is the thing: I know how to decompile and recompile the dsdt. My confusion is
where to add the code. If you would take a look at my dsdt.dsl below, the GFX0 section looks like this:
Device (GFX0)
{
Name (_ADR, 0x00020000)
Name (DSEN, 0x00)
Name (NDID, 0x00)
Name (DID1, 0x80000100)
Name (DID2, 0x80000410)
Name (DID4, 0x00)
Name (DID5, 0x00)
OperationRegion (OPR0, SystemIO, 0x80, 0x01)
Field (OPR0, ByteAcc, NoLock, Preserve)
{
DP80, 8
}
OperationRegion (OPR1, SystemIO, 0xB2, 0x01)
Field (OPR1, ByteAcc, NoLock, Preserve)
{
DPB2, 8
}
OperationRegion (OPR2, SystemIO, 0xB3, 0x01)
Field (OPR2, ByteAcc, NoLock, Preserve)
{
DPB3, 8
}
OperationRegion (OPR3, SystemIO, 0x0900, 0x01)
Field (OPR3, ByteAcc, NoLock, Preserve)
{
DP9H, 8
}
OperationRegion (IGFX, PCI_Config, 0xF0, 0x10)
Field (IGFX, AnyAcc, NoLock, Preserve)
{
Offset (0x04),
BREG, 8
}
Scope (\_GPE)
{
}
Method (_DOS, 1, NotSerialized)
{
Store (And (Arg0, 0x07), DSEN)
}
Method (_DOD, 0, NotSerialized)
{
If (SCIP ())
{
Store (0x00, NDID)
If (LNotEqual (DIDL, Zero))
{
Store (SDDL (DID1), DID1)
}
If (LNotEqual (DDL2, Zero))
{
Store (SDDL (DID2), DID2)
}
If (LNotEqual (DDL3, Zero))
{
Store (SDDL (DID3), DID3)
}
If (LNotEqual (DDL4, Zero))
{
Store (SDDL (DID4), DID4)
}
If (LNotEqual (DDL5, Zero))
{
Store (SDDL (DID5), DID5)
}
}
If (LEqual (NDID, 0x01))
{
Name (TMP1, Package (0x01)
{
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP1, 0x00))
Return (TMP1)
}
If (LEqual (NDID, 0x02))
{
Name (TMP2, Package (0x02)
{
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP2, 0x00))
Store (Or (0x00010000, DID2), Index (TMP2, 0x01))
Return (TMP2)
}
If (LEqual (NDID, 0x03))
{
Name (TMP3, Package (0x03)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP3, 0x00))
Store (Or (0x00010000, DID2), Index (TMP3, 0x01))
Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
Return (TMP3)
}
If (LEqual (NDID, 0x04))
{
Name (TMP4, Package (0x04)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP4, 0x00))
Store (Or (0x00010000, DID2), Index (TMP4, 0x01))
Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
Return (TMP4)
}
If (LGreater (NDID, 0x04))
{
Name (TMP5, Package (0x05)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP5, 0x00))
Store (Or (0x00010000, DID2), Index (TMP5, 0x01))
Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
Store (Or (0x00010000, DID4), Index (TMP5, 0x04))
Return (TMP5)
}
Return (Package (0x01)
{
0x0400
So, it has a lot of information and I do
believe that the alignment is important also, is it not?
Another problem is that when I cut/paste the section from the dsdt to insert it in my reply here, it keeps the orginal format.
However, as soon as click on "add reply", the code automatically justifies left. Any help you could provide is much appreciated.
Thanks again