I have separate device declarations for CRT, LCD, DVI and HDMI. Can something here along with an error in the VGA declaration be responsible?
Code:
Device (P0P1)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
Device (VGA)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x1A)
{
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"NVCAP",
Buffer (0x18)
{
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
0x00, 0x00, 0x00, 0x00
},
"NVPM",
Buffer (0x20)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x40
},
"device_type",
Buffer (0x0D)
{
"NVDA,GeForce"
},
"model",
Buffer (0x23)
{
"Nvidia GeForce GTX 260M 1GB (CUDA)"
},
"rom-revision",
Buffer ()
{
"nVidia OpenGL Engine"
},
"reg",
Buffer (0x78)
{
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
OperationRegion (VSID, PCI_Config, Zero, 0x04)
Field (VSID, ByteAcc, NoLock, Preserve)
{
REG0, 32
}
Method (PRST, 0, NotSerialized)
{
If (LEqual (REG0, Ones))
{
Return (Zero)
}
Else
{
Return (One)
}
}
Name (UPDN, One)
Name (NXTD, One)
Name (LCDM, One)
Name (CRTM, 0x02)
Name (TVOM, 0x04)
Name (HDMM, 0x08)
Name (DVIM, 0x10)
Name (DONE, Zero)
Name (DOSF, One)
Name (BRNC, Zero)
Method (_INI, 0, NotSerialized)
{
GETD ()
}
Method (_DOS, 1, NotSerialized)
{
And (Arg0, 0x03, DOSF)
Store (ShiftRight (Arg0, 0x02), BRNC)
And (BRNC, One, BRNC)
}
Name (DODP, Package (0x04)
{
0x00010100,
0x00010110,
0x0210,
0x0220
})
Method (_DOD, 0, NotSerialized)
{
If (LEqual (VGAF, 0x02)) {}
Else
{
Store (0x0120, Index (DODP, 0x02))
}
Return (DODP)
}
Device (CRTD)
{
Name (_ADR, 0x0100)
Method (_DCS, 0, NotSerialized)
{
Store (AVLD, Local0)
If (Local0)
{
If (And (Local0, CRTM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
And (NXTD, CRTM, Local0)
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized)
{
If (And (Arg0, 0x40000000))
{
If (And (Arg0, 0x80000000))
{
Store (One, DONE)
}
}
}
}
Device (DVID)
{
Method (_ADR, 0, NotSerialized)
{
If (LEqual (VGAF, 0x02))
{
Return (0x0220)
}
Else
{
Return (0x0120)
}
}
Method (_DCS, 0, NotSerialized)
{
Store (AVLD, Local0)
If (Local0)
{
If (And (Local0, DVIM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
And (NXTD, DVIM, Local0)
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized)
{
If (And (Arg0, 0x40000000))
{
If (And (Arg0, 0x80000000))
{
Store (One, DONE)
}
}
}
}
Device (HDMI)
{
Method (_ADR, 0, NotSerialized)
{
If (LEqual (VGAF, 0x02))
{
Return (0x0210)
}
Else
{
Return (0x0120)
}
}
Method (_DCS, 0, NotSerialized)
{
Store (AVLD, Local0)
If (Local0)
{
If (And (Local0, HDMM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
And (NXTD, HDMM, Local0)
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized)
{
If (And (Arg0, 0x40000000))
{
If (And (Arg0, 0x80000000))
{
Store (One, DONE)
}
}
}
}
Device (LCDD)
{
Name (_ADR, 0x0110)
Method (_DCS, 0, NotSerialized)
{
Store (AVLD, Local0)
If (Local0)
{
If (And (Local0, LCDM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
And (NXTD, LCDM, Local0)
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized)
{
If (And (Arg0, 0x40000000))
{
If (And (Arg0, 0x80000000))
{
Store (One, DONE)
}
}
}
Method (_BCL, 0, NotSerialized)
{
Return (Package (0x10)
{
0x0F,
0x0E,
0x0D,
0x0C,
0x0B,
0x0A,
0x09,
0x08,
0x07,
0x06,
0x05,
0x04,
0x03,
0x02,
One,
Zero
})
}
Name (BCBH, Zero)
Method (_BCM, 1, NotSerialized)
{
If (LGreaterEqual (OSFG, OSVT))
{
Store (Arg0, LBTN)
^^^^SBRG.EC0.STBR ()
If (ATKP)
{
If (LEqual (BCBH, One))
{
Notify (ATKD, Add (LBTN, 0x10))
}
If (LEqual (BCBH, 0x02))
{
Notify (ATKD, Add (LBTN, 0x20))
}
}
Store (Zero, BCBH)
}
}
Method (_BQC, 0, NotSerialized)
{
Return (LBTN)
}
}