Advertisement
Guest User

DSDT VAIO

a guest
Feb 9th, 2013
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 283.11 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML Disassembler version 20090123
  4. *
  5. * Disassembly of ./dsdt.dat, Fri Feb 8 12:45:08 2013
  6. *
  7. *
  8. * Original Table Header:
  9. * Signature "DSDT"
  10. * Length 0x0000777F (30591)
  11. * Revision 0x02
  12. * Checksum 0x05
  13. * OEM ID "Sony"
  14. * OEM Table ID "VAIO"
  15. * OEM Revision 0x20080404 (537396228)
  16. * Compiler ID "PTL "
  17. * Compiler Version 0x20050624 (537200164)
  18. */
  19. DefinitionBlock ("./dsdt.aml", "DSDT", 2, "Sony", "VAIO", 0x20080404)
  20. {
  21. External (PDC1)
  22. External (PDC0)
  23. External (CFGD)
  24. External (^CPU0._PPC)
  25.  
  26. Mutex (MUTX, 0x00)
  27. OperationRegion (PRT0, SystemIO, 0x80, 0x04)
  28. Field (PRT0, DWordAcc, Lock, Preserve)
  29. {
  30. P80H, 32
  31. }
  32.  
  33. Method (P8XH, 2, Serialized)
  34. {
  35. If (LEqual (Arg0, Zero))
  36. {
  37. Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
  38. }
  39.  
  40. If (LEqual (Arg0, One))
  41. {
  42. Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
  43. ), P80D)
  44. }
  45.  
  46. If (LEqual (Arg0, 0x02))
  47. {
  48. Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
  49. ), P80D)
  50. }
  51.  
  52. If (LEqual (Arg0, 0x03))
  53. {
  54. Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
  55. ), P80D)
  56. }
  57.  
  58. Store (P80D, P80H)
  59. }
  60.  
  61. Method (_PIC, 1, NotSerialized)
  62. {
  63. Store (Arg0, GPIC)
  64. }
  65.  
  66. Method (SPTS, 1, NotSerialized)
  67. {
  68. Store (\_SB.PCI0.LPCB.SPIC._CRS (), \_SB.PCI0.LPCB.SPIC.SSRC)
  69. \_SB.PCI0.LPCB.SNC.SLRD (Arg0)
  70. If (\_SB.PCI0.LPCB.EC0.ECOK)
  71. {
  72. Store (\_SB.PCI0.LPCB.EC0.DOKD, Local0)
  73. }
  74. Else
  75. {
  76. And (PHSB (0xC0, 0x80), 0x04, Local0)
  77. ShiftRight (Local0, 0x02, Local0)
  78. }
  79.  
  80. Store (Local0, \_SB.PCI0.LPCB.EC0.DCKB)
  81. If (LEqual (Arg0, 0x03))
  82. {
  83. Store (PHS (0xA0), Local0)
  84. }
  85.  
  86. If (LEqual (Arg0, 0x04))
  87. {
  88. Store (PHS (0xA1), Local0)
  89. }
  90.  
  91. If (LEqual (Arg0, 0x05))
  92. {
  93. Store (PHS (0xA2), Local0)
  94. }
  95. }
  96.  
  97. Method (SWAK, 1, NotSerialized)
  98. {
  99. \_SB.PCI0.LPCB.SPIC._SRS (\_SB.PCI0.LPCB.SPIC.SSRC)
  100. If (\_SB.PCI0.LPCB.EC0.ECOK)
  101. {
  102. Store (\_SB.PCI0.LPCB.EC0.WUP0, Local0)
  103. }
  104. Else
  105. {
  106. Store (PHSB (0xC0, 0x88), Local0)
  107. }
  108.  
  109. Store (Local0, \_SB.PCI0.LPCB.EC0.WUP1)
  110. If (LNotEqual (\_SB.PCI0.LPCB.EC0.WUP1, One))
  111. {
  112. Notify (\_SB.PWRB, 0x02)
  113. }
  114.  
  115. If (LEqual (Arg0, 0x03))
  116. {
  117. \_SB.DOCK.DWS3 ()
  118. }
  119.  
  120. If (LEqual (Arg0, 0x04))
  121. {
  122. \_SB.DOCK.DWS4 ()
  123. If (LGreaterEqual (OSYS, 0x07D6))
  124. {
  125. If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, Zero))
  126. {
  127. PHSW (0xC1, 0x97, One)
  128. }
  129. Else
  130. {
  131. Store (One, \_SB.PCI0.LPCB.EC0.OSTP)
  132. }
  133. }
  134. Else
  135. {
  136. If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, Zero))
  137. {
  138. PHSW (0xC1, 0x97, Zero)
  139. }
  140. Else
  141. {
  142. Store (Zero, \_SB.PCI0.LPCB.EC0.OSTP)
  143. }
  144. }
  145. }
  146. }
  147.  
  148. Method (_PTS, 1, NotSerialized)
  149. {
  150. Store (Zero, P80D)
  151. P8XH (Zero, Arg0)
  152. If (LEqual (Arg0, 0x05))
  153. {
  154. \_SB.PHSR (0x4B)
  155. }
  156.  
  157. SPTS (Arg0)
  158. }
  159.  
  160. Method (_WAK, 1, NotSerialized)
  161. {
  162. P8XH (One, 0xAB)
  163. SWAK (Arg0)
  164. If (LEqual (Arg0, 0x03))
  165. {
  166. If (LOr (LEqual (OSYS, 0x07D1), LEqual (OSYS, 0x07D2)))
  167. {
  168. TRAP (0x3E)
  169. }
  170. }
  171.  
  172. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  173. {
  174. If (And (CFGD, 0x01000000))
  175. {
  176. If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))
  177. {
  178. TRAP (0x3D)
  179. }
  180. }
  181. }
  182.  
  183. Notify (\_SB.PCI0, 0x08)
  184. If (NEXP)
  185. {
  186. If (And (OSCC, 0x02))
  187. {
  188. \_SB.PCI0.NHPG ()
  189. }
  190.  
  191. If (And (OSCC, 0x04))
  192. {
  193. \_SB.PCI0.NPME ()
  194. }
  195. }
  196.  
  197. If (LEqual (RP1D, Zero))
  198. {
  199. Notify (\_SB.PCI0.RP01, Zero)
  200. }
  201.  
  202. If (LEqual (RP2D, Zero))
  203. {
  204. Notify (\_SB.PCI0.RP02, Zero)
  205. }
  206.  
  207. If (LEqual (RP3D, Zero))
  208. {
  209. Notify (\_SB.PCI0.RP03, Zero)
  210. }
  211.  
  212. If (LEqual (RP4D, Zero))
  213. {
  214. Notify (\_SB.PCI0.RP04, Zero)
  215. }
  216.  
  217. If (LEqual (RP5D, Zero))
  218. {
  219. Notify (\_SB.PCI0.RP05, Zero)
  220. }
  221.  
  222. If (LEqual (RP6D, Zero))
  223. {
  224. Notify (\_SB.PCI0.RP06, Zero)
  225. }
  226.  
  227. If (LEqual (Arg0, 0x03))
  228. {
  229. TRAP (0x46)
  230. }
  231.  
  232. If (LEqual (Arg0, 0x04))
  233. {
  234. If (DTSE)
  235. {
  236. TRAP (0x47)
  237. }
  238. }
  239.  
  240. \_PR.RPPC ()
  241. P8XH (Zero, 0xCD)
  242. Return (Package (0x02)
  243. {
  244. Zero,
  245. Zero
  246. })
  247. }
  248.  
  249. Method (GETB, 3, Serialized)
  250. {
  251. Multiply (Arg0, 0x08, Local0)
  252. Multiply (Arg1, 0x08, Local1)
  253. CreateField (Arg2, Local0, Local1, TBF3)
  254. Return (TBF3)
  255. }
  256.  
  257. Method (PNOT, 0, Serialized)
  258. {
  259. If (MPEN)
  260. {
  261. If (And (PDC0, 0x08))
  262. {
  263. Notify (\_PR.CPU0, 0x80)
  264. If (And (PDC0, 0x10))
  265. {
  266. Sleep (0x64)
  267. Notify (\_PR.CPU0, 0x81)
  268. }
  269. }
  270.  
  271. If (And (PDC1, 0x08))
  272. {
  273. Notify (\_PR.CPU1, 0x80)
  274. If (And (PDC1, 0x10))
  275. {
  276. Sleep (0x64)
  277. Notify (\_PR.CPU1, 0x81)
  278. }
  279. }
  280. }
  281. Else
  282. {
  283. Notify (\_PR.CPU0, 0x80)
  284. Sleep (0x64)
  285. Notify (\_PR.CPU0, 0x81)
  286. }
  287. }
  288.  
  289. Method (TRAP, 1, Serialized)
  290. {
  291. Store (Arg0, SMIF)
  292. Store (Zero, TRP0)
  293. Return (SMIF)
  294. }
  295.  
  296. Scope (_SB)
  297. {
  298. Method (_INI, 0, NotSerialized)
  299. {
  300. If (DTSE)
  301. {
  302. TRAP (0x47)
  303. }
  304.  
  305. Store (0x07D0, OSYS)
  306. If (CondRefOf (_OSI, Local0))
  307. {
  308. If (_OSI ("Linux"))
  309. {
  310. Store (One, LINX)
  311. }
  312.  
  313. If (_OSI ("Windows 2001"))
  314. {
  315. Store (0x07D1, OSYS)
  316. }
  317.  
  318. If (_OSI ("Windows 2001 SP1"))
  319. {
  320. Store (0x07D1, OSYS)
  321. }
  322.  
  323. If (_OSI ("Windows 2001 SP2"))
  324. {
  325. Store (0x07D2, OSYS)
  326. }
  327.  
  328. If (_OSI ("Windows 2006"))
  329. {
  330. Store (0x07D6, OSYS)
  331. }
  332. }
  333.  
  334. If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))
  335. {
  336. TRAP (0x3D)
  337. }
  338.  
  339. TRAP (0x2B)
  340. TRAP (0x32)
  341. If (LGreaterEqual (OSYS, 0x07D6))
  342. {
  343. If (LEqual (^PCI0.LPCB.EC0.ECOK, Zero))
  344. {
  345. PHSW (0xC1, 0x97, One)
  346. }
  347. Else
  348. {
  349. Store (One, ^PCI0.LPCB.EC0.OSTP)
  350. }
  351. }
  352. Else
  353. {
  354. If (LEqual (^PCI0.LPCB.EC0.ECOK, Zero))
  355. {
  356. PHSW (0xC1, 0x97, Zero)
  357. }
  358. Else
  359. {
  360. Store (Zero, ^PCI0.LPCB.EC0.OSTP)
  361. }
  362. }
  363. }
  364. }
  365.  
  366. OperationRegion (GNVS, SystemMemory, 0xBFEDEA37, 0x0100)
  367. Field (GNVS, AnyAcc, Lock, Preserve)
  368. {
  369. OSYS, 16,
  370. SMIF, 8,
  371. PRM0, 8,
  372. PRM1, 8,
  373. SCIF, 8,
  374. PRM2, 8,
  375. PRM3, 8,
  376. LCKF, 8,
  377. PRM4, 8,
  378. PRM5, 8,
  379. P80D, 32,
  380. LIDS, 8,
  381. PWRS, 8,
  382. DBGS, 8,
  383. LINX, 8,
  384. Offset (0x14),
  385. ACT1, 8,
  386. ACTT, 8,
  387. PSVT, 8,
  388. TC1V, 8,
  389. TC2V, 8,
  390. TSPV, 8,
  391. CRTT, 8,
  392. DTSE, 8,
  393. DTS1, 8,
  394. DTS2, 8,
  395. Offset (0x28),
  396. APIC, 8,
  397. MPEN, 8,
  398. PCP0, 8,
  399. PCP1, 8,
  400. PPCM, 8,
  401. Offset (0x32),
  402. Offset (0x3C),
  403. IGDS, 8,
  404. TLST, 8,
  405. CADL, 8,
  406. PADL, 8,
  407. CSTE, 16,
  408. NSTE, 16,
  409. SSTE, 16,
  410. NDID, 8,
  411. DID1, 32,
  412. DID2, 32,
  413. DID3, 32,
  414. DID4, 32,
  415. DID5, 32,
  416. Offset (0x67),
  417. BLCS, 8,
  418. BRTL, 8,
  419. ALSE, 8,
  420. ALAF, 8,
  421. LLOW, 8,
  422. LHIH, 8,
  423. Offset (0x6E),
  424. EMAE, 8,
  425. EMAP, 16,
  426. EMAL, 16,
  427. Offset (0x74),
  428. MEFE, 8,
  429. Offset (0x78),
  430. TPMP, 8,
  431. TPME, 8,
  432. Offset (0x82),
  433. GTF0, 56,
  434. GTF2, 56,
  435. IDEM, 8,
  436. GTF1, 56,
  437. Offset (0xAA),
  438. ASLB, 32,
  439. IBTT, 8,
  440. IPAT, 8,
  441. ITVF, 8,
  442. ITVM, 8,
  443. IPSC, 8,
  444. IBLC, 8,
  445. IBIA, 8,
  446. ISSC, 8,
  447. I409, 8,
  448. I509, 8,
  449. I609, 8,
  450. I709, 8,
  451. IDMM, 8,
  452. IDMS, 8,
  453. IF1E, 8,
  454. HVCO, 8,
  455. NXD1, 32,
  456. NXD2, 32,
  457. NXD3, 32,
  458. NXD4, 32,
  459. NXD5, 32,
  460. NXD6, 32,
  461. NXD7, 32,
  462. NXD8, 32,
  463. OSCC, 32,
  464. OSCS, 32,
  465. NEXP, 8
  466. }
  467.  
  468. Name (DSEN, One)
  469. Name (ECON, Zero)
  470. Name (GPIC, Zero)
  471. Name (CTYP, Zero)
  472. Name (L01C, Zero)
  473. Name (VFN0, Zero)
  474. Name (VFN1, Zero)
  475. Scope (_GPE)
  476. {
  477. Method (_L01, 0, NotSerialized)
  478. {
  479. Add (L01C, One, L01C)
  480. P8XH (Zero, One)
  481. P8XH (One, L01C)
  482. If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
  483. {
  484. Sleep (0x64)
  485. If (\_SB.PCI0.RP01.PDCX)
  486. {
  487. Store (One, \_SB.PCI0.RP01.PDCX)
  488. Store (One, \_SB.PCI0.RP01.HPSX)
  489. Notify (\_SB.PCI0.RP01, Zero)
  490. }
  491. Else
  492. {
  493. Store (One, \_SB.PCI0.RP01.HPSX)
  494. }
  495. }
  496.  
  497. If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
  498. {
  499. Sleep (0x64)
  500. If (\_SB.PCI0.RP02.PDCX)
  501. {
  502. Store (One, \_SB.PCI0.RP02.PDCX)
  503. Store (One, \_SB.PCI0.RP02.HPSX)
  504. Notify (\_SB.PCI0.RP02, Zero)
  505. }
  506. Else
  507. {
  508. Store (One, \_SB.PCI0.RP02.HPSX)
  509. }
  510. }
  511.  
  512. If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
  513. {
  514. Sleep (0x64)
  515. If (\_SB.PCI0.RP03.PDCX)
  516. {
  517. Store (One, \_SB.PCI0.RP03.PDCX)
  518. Store (One, \_SB.PCI0.RP03.HPSX)
  519. Notify (\_SB.PCI0.RP03, Zero)
  520. }
  521. Else
  522. {
  523. Store (One, \_SB.PCI0.RP03.HPSX)
  524. }
  525. }
  526.  
  527. If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX))
  528. {
  529. Sleep (0x64)
  530. If (\_SB.PCI0.RP04.PDCX)
  531. {
  532. Store (One, \_SB.PCI0.RP04.PDCX)
  533. Store (One, \_SB.PCI0.RP04.HPSX)
  534. Notify (\_SB.PCI0.RP04, Zero)
  535. }
  536. Else
  537. {
  538. Store (One, \_SB.PCI0.RP04.HPSX)
  539. }
  540. }
  541.  
  542. If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX))
  543. {
  544. Sleep (0x64)
  545. If (\_SB.PCI0.RP05.PDCX)
  546. {
  547. Store (One, \_SB.PCI0.RP05.PDCX)
  548. Store (One, \_SB.PCI0.RP05.HPSX)
  549. Notify (\_SB.PCI0.RP05, Zero)
  550. }
  551. Else
  552. {
  553. Store (One, \_SB.PCI0.RP05.HPSX)
  554. }
  555. }
  556.  
  557. If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX))
  558. {
  559. Sleep (0x64)
  560. If (\_SB.PCI0.RP06.PDCX)
  561. {
  562. Store (One, \_SB.PCI0.RP06.PDCX)
  563. Store (One, \_SB.PCI0.RP06.HPSX)
  564. Notify (\_SB.PCI0.RP06, Zero)
  565. }
  566. Else
  567. {
  568. Store (One, \_SB.PCI0.RP06.HPSX)
  569. }
  570. }
  571. }
  572.  
  573. Method (_L02, 0, NotSerialized)
  574. {
  575. Store (Zero, GPEC)
  576. }
  577.  
  578. Method (_L03, 0, NotSerialized)
  579. {
  580. Notify (\_SB.PCI0.USB1, 0x02)
  581. }
  582.  
  583. Method (_L04, 0, NotSerialized)
  584. {
  585. Notify (\_SB.PCI0.USB2, 0x02)
  586. }
  587.  
  588. Method (_L05, 0, NotSerialized)
  589. {
  590. Notify (\_SB.PCI0.USB5, 0x02)
  591. }
  592.  
  593. Method (_L06, 0, NotSerialized)
  594. {
  595. If (\_SB.PCI0.GFX0.GSSE)
  596. {
  597. \_SB.PCI0.GFX0.GSCI ()
  598. }
  599. Else
  600. {
  601. Store (One, SCIS)
  602. }
  603. }
  604.  
  605. Method (_L07, 0, NotSerialized)
  606. {
  607. Store (0x20, \_SB.PCI0.SBUS.HSTS)
  608. }
  609.  
  610. Method (_L09, 0, NotSerialized)
  611. {
  612. If (\_SB.PCI0.RP01.PSPX)
  613. {
  614. Store (One, \_SB.PCI0.RP01.PSPX)
  615. Store (One, \_SB.PCI0.RP01.PMSX)
  616. Notify (\_SB.PCI0.RP01, 0x02)
  617. }
  618.  
  619. If (\_SB.PCI0.RP02.PSPX)
  620. {
  621. Store (One, \_SB.PCI0.RP02.PSPX)
  622. Store (One, \_SB.PCI0.RP02.PMSX)
  623. Notify (\_SB.PCI0.RP02, 0x02)
  624. }
  625.  
  626. If (\_SB.PCI0.RP03.PSPX)
  627. {
  628. Store (One, \_SB.PCI0.RP03.PSPX)
  629. Store (One, \_SB.PCI0.RP03.PMSX)
  630. Notify (\_SB.PCI0.RP03, 0x02)
  631. }
  632.  
  633. If (\_SB.PCI0.RP04.PSPX)
  634. {
  635. Store (One, \_SB.PCI0.RP04.PSPX)
  636. Store (One, \_SB.PCI0.RP04.PMSX)
  637. Notify (\_SB.PCI0.RP04, 0x02)
  638. }
  639.  
  640. If (\_SB.PCI0.RP05.PSPX)
  641. {
  642. Store (One, \_SB.PCI0.RP05.PSPX)
  643. Store (One, \_SB.PCI0.RP05.PMSX)
  644. Notify (\_SB.PCI0.RP05, 0x02)
  645. }
  646.  
  647. If (\_SB.PCI0.RP06.PSPX)
  648. {
  649. Store (One, \_SB.PCI0.RP06.PSPX)
  650. Store (One, \_SB.PCI0.RP06.PMSX)
  651. Notify (\_SB.PCI0.RP06, 0x02)
  652. }
  653. }
  654.  
  655. Method (_L0B, 0, NotSerialized)
  656. {
  657. Notify (\_SB.PCI0.PCIB, 0x02)
  658. }
  659.  
  660. Method (_L0C, 0, NotSerialized)
  661. {
  662. Notify (\_SB.PCI0.USB3, 0x02)
  663. }
  664.  
  665. Method (_L0D, 0, NotSerialized)
  666. {
  667. If (\_SB.PCI0.EHC1.PMES)
  668. {
  669. Store (One, \_SB.PCI0.EHC1.PMES)
  670. Notify (\_SB.PCI0.EHC1, 0x02)
  671. }
  672.  
  673. If (\_SB.PCI0.EHC2.PMES)
  674. {
  675. Store (One, \_SB.PCI0.EHC2.PMES)
  676. Notify (\_SB.PCI0.EHC2, 0x02)
  677. }
  678.  
  679. If (\_SB.PCI0.HDEF.PMES)
  680. {
  681. Store (One, \_SB.PCI0.HDEF.PMES)
  682. Notify (\_SB.PCI0.HDEF, 0x02)
  683. }
  684.  
  685. If (\_SB.PCI0.LANC.PMES)
  686. {
  687. Store (One, \_SB.PCI0.LANC.PMES)
  688. Notify (\_SB.PCI0.LANC, 0x02)
  689. }
  690. }
  691.  
  692. Method (_L0E, 0, NotSerialized)
  693. {
  694. Notify (\_SB.PCI0.USB4, 0x02)
  695. }
  696.  
  697. Method (_L18, 0, NotSerialized)
  698. {
  699. }
  700. }
  701.  
  702. Scope (_PR)
  703. {
  704. Processor (CPU0, 0x00, 0x00001010, 0x06) {}
  705. Processor (CPU1, 0x01, 0x00001010, 0x06) {}
  706. Method (RPPC, 0, NotSerialized)
  707. {
  708. If (LEqual (OSYS, 0x07D2))
  709. {
  710. If (And (CFGD, One))
  711. {
  712. If (LGreater (^CPU0._PPC, Zero))
  713. {
  714. Subtract (^CPU0._PPC, One, ^CPU0._PPC)
  715. PNOT ()
  716. Add (^CPU0._PPC, One, ^CPU0._PPC)
  717. PNOT ()
  718. }
  719. Else
  720. {
  721. Add (^CPU0._PPC, One, ^CPU0._PPC)
  722. PNOT ()
  723. Subtract (^CPU0._PPC, One, ^CPU0._PPC)
  724. PNOT ()
  725. }
  726. }
  727. }
  728. }
  729. }
  730.  
  731. Scope (_TZ)
  732. {
  733. ThermalZone (ATF0)
  734. {
  735. Method (KELV, 1, NotSerialized)
  736. {
  737. Store (Arg0, Local0)
  738. Multiply (Local0, 0x0A, Local0)
  739. Add (Local0, 0x0AAB, Local0)
  740. Return (Local0)
  741. }
  742.  
  743. Method (_TMP, 0, Serialized)
  744. {
  745. If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, Zero))
  746. {
  747. Store (PHSD (0xC0, 0xC0), Local1)
  748. }
  749. Else
  750. {
  751. Store (\_SB.PCI0.LPCB.EC0.A1TP, Local1)
  752. }
  753.  
  754. ShiftRight (Local1, 0x08, Local0)
  755. If (LGreater (Local0, 0x80))
  756. {
  757. Sleep (0x32)
  758. If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, Zero))
  759. {
  760. Store (PHSD (0xC0, 0xC0), Local1)
  761. }
  762. Else
  763. {
  764. Store (\_SB.PCI0.LPCB.EC0.A1TP, Local1)
  765. }
  766.  
  767. ShiftRight (Local1, 0x08, Local0)
  768. }
  769.  
  770. Return (KELV (Local0))
  771. }
  772.  
  773. Method (_PSV, 0, NotSerialized)
  774. {
  775. If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, Zero))
  776. {
  777. Store (PHSD (0xC0, 0xC4), Local1)
  778. }
  779. Else
  780. {
  781. Store (\_SB.PCI0.LPCB.EC0.A1PT, Local1)
  782. }
  783.  
  784. ShiftRight (Local1, 0x08, Local0)
  785. Return (KELV (Local0))
  786. }
  787.  
  788. Method (_PSL, 0, Serialized)
  789. {
  790. If (MPEN)
  791. {
  792. Return (Package (0x02)
  793. {
  794. \_PR.CPU0,
  795. \_PR.CPU1
  796. })
  797. }
  798.  
  799. Return (Package (0x01)
  800. {
  801. \_PR.CPU0
  802. })
  803. }
  804.  
  805. Method (_CRT, 0, Serialized)
  806. {
  807. If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, Zero))
  808. {
  809. Store (PHSD (0xC0, 0xC6), Local1)
  810. }
  811. Else
  812. {
  813. Store (\_SB.PCI0.LPCB.EC0.A1CT, Local1)
  814. }
  815.  
  816. ShiftRight (Local1, 0x08, Local0)
  817. Return (KELV (Local0))
  818. }
  819.  
  820. Name (_TC1, One)
  821. Name (_TC2, 0x02)
  822. Name (_TSP, 0x32)
  823. }
  824.  
  825. ThermalZone (DTS0)
  826. {
  827. Name (_PSV, 0x0E92)
  828. Name (_CRT, 0x0E9C)
  829. Method (_PSL, 0, Serialized)
  830. {
  831. If (MPEN)
  832. {
  833. Return (Package (0x02)
  834. {
  835. \_PR.CPU0,
  836. \_PR.CPU1
  837. })
  838. }
  839.  
  840. Return (Package (0x01)
  841. {
  842. \_PR.CPU0
  843. })
  844. }
  845.  
  846. Name (_TC1, One)
  847. Name (_TC2, 0x02)
  848. Name (_TSP, 0x32)
  849. Method (_TMP, 0, NotSerialized)
  850. {
  851. Store (PHSB (0xA4, Zero), Local0)
  852. Multiply (Local0, 0x0A, Local0)
  853. Add (Local0, 0x0AAB, Local0)
  854. Return (Local0)
  855. }
  856. }
  857.  
  858. ThermalZone (DTS1)
  859. {
  860. Name (_PSV, 0x0E92)
  861. Name (_CRT, 0x0E9C)
  862. Method (_PSL, 0, Serialized)
  863. {
  864. If (MPEN)
  865. {
  866. Return (Package (0x02)
  867. {
  868. \_PR.CPU0,
  869. \_PR.CPU1
  870. })
  871. }
  872.  
  873. Return (Package (0x01)
  874. {
  875. \_PR.CPU0
  876. })
  877. }
  878.  
  879. Name (_TC1, One)
  880. Name (_TC2, 0x02)
  881. Name (_TSP, 0x32)
  882. Method (_TMP, 0, NotSerialized)
  883. {
  884. If (MPEN)
  885. {
  886. Store (PHSB (0xA4, One), Local0)
  887. }
  888. Else
  889. {
  890. Store (PHSB (0xA4, Zero), Local0)
  891. }
  892.  
  893. Multiply (Local0, 0x0A, Local0)
  894. Add (Local0, 0x0AAB, Local0)
  895. Return (Local0)
  896. }
  897. }
  898. }
  899.  
  900. OperationRegion (SMI0, SystemMemory, 0xBFEDEB38, 0x00000415)
  901. Field (SMI0, AnyAcc, NoLock, Preserve)
  902. {
  903. BCMD, 8,
  904. DID, 32,
  905. INFO, 4096
  906. }
  907.  
  908. Field (SMI0, AnyAcc, NoLock, Preserve)
  909. {
  910. Offset (0x05),
  911. INFB, 8
  912. }
  913.  
  914. Field (SMI0, AnyAcc, NoLock, Preserve)
  915. {
  916. Offset (0x05),
  917. INFD, 32
  918. }
  919.  
  920. Field (SMI0, AnyAcc, NoLock, Preserve)
  921. {
  922. Offset (0x05),
  923. SXBF, 8320
  924. }
  925.  
  926. Field (SMI0, AnyAcc, NoLock, Preserve)
  927. {
  928. Offset (0x05),
  929. INF1, 8,
  930. INF2, 8
  931. }
  932.  
  933. Field (SMI0, AnyAcc, NoLock, Preserve)
  934. {
  935. Offset (0x05),
  936. BTBL, 72
  937. }
  938.  
  939. OperationRegion (SMI1, SystemIO, 0x0000FE00, 0x00000002)
  940. Field (SMI1, AnyAcc, NoLock, Preserve)
  941. {
  942. SMIC, 8
  943. }
  944.  
  945. Mutex (MPHS, 0x00)
  946. Method (PHS0, 1, NotSerialized)
  947. {
  948. Store (Arg0, BCMD)
  949. Store (Zero, SMIC)
  950. If (LEqual (BCMD, Arg0)) {}
  951. Store (Zero, BCMD)
  952. }
  953.  
  954. Method (PHS, 1, Serialized)
  955. {
  956. Acquire (MPHS, 0xFFFF)
  957. Store (Zero, DID)
  958. PHS0 (Arg0)
  959. Store (INFD, Local0)
  960. Release (MPHS)
  961. Return (Local0)
  962. }
  963.  
  964. Method (PHSD, 2, Serialized)
  965. {
  966. Acquire (MPHS, 0xFFFF)
  967. Store (Zero, DID)
  968. Store (Arg1, INFD)
  969. PHS0 (Arg0)
  970. Store (INFD, Local0)
  971. Release (MPHS)
  972. Return (Local0)
  973. }
  974.  
  975. Method (PHSW, 3, Serialized)
  976. {
  977. Acquire (MPHS, 0xFFFF)
  978. Store (Zero, DID)
  979. Store (Arg1, INF1)
  980. Store (Arg2, INF2)
  981. PHS0 (Arg0)
  982. Store (INFB, Local0)
  983. Release (MPHS)
  984. Return (Local0)
  985. }
  986.  
  987. Method (PHSB, 2, Serialized)
  988. {
  989. Acquire (MPHS, 0xFFFF)
  990. Store (Zero, DID)
  991. Store (Arg1, INFB)
  992. PHS0 (Arg0)
  993. Store (INFB, Local0)
  994. Release (MPHS)
  995. Return (Local0)
  996. }
  997.  
  998. Method (PHBL, 0, Serialized)
  999. {
  1000. Acquire (MPHS, 0xFFFF)
  1001. Store (Zero, DID)
  1002. PHS0 (0xC4)
  1003. Store (BTBL, Local0)
  1004. Release (MPHS)
  1005. Return (Local0)
  1006. }
  1007.  
  1008. Scope (_SB)
  1009. {
  1010. Device (PCI0)
  1011. {
  1012. Method (_S3D, 0, NotSerialized)
  1013. {
  1014. Return (0x02)
  1015. }
  1016.  
  1017. Method (_S4D, 0, NotSerialized)
  1018. {
  1019. Return (0x02)
  1020. }
  1021.  
  1022. Name (_HID, EisaId ("PNP0A08"))
  1023. Name (_CID, EisaId ("PNP0A03"))
  1024. Device (MCHC)
  1025. {
  1026. Name (_ADR, Zero)
  1027. OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
  1028. Field (HBUS, DWordAcc, NoLock, Preserve)
  1029. {
  1030. EPEN, 1,
  1031. , 11,
  1032. EPBR, 20,
  1033. Offset (0x08),
  1034. MHEN, 1,
  1035. , 13,
  1036. MHBR, 18,
  1037. Offset (0x20),
  1038. PXEN, 1,
  1039. PXSZ, 2,
  1040. , 23,
  1041. PXBR, 6,
  1042. Offset (0x28),
  1043. DIEN, 1,
  1044. , 11,
  1045. DIBR, 20,
  1046. Offset (0x30),
  1047. IPEN, 1,
  1048. , 11,
  1049. IPBR, 20,
  1050. Offset (0x50),
  1051. , 4,
  1052. PM0H, 2,
  1053. Offset (0x51),
  1054. PM1L, 2,
  1055. , 2,
  1056. PM1H, 2,
  1057. Offset (0x52),
  1058. PM2L, 2,
  1059. , 2,
  1060. PM2H, 2,
  1061. Offset (0x53),
  1062. PM3L, 2,
  1063. , 2,
  1064. PM3H, 2,
  1065. Offset (0x54),
  1066. PM4L, 2,
  1067. , 2,
  1068. PM4H, 2,
  1069. Offset (0x55),
  1070. PM5L, 2,
  1071. , 2,
  1072. PM5H, 2,
  1073. Offset (0x56),
  1074. PM6L, 2,
  1075. , 2,
  1076. PM6H, 2,
  1077. Offset (0x57),
  1078. , 7,
  1079. HENA, 1,
  1080. Offset (0x62),
  1081. TUUD, 16,
  1082. Offset (0x70),
  1083. , 4,
  1084. TLUD, 12
  1085. }
  1086. }
  1087.  
  1088. Name (BUF0, ResourceTemplate ()
  1089. {
  1090. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  1091. 0x0000, // Granularity
  1092. 0x0000, // Range Minimum
  1093. 0x00FF, // Range Maximum
  1094. 0x0000, // Translation Offset
  1095. 0x0100, // Length
  1096. ,, )
  1097. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1098. 0x00000000, // Granularity
  1099. 0x00000000, // Range Minimum
  1100. 0x00000CF7, // Range Maximum
  1101. 0x00000000, // Translation Offset
  1102. 0x00000CF8, // Length
  1103. ,, , TypeStatic)
  1104. IO (Decode16,
  1105. 0x0CF8, // Range Minimum
  1106. 0x0CF8, // Range Maximum
  1107. 0x01, // Alignment
  1108. 0x08, // Length
  1109. )
  1110. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1111. 0x00000000, // Granularity
  1112. 0x00000D00, // Range Minimum
  1113. 0x0000FFFF, // Range Maximum
  1114. 0x00000000, // Translation Offset
  1115. 0x0000F300, // Length
  1116. ,, , TypeStatic)
  1117. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1118. 0x00000000, // Granularity
  1119. 0x000A0000, // Range Minimum
  1120. 0x000BFFFF, // Range Maximum
  1121. 0x00000000, // Translation Offset
  1122. 0x00020000, // Length
  1123. ,, , AddressRangeMemory, TypeStatic)
  1124. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1125. 0x00000000, // Granularity
  1126. 0x000C0000, // Range Minimum
  1127. 0x000C3FFF, // Range Maximum
  1128. 0x00000000, // Translation Offset
  1129. 0x00004000, // Length
  1130. ,, _Y00, AddressRangeMemory, TypeStatic)
  1131. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1132. 0x00000000, // Granularity
  1133. 0x000C4000, // Range Minimum
  1134. 0x000C7FFF, // Range Maximum
  1135. 0x00000000, // Translation Offset
  1136. 0x00004000, // Length
  1137. ,, _Y01, AddressRangeMemory, TypeStatic)
  1138. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1139. 0x00000000, // Granularity
  1140. 0x000C8000, // Range Minimum
  1141. 0x000CBFFF, // Range Maximum
  1142. 0x00000000, // Translation Offset
  1143. 0x00004000, // Length
  1144. ,, _Y02, AddressRangeMemory, TypeStatic)
  1145. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1146. 0x00000000, // Granularity
  1147. 0x000CC000, // Range Minimum
  1148. 0x000CFFFF, // Range Maximum
  1149. 0x00000000, // Translation Offset
  1150. 0x00004000, // Length
  1151. ,, _Y03, AddressRangeMemory, TypeStatic)
  1152. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1153. 0x00000000, // Granularity
  1154. 0x000D0000, // Range Minimum
  1155. 0x000D3FFF, // Range Maximum
  1156. 0x00000000, // Translation Offset
  1157. 0x00004000, // Length
  1158. ,, _Y04, AddressRangeMemory, TypeStatic)
  1159. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1160. 0x00000000, // Granularity
  1161. 0x000D4000, // Range Minimum
  1162. 0x000D7FFF, // Range Maximum
  1163. 0x00000000, // Translation Offset
  1164. 0x00004000, // Length
  1165. ,, _Y05, AddressRangeMemory, TypeStatic)
  1166. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1167. 0x00000000, // Granularity
  1168. 0x000D8000, // Range Minimum
  1169. 0x000DBFFF, // Range Maximum
  1170. 0x00000000, // Translation Offset
  1171. 0x00004000, // Length
  1172. ,, _Y06, AddressRangeMemory, TypeStatic)
  1173. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1174. 0x00000000, // Granularity
  1175. 0x000DC000, // Range Minimum
  1176. 0x000DFFFF, // Range Maximum
  1177. 0x00000000, // Translation Offset
  1178. 0x00004000, // Length
  1179. ,, _Y07, AddressRangeMemory, TypeStatic)
  1180. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1181. 0x00000000, // Granularity
  1182. 0x000E0000, // Range Minimum
  1183. 0x000E3FFF, // Range Maximum
  1184. 0x00000000, // Translation Offset
  1185. 0x00004000, // Length
  1186. ,, _Y08, AddressRangeMemory, TypeStatic)
  1187. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1188. 0x00000000, // Granularity
  1189. 0x000E4000, // Range Minimum
  1190. 0x000E7FFF, // Range Maximum
  1191. 0x00000000, // Translation Offset
  1192. 0x00004000, // Length
  1193. ,, _Y09, AddressRangeMemory, TypeStatic)
  1194. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1195. 0x00000000, // Granularity
  1196. 0x000E8000, // Range Minimum
  1197. 0x000EBFFF, // Range Maximum
  1198. 0x00000000, // Translation Offset
  1199. 0x00004000, // Length
  1200. ,, _Y0A, AddressRangeMemory, TypeStatic)
  1201. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1202. 0x00000000, // Granularity
  1203. 0x000EC000, // Range Minimum
  1204. 0x000EFFFF, // Range Maximum
  1205. 0x00000000, // Translation Offset
  1206. 0x00004000, // Length
  1207. ,, _Y0B, AddressRangeMemory, TypeStatic)
  1208. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1209. 0x00000000, // Granularity
  1210. 0x000F0000, // Range Minimum
  1211. 0x000FFFFF, // Range Maximum
  1212. 0x00000000, // Translation Offset
  1213. 0x00010000, // Length
  1214. ,, _Y0C, AddressRangeMemory, TypeStatic)
  1215. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1216. 0x00000000, // Granularity
  1217. 0x00000000, // Range Minimum
  1218. 0xDFFFFFFF, // Range Maximum
  1219. 0x00000000, // Translation Offset
  1220. 0x00000000, // Length
  1221. ,, _Y0E, AddressRangeMemory, TypeStatic)
  1222. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1223. 0x00000000, // Granularity
  1224. 0xF0000000, // Range Minimum
  1225. 0xFEBFFFFF, // Range Maximum
  1226. 0x00000000, // Translation Offset
  1227. 0x0EC00000, // Length
  1228. ,, _Y0F, AddressRangeMemory, TypeStatic)
  1229. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1230. 0x00000000, // Granularity
  1231. 0xFED40000, // Range Minimum
  1232. 0xFED44FFF, // Range Maximum
  1233. 0x00000000, // Translation Offset
  1234. 0x00000000, // Length
  1235. ,, _Y0D, AddressRangeMemory, TypeStatic)
  1236. })
  1237. Method (_CRS, 0, Serialized)
  1238. {
  1239. If (^MCHC.PM1L)
  1240. {
  1241. CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
  1242. Store (Zero, C0LN)
  1243. }
  1244.  
  1245. If (LEqual (^MCHC.PM1L, One))
  1246. {
  1247. CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
  1248. Store (Zero, C0RW)
  1249. }
  1250.  
  1251. If (^MCHC.PM1H)
  1252. {
  1253. CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
  1254. Store (Zero, C4LN)
  1255. }
  1256.  
  1257. If (LEqual (^MCHC.PM1H, One))
  1258. {
  1259. CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
  1260. Store (Zero, C4RW)
  1261. }
  1262.  
  1263. If (^MCHC.PM2L)
  1264. {
  1265. CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
  1266. Store (Zero, C8LN)
  1267. }
  1268.  
  1269. If (LEqual (^MCHC.PM2L, One))
  1270. {
  1271. CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
  1272. Store (Zero, C8RW)
  1273. }
  1274.  
  1275. If (^MCHC.PM2H)
  1276. {
  1277. CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
  1278. Store (Zero, CCLN)
  1279. }
  1280.  
  1281. If (LEqual (^MCHC.PM2H, One))
  1282. {
  1283. CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
  1284. Store (Zero, CCRW)
  1285. }
  1286.  
  1287. If (^MCHC.PM3L)
  1288. {
  1289. CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
  1290. Store (Zero, D0LN)
  1291. }
  1292.  
  1293. If (LEqual (^MCHC.PM3L, One))
  1294. {
  1295. CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
  1296. Store (Zero, D0RW)
  1297. }
  1298.  
  1299. If (^MCHC.PM3H)
  1300. {
  1301. CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
  1302. Store (Zero, D4LN)
  1303. }
  1304.  
  1305. If (LEqual (^MCHC.PM3H, One))
  1306. {
  1307. CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
  1308. Store (Zero, D4RW)
  1309. }
  1310.  
  1311. If (^MCHC.PM4L)
  1312. {
  1313. CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
  1314. Store (Zero, D8LN)
  1315. }
  1316.  
  1317. If (LEqual (^MCHC.PM4L, One))
  1318. {
  1319. CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
  1320. Store (Zero, D8RW)
  1321. }
  1322.  
  1323. If (^MCHC.PM4H)
  1324. {
  1325. CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
  1326. Store (Zero, DCLN)
  1327. }
  1328.  
  1329. If (LEqual (^MCHC.PM4H, One))
  1330. {
  1331. CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
  1332. Store (Zero, DCRW)
  1333. }
  1334.  
  1335. If (^MCHC.PM5L)
  1336. {
  1337. CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
  1338. Store (Zero, E0LN)
  1339. }
  1340.  
  1341. If (LEqual (^MCHC.PM5L, One))
  1342. {
  1343. CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
  1344. Store (Zero, E0RW)
  1345. }
  1346.  
  1347. If (^MCHC.PM5H)
  1348. {
  1349. CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
  1350. Store (Zero, E4LN)
  1351. }
  1352.  
  1353. If (LEqual (^MCHC.PM5H, One))
  1354. {
  1355. CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
  1356. Store (Zero, E4RW)
  1357. }
  1358.  
  1359. If (^MCHC.PM6L)
  1360. {
  1361. CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
  1362. Store (Zero, E8LN)
  1363. }
  1364.  
  1365. If (LEqual (^MCHC.PM6L, One))
  1366. {
  1367. CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
  1368. Store (Zero, E8RW)
  1369. }
  1370.  
  1371. If (^MCHC.PM6H)
  1372. {
  1373. CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
  1374. Store (Zero, ECLN)
  1375. }
  1376.  
  1377. If (LEqual (^MCHC.PM6H, One))
  1378. {
  1379. CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
  1380. Store (Zero, ECRW)
  1381. }
  1382.  
  1383. If (^MCHC.PM0H)
  1384. {
  1385. CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
  1386. Store (Zero, F0LN)
  1387. }
  1388.  
  1389. If (LEqual (^MCHC.PM0H, One))
  1390. {
  1391. CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
  1392. Store (Zero, F0RW)
  1393. }
  1394.  
  1395. If (TPRS)
  1396. {
  1397. CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, TPML)
  1398. Store (0x5000, TPML)
  1399. }
  1400.  
  1401. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)
  1402. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)
  1403. CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)
  1404. CreateDWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)
  1405. CreateDWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)
  1406. CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)
  1407. ShiftLeft (^MCHC.PXBR, 0x1A, M1MX)
  1408. ShiftRight (0x10000000, ^MCHC.PXSZ, Local0)
  1409. Add (M1MX, Local0, M2MN)
  1410. Add (Subtract (M2MX, M2MN), One, M2LN)
  1411. Subtract (M1MX, One, M1MX)
  1412. ShiftLeft (^MCHC.TLUD, 0x14, M1MN)
  1413. Add (Subtract (M1MX, M1MN), One, M1LN)
  1414. Return (BUF0)
  1415. }
  1416.  
  1417. Name (GUID, Buffer (0x10)
  1418. {
  1419. /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
  1420. /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
  1421. })
  1422. Method (_OSC, 4, Serialized)
  1423. {
  1424. If (LEqual (Arg0, GUID))
  1425. {
  1426. Store (Arg3, Local0)
  1427. CreateDWordField (Local0, Zero, CDW1)
  1428. CreateDWordField (Local0, 0x04, CDW2)
  1429. CreateDWordField (Local0, 0x08, CDW3)
  1430. Store (CDW2, OSCS)
  1431. Store (CDW3, OSCC)
  1432. If (NEXP)
  1433. {
  1434. If (LNot (And (CDW1, One)))
  1435. {
  1436. If (And (OSCC, One))
  1437. {
  1438. NHPG ()
  1439. }
  1440.  
  1441. If (And (OSCC, 0x04))
  1442. {
  1443. NPME ()
  1444. }
  1445. }
  1446. }
  1447. Else
  1448. {
  1449. Store (Zero, OSCC)
  1450. }
  1451.  
  1452. If (LNotEqual (Arg1, One))
  1453. {
  1454. Or (CDW1, 0x08, CDW1)
  1455. }
  1456.  
  1457. If (LNotEqual (CDW3, OSCC))
  1458. {
  1459. Or (CDW1, 0x10, CDW1)
  1460. }
  1461.  
  1462. Store (OSCC, CDW3)
  1463. Return (Local0)
  1464. }
  1465. Else
  1466. {
  1467. Or (CDW1, 0x04, CDW1)
  1468. Return (Local0)
  1469. }
  1470. }
  1471.  
  1472. Method (_PRT, 0, NotSerialized)
  1473. {
  1474. If (GPIC)
  1475. {
  1476. Return (Package (0x18)
  1477. {
  1478. Package (0x04)
  1479. {
  1480. 0x0001FFFF,
  1481. Zero,
  1482. Zero,
  1483. 0x10
  1484. },
  1485.  
  1486. Package (0x04)
  1487. {
  1488. 0x0002FFFF,
  1489. Zero,
  1490. Zero,
  1491. 0x10
  1492. },
  1493.  
  1494. Package (0x04)
  1495. {
  1496. 0x0003FFFF,
  1497. Zero,
  1498. Zero,
  1499. 0x10
  1500. },
  1501.  
  1502. Package (0x04)
  1503. {
  1504. 0x0003FFFF,
  1505. One,
  1506. Zero,
  1507. 0x11
  1508. },
  1509.  
  1510. Package (0x04)
  1511. {
  1512. 0x0003FFFF,
  1513. 0x02,
  1514. Zero,
  1515. 0x12
  1516. },
  1517.  
  1518. Package (0x04)
  1519. {
  1520. 0x0003FFFF,
  1521. 0x03,
  1522. Zero,
  1523. 0x13
  1524. },
  1525.  
  1526. Package (0x04)
  1527. {
  1528. 0x0007FFFF,
  1529. Zero,
  1530. Zero,
  1531. 0x10
  1532. },
  1533.  
  1534. Package (0x04)
  1535. {
  1536. 0x0019FFFF,
  1537. Zero,
  1538. Zero,
  1539. 0x14
  1540. },
  1541.  
  1542. Package (0x04)
  1543. {
  1544. 0x001AFFFF,
  1545. Zero,
  1546. Zero,
  1547. 0x14
  1548. },
  1549.  
  1550. Package (0x04)
  1551. {
  1552. 0x001AFFFF,
  1553. One,
  1554. Zero,
  1555. 0x14
  1556. },
  1557.  
  1558. Package (0x04)
  1559. {
  1560. 0x001AFFFF,
  1561. 0x02,
  1562. Zero,
  1563. 0x14
  1564. },
  1565.  
  1566. Package (0x04)
  1567. {
  1568. 0x001BFFFF,
  1569. Zero,
  1570. Zero,
  1571. 0x15
  1572. },
  1573.  
  1574. Package (0x04)
  1575. {
  1576. 0x001CFFFF,
  1577. Zero,
  1578. Zero,
  1579. 0x10
  1580. },
  1581.  
  1582. Package (0x04)
  1583. {
  1584. 0x001CFFFF,
  1585. One,
  1586. Zero,
  1587. 0x11
  1588. },
  1589.  
  1590. Package (0x04)
  1591. {
  1592. 0x001CFFFF,
  1593. 0x02,
  1594. Zero,
  1595. 0x12
  1596. },
  1597.  
  1598. Package (0x04)
  1599. {
  1600. 0x001CFFFF,
  1601. 0x03,
  1602. Zero,
  1603. 0x13
  1604. },
  1605.  
  1606. Package (0x04)
  1607. {
  1608. 0x001DFFFF,
  1609. Zero,
  1610. Zero,
  1611. 0x17
  1612. },
  1613.  
  1614. Package (0x04)
  1615. {
  1616. 0x001DFFFF,
  1617. One,
  1618. Zero,
  1619. 0x17
  1620. },
  1621.  
  1622. Package (0x04)
  1623. {
  1624. 0x001DFFFF,
  1625. 0x02,
  1626. Zero,
  1627. 0x17
  1628. },
  1629.  
  1630. Package (0x04)
  1631. {
  1632. 0x001DFFFF,
  1633. 0x03,
  1634. Zero,
  1635. 0x17
  1636. },
  1637.  
  1638. Package (0x04)
  1639. {
  1640. 0x001FFFFF,
  1641. Zero,
  1642. Zero,
  1643. 0x16
  1644. },
  1645.  
  1646. Package (0x04)
  1647. {
  1648. 0x001FFFFF,
  1649. One,
  1650. Zero,
  1651. 0x16
  1652. },
  1653.  
  1654. Package (0x04)
  1655. {
  1656. 0x001FFFFF,
  1657. 0x02,
  1658. Zero,
  1659. 0x16
  1660. },
  1661.  
  1662. Package (0x04)
  1663. {
  1664. 0x001FFFFF,
  1665. 0x03,
  1666. Zero,
  1667. 0x16
  1668. }
  1669. })
  1670. }
  1671. Else
  1672. {
  1673. Return (Package (0x18)
  1674. {
  1675. Package (0x04)
  1676. {
  1677. 0x0001FFFF,
  1678. Zero,
  1679. ^LPCB.LNKA,
  1680. Zero
  1681. },
  1682.  
  1683. Package (0x04)
  1684. {
  1685. 0x0002FFFF,
  1686. Zero,
  1687. ^LPCB.LNKA,
  1688. Zero
  1689. },
  1690.  
  1691. Package (0x04)
  1692. {
  1693. 0x0003FFFF,
  1694. Zero,
  1695. ^LPCB.LNKA,
  1696. Zero
  1697. },
  1698.  
  1699. Package (0x04)
  1700. {
  1701. 0x0003FFFF,
  1702. One,
  1703. ^LPCB.LNKB,
  1704. Zero
  1705. },
  1706.  
  1707. Package (0x04)
  1708. {
  1709. 0x0003FFFF,
  1710. 0x02,
  1711. ^LPCB.LNKC,
  1712. Zero
  1713. },
  1714.  
  1715. Package (0x04)
  1716. {
  1717. 0x0003FFFF,
  1718. 0x03,
  1719. ^LPCB.LNKD,
  1720. Zero
  1721. },
  1722.  
  1723. Package (0x04)
  1724. {
  1725. 0x0007FFFF,
  1726. Zero,
  1727. ^LPCB.LNKA,
  1728. Zero
  1729. },
  1730.  
  1731. Package (0x04)
  1732. {
  1733. 0x0019FFFF,
  1734. Zero,
  1735. ^LPCB.LNKE,
  1736. Zero
  1737. },
  1738.  
  1739. Package (0x04)
  1740. {
  1741. 0x001AFFFF,
  1742. Zero,
  1743. ^LPCB.LNKE,
  1744. Zero
  1745. },
  1746.  
  1747. Package (0x04)
  1748. {
  1749. 0x001AFFFF,
  1750. One,
  1751. ^LPCB.LNKE,
  1752. Zero
  1753. },
  1754.  
  1755. Package (0x04)
  1756. {
  1757. 0x001AFFFF,
  1758. 0x02,
  1759. ^LPCB.LNKE,
  1760. Zero
  1761. },
  1762.  
  1763. Package (0x04)
  1764. {
  1765. 0x001BFFFF,
  1766. Zero,
  1767. ^LPCB.LNKF,
  1768. Zero
  1769. },
  1770.  
  1771. Package (0x04)
  1772. {
  1773. 0x001CFFFF,
  1774. Zero,
  1775. ^LPCB.LNKA,
  1776. Zero
  1777. },
  1778.  
  1779. Package (0x04)
  1780. {
  1781. 0x001CFFFF,
  1782. One,
  1783. ^LPCB.LNKB,
  1784. Zero
  1785. },
  1786.  
  1787. Package (0x04)
  1788. {
  1789. 0x001CFFFF,
  1790. 0x02,
  1791. ^LPCB.LNKC,
  1792. Zero
  1793. },
  1794.  
  1795. Package (0x04)
  1796. {
  1797. 0x001CFFFF,
  1798. 0x03,
  1799. ^LPCB.LNKD,
  1800. Zero
  1801. },
  1802.  
  1803. Package (0x04)
  1804. {
  1805. 0x001DFFFF,
  1806. Zero,
  1807. ^LPCB.LNKH,
  1808. Zero
  1809. },
  1810.  
  1811. Package (0x04)
  1812. {
  1813. 0x001DFFFF,
  1814. One,
  1815. ^LPCB.LNKH,
  1816. Zero
  1817. },
  1818.  
  1819. Package (0x04)
  1820. {
  1821. 0x001DFFFF,
  1822. 0x02,
  1823. ^LPCB.LNKH,
  1824. Zero
  1825. },
  1826.  
  1827. Package (0x04)
  1828. {
  1829. 0x001DFFFF,
  1830. 0x03,
  1831. ^LPCB.LNKH,
  1832. Zero
  1833. },
  1834.  
  1835. Package (0x04)
  1836. {
  1837. 0x001FFFFF,
  1838. Zero,
  1839. ^LPCB.LNKG,
  1840. Zero
  1841. },
  1842.  
  1843. Package (0x04)
  1844. {
  1845. 0x001FFFFF,
  1846. One,
  1847. ^LPCB.LNKG,
  1848. Zero
  1849. },
  1850.  
  1851. Package (0x04)
  1852. {
  1853. 0x001FFFFF,
  1854. 0x02,
  1855. ^LPCB.LNKG,
  1856. Zero
  1857. },
  1858.  
  1859. Package (0x04)
  1860. {
  1861. 0x001FFFFF,
  1862. 0x03,
  1863. ^LPCB.LNKG,
  1864. Zero
  1865. }
  1866. })
  1867. }
  1868. }
  1869.  
  1870. Device (PDRC)
  1871. {
  1872. Name (_HID, EisaId ("PNP0C02"))
  1873. Name (_UID, One)
  1874. Name (BUF0, ResourceTemplate ()
  1875. {
  1876. Memory32Fixed (ReadWrite,
  1877. 0x00000000, // Address Base
  1878. 0x00004000, // Address Length
  1879. _Y10)
  1880. Memory32Fixed (ReadWrite,
  1881. 0x00000000, // Address Base
  1882. 0x00004000, // Address Length
  1883. _Y11)
  1884. Memory32Fixed (ReadWrite,
  1885. 0x00000000, // Address Base
  1886. 0x00001000, // Address Length
  1887. _Y12)
  1888. Memory32Fixed (ReadWrite,
  1889. 0x00000000, // Address Base
  1890. 0x00001000, // Address Length
  1891. _Y13)
  1892. Memory32Fixed (ReadWrite,
  1893. 0x00000000, // Address Base
  1894. 0x00000000, // Address Length
  1895. _Y14)
  1896. Memory32Fixed (ReadWrite,
  1897. 0xFED20000, // Address Base
  1898. 0x00020000, // Address Length
  1899. )
  1900. Memory32Fixed (ReadWrite,
  1901. 0xFED40000, // Address Base
  1902. 0x00005000, // Address Length
  1903. _Y15)
  1904. Memory32Fixed (ReadWrite,
  1905. 0xFED45000, // Address Base
  1906. 0x0004B000, // Address Length
  1907. )
  1908. })
  1909. Method (_CRS, 0, Serialized)
  1910. {
  1911. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y10._BAS, RBR0)
  1912. ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)
  1913. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, MBR0)
  1914. ShiftLeft (^^MCHC.MHBR, 0x0E, MBR0)
  1915. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, DBR0)
  1916. ShiftLeft (^^MCHC.DIBR, 0x0C, DBR0)
  1917. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, EBR0)
  1918. ShiftLeft (^^MCHC.EPBR, 0x0C, EBR0)
  1919. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, XBR0)
  1920. ShiftLeft (^^MCHC.PXBR, 0x1A, XBR0)
  1921. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._LEN, XSZ0)
  1922. ShiftRight (0x10000000, ^^MCHC.PXSZ, XSZ0)
  1923. If (TPRS)
  1924. {
  1925. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._LEN, TPML)
  1926. Store (Zero, TPML)
  1927. }
  1928.  
  1929. Return (BUF0)
  1930. }
  1931. }
  1932.  
  1933. Device (PEGP)
  1934. {
  1935. Name (_ADR, 0x00010000)
  1936. Method (_PRT, 0, NotSerialized)
  1937. {
  1938. If (GPIC)
  1939. {
  1940. Return (Package (0x04)
  1941. {
  1942. Package (0x04)
  1943. {
  1944. 0xFFFF,
  1945. Zero,
  1946. Zero,
  1947. 0x10
  1948. },
  1949.  
  1950. Package (0x04)
  1951. {
  1952. 0xFFFF,
  1953. One,
  1954. Zero,
  1955. 0x11
  1956. },
  1957.  
  1958. Package (0x04)
  1959. {
  1960. 0xFFFF,
  1961. 0x02,
  1962. Zero,
  1963. 0x12
  1964. },
  1965.  
  1966. Package (0x04)
  1967. {
  1968. 0xFFFF,
  1969. 0x03,
  1970. Zero,
  1971. 0x13
  1972. }
  1973. })
  1974. }
  1975. Else
  1976. {
  1977. Return (Package (0x04)
  1978. {
  1979. Package (0x04)
  1980. {
  1981. 0xFFFF,
  1982. Zero,
  1983. ^^LPCB.LNKA,
  1984. Zero
  1985. },
  1986.  
  1987. Package (0x04)
  1988. {
  1989. 0xFFFF,
  1990. One,
  1991. ^^LPCB.LNKB,
  1992. Zero
  1993. },
  1994.  
  1995. Package (0x04)
  1996. {
  1997. 0xFFFF,
  1998. 0x02,
  1999. ^^LPCB.LNKC,
  2000. Zero
  2001. },
  2002.  
  2003. Package (0x04)
  2004. {
  2005. 0xFFFF,
  2006. 0x03,
  2007. ^^LPCB.LNKD,
  2008. Zero
  2009. }
  2010. })
  2011. }
  2012. }
  2013.  
  2014. Device (NGFX)
  2015. {
  2016. Name (_ADR, Zero)
  2017. Name (NSTA, Package (0x03)
  2018. {
  2019. Package (0x03)
  2020. {
  2021. One,
  2022. Zero,
  2023. Zero
  2024. },
  2025.  
  2026. Package (0x03)
  2027. {
  2028. 0x09,
  2029. Zero,
  2030. Zero
  2031. },
  2032.  
  2033. Package (0x03)
  2034. {
  2035. 0x0B,
  2036. 0x80000002,
  2037. Zero
  2038. }
  2039. })
  2040. Name (PWML, Buffer (0x09)
  2041. {
  2042. /* 0000 */ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  2043. /* 0008 */ 0x00
  2044. })
  2045. Method (NVIF, 3, NotSerialized)
  2046. {
  2047. Store (Buffer (0x04) {}, Local0)
  2048. CreateDWordField (Local0, Zero, STA0)
  2049. Store (Buffer (0x04) {}, Local1)
  2050. CreateDWordField (Local1, Zero, DAT0)
  2051. Store (0x80000002, STA0)
  2052. Store (Zero, DAT0)
  2053. Concatenate (Local0, Local1, Local2)
  2054. If (LEqual (Arg0, One))
  2055. {
  2056. If (LEqual (Arg1, Zero))
  2057. {
  2058. Store (GSTA (Arg0), STA0)
  2059. Store (One, DAT0)
  2060. Concatenate (Local0, Local1, Local2)
  2061. }
  2062.  
  2063. Return (Local2)
  2064. }
  2065.  
  2066. If (LEqual (Arg0, 0x09))
  2067. {
  2068. If (LGreater (DerefOf (Index (PWML, Zero)), DerefOf (Index (PWML,
  2069. One))))
  2070. {
  2071. Store (PHBL (), PWML)
  2072. }
  2073.  
  2074. If (LOr (LEqual (Arg1, One), LEqual (Arg1, 0x03)))
  2075. {
  2076. CreateDWordField (Arg2, Zero, INDX)
  2077. }
  2078.  
  2079. If (LEqual (Arg1, Zero))
  2080. {
  2081. Store (GSTA (Arg0), STA0)
  2082. Store (Zero, DAT0)
  2083. Concatenate (Local0, Local1, Local2)
  2084. }
  2085.  
  2086. If (LEqual (Arg1, One))
  2087. {
  2088. Store (Zero, STA0)
  2089. Store (Buffer (0x0C)
  2090. {
  2091. /* 0000 */ 0x00, 0x00, 0xFF, 0x01, 0xC8, 0x00, 0x00, 0x00,
  2092. /* 0008 */ 0x00, 0x00, 0xE8, 0x03
  2093. }, Local1)
  2094. Concatenate (Local0, Local1, Local2)
  2095. }
  2096.  
  2097. If (LEqual (Arg1, 0x03))
  2098. {
  2099. Store (Zero, STA0)
  2100. Name (PWMR, Buffer (0x0B) {})
  2101. Store (DerefOf (Index (PWML, 0x08)), Index (PWMR, Zero))
  2102. Store (DerefOf (Index (PWML, 0x08)), Index (PWMR, One))
  2103. Store (Zero, Local3)
  2104. While (LLess (Local3, SizeOf (PWML)))
  2105. {
  2106. Store (DerefOf (Index (PWML, Local3)), Index (PWMR, Add (Local3,
  2107. 0x02)))
  2108. Increment (Local3)
  2109. }
  2110.  
  2111. Concatenate (Local0, PWMR, Local2)
  2112. }
  2113.  
  2114. Return (Local2)
  2115. }
  2116.  
  2117. If (LEqual (Arg0, 0x0B))
  2118. {
  2119. If (LEqual (Arg1, Zero))
  2120. {
  2121. Store (GSTA (Arg0), STA0)
  2122. Store (Zero, DAT0)
  2123. Concatenate (Local0, Local1, Local2)
  2124. }
  2125.  
  2126. If (LEqual (Arg1, One))
  2127. {
  2128. Store (Zero, STA0)
  2129. Name (DHDI, Buffer (0x08)
  2130. {
  2131. /* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00
  2132. })
  2133. CreateWordField (DHDI, Zero, CRTI)
  2134. Store (0x0100, CRTI)
  2135. CreateWordField (DHDI, 0x04, DVII)
  2136. Store (0x0111, DVII)
  2137. Concatenate (Local0, DHDI, Local2)
  2138. }
  2139.  
  2140. If (LEqual (Arg1, 0x02))
  2141. {
  2142. Store (Zero, STA0)
  2143. Store (Zero, DAT0)
  2144. Concatenate (Local0, Local1, Local2)
  2145. }
  2146.  
  2147. Return (Local2)
  2148. }
  2149.  
  2150. Return (Local2)
  2151. }
  2152.  
  2153. Method (GSTA, 1, NotSerialized)
  2154. {
  2155. Store (Zero, Local0)
  2156. While (LLess (Local0, SizeOf (NSTA)))
  2157. {
  2158. Store (DerefOf (Index (DerefOf (Index (NSTA, Local0)), Zero)),
  2159. Local1)
  2160. If (LEqual (Arg0, Local1))
  2161. {
  2162. If (LGreaterEqual (OSYS, 0x07D6))
  2163. {
  2164. Store (DerefOf (Index (DerefOf (Index (NSTA, Local0)), 0x02)),
  2165. Local2)
  2166. }
  2167. Else
  2168. {
  2169. Store (DerefOf (Index (DerefOf (Index (NSTA, Local0)), One)),
  2170. Local2)
  2171. }
  2172.  
  2173. Return (Local2)
  2174. }
  2175. Else
  2176. {
  2177. Increment (Local0)
  2178. }
  2179. }
  2180.  
  2181. Return (0x80000002)
  2182. }
  2183.  
  2184. Method (_DOD, 0, NotSerialized)
  2185. {
  2186. Return (Package (0x03)
  2187. {
  2188. 0x00010110,
  2189. 0x00010100,
  2190. 0x00010111
  2191. })
  2192. }
  2193.  
  2194. Device (LCD)
  2195. {
  2196. Method (_ADR, 0, Serialized)
  2197. {
  2198. Return (0x0110)
  2199. }
  2200. }
  2201.  
  2202. Device (CRT)
  2203. {
  2204. Method (_ADR, 0, Serialized)
  2205. {
  2206. Return (0x0100)
  2207. }
  2208. }
  2209.  
  2210. Device (DVI)
  2211. {
  2212. Method (_ADR, 0, Serialized)
  2213. {
  2214. Return (0x0111)
  2215. }
  2216. }
  2217. }
  2218. }
  2219.  
  2220. Device (GFX0)
  2221. {
  2222. Name (_ADR, 0x00020000)
  2223. Method (_DOS, 1, NotSerialized)
  2224. {
  2225. Store (And (Arg0, 0x07), DSEN)
  2226. }
  2227.  
  2228. Method (_DOD, 0, NotSerialized)
  2229. {
  2230. Store (Zero, NDID)
  2231. If (LNotEqual (DIDL, Zero))
  2232. {
  2233. Store (SDDL (DID1), DID1)
  2234. }
  2235.  
  2236. If (LNotEqual (DDL2, Zero))
  2237. {
  2238. Store (SDDL (DID2), DID2)
  2239. }
  2240.  
  2241. If (LNotEqual (DDL3, Zero))
  2242. {
  2243. Store (SDDL (DID3), DID3)
  2244. }
  2245.  
  2246. If (LNotEqual (DDL4, Zero))
  2247. {
  2248. Store (SDDL (DID4), DID4)
  2249. }
  2250.  
  2251. If (LNotEqual (DDL5, Zero))
  2252. {
  2253. Store (SDDL (DID5), DID5)
  2254. }
  2255.  
  2256. If (LEqual (NDID, One))
  2257. {
  2258. Name (TMP1, Package (0x01)
  2259. {
  2260. 0xFFFFFFFF
  2261. })
  2262. Store (Or (0x00010000, DID1), Index (TMP1, Zero))
  2263. Return (TMP1)
  2264. }
  2265.  
  2266. If (LEqual (NDID, 0x02))
  2267. {
  2268. Name (TMP2, Package (0x02)
  2269. {
  2270. 0xFFFFFFFF,
  2271. 0xFFFFFFFF
  2272. })
  2273. Store (Or (0x00010000, DID1), Index (TMP2, Zero))
  2274. Store (Or (0x00010000, DID2), Index (TMP2, One))
  2275. Return (TMP2)
  2276. }
  2277.  
  2278. If (LEqual (NDID, 0x03))
  2279. {
  2280. Name (TMP3, Package (0x03)
  2281. {
  2282. 0xFFFFFFFF,
  2283. 0xFFFFFFFF,
  2284. 0xFFFFFFFF
  2285. })
  2286. Store (Or (0x00010000, DID1), Index (TMP3, Zero))
  2287. Store (Or (0x00010000, DID2), Index (TMP3, One))
  2288. Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
  2289. Return (TMP3)
  2290. }
  2291.  
  2292. If (LEqual (NDID, 0x04))
  2293. {
  2294. Name (TMP4, Package (0x04)
  2295. {
  2296. 0xFFFFFFFF,
  2297. 0xFFFFFFFF,
  2298. 0xFFFFFFFF,
  2299. 0xFFFFFFFF
  2300. })
  2301. Store (Or (0x00010000, DID1), Index (TMP4, Zero))
  2302. Store (Or (0x00010000, DID2), Index (TMP4, One))
  2303. Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
  2304. Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
  2305. Return (TMP4)
  2306. }
  2307.  
  2308. If (LGreater (NDID, 0x04))
  2309. {
  2310. Name (TMP5, Package (0x05)
  2311. {
  2312. 0xFFFFFFFF,
  2313. 0xFFFFFFFF,
  2314. 0xFFFFFFFF,
  2315. 0xFFFFFFFF,
  2316. 0xFFFFFFFF
  2317. })
  2318. Store (Or (0x00010000, DID1), Index (TMP5, Zero))
  2319. Store (Or (0x00010000, DID2), Index (TMP5, One))
  2320. Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
  2321. Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
  2322. Store (Or (0x00010000, DID4), Index (TMP5, 0x04))
  2323. Return (TMP5)
  2324. }
  2325.  
  2326. Return (Package (0x01)
  2327. {
  2328. 0x0400
  2329. })
  2330. }
  2331.  
  2332. Device (DD01)
  2333. {
  2334. Method (_ADR, 0, Serialized)
  2335. {
  2336. If (LEqual (DID1, Zero))
  2337. {
  2338. Return (One)
  2339. }
  2340. Else
  2341. {
  2342. Return (And (0xFFFF, DID1))
  2343. }
  2344. }
  2345.  
  2346. Method (_DCS, 0, NotSerialized)
  2347. {
  2348. Return (CDDS (DID1))
  2349. }
  2350.  
  2351. Method (_DGS, 0, NotSerialized)
  2352. {
  2353. Return (NDDS (DID1))
  2354. }
  2355.  
  2356. Method (_DSS, 1, NotSerialized)
  2357. {
  2358. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2359. {
  2360. Store (NSTE, CSTE)
  2361. }
  2362. }
  2363. }
  2364.  
  2365. Device (DD02)
  2366. {
  2367. Method (_ADR, 0, Serialized)
  2368. {
  2369. If (LEqual (DID2, Zero))
  2370. {
  2371. Return (0x02)
  2372. }
  2373. Else
  2374. {
  2375. Return (And (0xFFFF, DID2))
  2376. }
  2377. }
  2378.  
  2379. Method (_DCS, 0, NotSerialized)
  2380. {
  2381. Return (CDDS (DID2))
  2382. }
  2383.  
  2384. Method (_DGS, 0, NotSerialized)
  2385. {
  2386. Return (NDDS (DID2))
  2387. }
  2388.  
  2389. Method (_DSS, 1, NotSerialized)
  2390. {
  2391. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2392. {
  2393. Store (NSTE, CSTE)
  2394. }
  2395. }
  2396. }
  2397.  
  2398. Device (DD03)
  2399. {
  2400. Method (_ADR, 0, Serialized)
  2401. {
  2402. If (LEqual (DID3, Zero))
  2403. {
  2404. Return (0x03)
  2405. }
  2406. Else
  2407. {
  2408. Return (And (0xFFFF, DID3))
  2409. }
  2410. }
  2411.  
  2412. Method (_DCS, 0, NotSerialized)
  2413. {
  2414. If (LEqual (DID3, Zero))
  2415. {
  2416. Return (0x0B)
  2417. }
  2418. Else
  2419. {
  2420. Return (CDDS (DID3))
  2421. }
  2422. }
  2423.  
  2424. Method (_DGS, 0, NotSerialized)
  2425. {
  2426. Return (NDDS (DID3))
  2427. }
  2428.  
  2429. Method (_DSS, 1, NotSerialized)
  2430. {
  2431. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2432. {
  2433. Store (NSTE, CSTE)
  2434. }
  2435. }
  2436. }
  2437.  
  2438. Device (DD04)
  2439. {
  2440. Method (_ADR, 0, Serialized)
  2441. {
  2442. If (LEqual (DID4, Zero))
  2443. {
  2444. Return (0x04)
  2445. }
  2446. Else
  2447. {
  2448. Return (And (0xFFFF, DID4))
  2449. }
  2450. }
  2451.  
  2452. Method (_DCS, 0, NotSerialized)
  2453. {
  2454. If (LEqual (DID4, Zero))
  2455. {
  2456. Return (0x0B)
  2457. }
  2458. Else
  2459. {
  2460. Return (CDDS (DID4))
  2461. }
  2462. }
  2463.  
  2464. Method (_DGS, 0, NotSerialized)
  2465. {
  2466. Return (NDDS (DID4))
  2467. }
  2468.  
  2469. Method (_DSS, 1, NotSerialized)
  2470. {
  2471. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2472. {
  2473. Store (NSTE, CSTE)
  2474. }
  2475. }
  2476. }
  2477.  
  2478. Device (DD05)
  2479. {
  2480. Method (_ADR, 0, Serialized)
  2481. {
  2482. If (LEqual (DID5, Zero))
  2483. {
  2484. Return (0x05)
  2485. }
  2486. Else
  2487. {
  2488. Return (And (0xFFFF, DID5))
  2489. }
  2490. }
  2491.  
  2492. Method (_DCS, 0, NotSerialized)
  2493. {
  2494. If (LEqual (DID5, Zero))
  2495. {
  2496. Return (0x0B)
  2497. }
  2498. Else
  2499. {
  2500. Return (CDDS (DID5))
  2501. }
  2502. }
  2503.  
  2504. Method (_DGS, 0, NotSerialized)
  2505. {
  2506. Return (NDDS (DID5))
  2507. }
  2508.  
  2509. Method (_DSS, 1, NotSerialized)
  2510. {
  2511. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2512. {
  2513. Store (NSTE, CSTE)
  2514. }
  2515. }
  2516. }
  2517.  
  2518. Method (SDDL, 1, NotSerialized)
  2519. {
  2520. Increment (NDID)
  2521. Store (And (Arg0, 0x0F0F), Local0)
  2522. Or (0x80000000, Local0, Local1)
  2523. If (LEqual (DIDL, Local0))
  2524. {
  2525. Return (Local1)
  2526. }
  2527.  
  2528. If (LEqual (DDL2, Local0))
  2529. {
  2530. Return (Local1)
  2531. }
  2532.  
  2533. If (LEqual (DDL3, Local0))
  2534. {
  2535. Return (Local1)
  2536. }
  2537.  
  2538. If (LEqual (DDL4, Local0))
  2539. {
  2540. Return (Local1)
  2541. }
  2542.  
  2543. If (LEqual (DDL5, Local0))
  2544. {
  2545. Return (Local1)
  2546. }
  2547.  
  2548. If (LEqual (DDL6, Local0))
  2549. {
  2550. Return (Local1)
  2551. }
  2552.  
  2553. If (LEqual (DDL7, Local0))
  2554. {
  2555. Return (Local1)
  2556. }
  2557.  
  2558. If (LEqual (DDL8, Local0))
  2559. {
  2560. Return (Local1)
  2561. }
  2562.  
  2563. Return (Zero)
  2564. }
  2565.  
  2566. Method (CDDS, 1, NotSerialized)
  2567. {
  2568. If (LEqual (CADL, And (Arg0, 0x0F0F)))
  2569. {
  2570. Return (0x1F)
  2571. }
  2572.  
  2573. If (LEqual (CAL2, And (Arg0, 0x0F0F)))
  2574. {
  2575. Return (0x1F)
  2576. }
  2577.  
  2578. If (LEqual (CAL3, And (Arg0, 0x0F0F)))
  2579. {
  2580. Return (0x1F)
  2581. }
  2582.  
  2583. If (LEqual (CAL4, And (Arg0, 0x0F0F)))
  2584. {
  2585. Return (0x1F)
  2586. }
  2587.  
  2588. If (LEqual (CAL5, And (Arg0, 0x0F0F)))
  2589. {
  2590. Return (0x1F)
  2591. }
  2592.  
  2593. If (LEqual (CAL6, And (Arg0, 0x0F0F)))
  2594. {
  2595. Return (0x1F)
  2596. }
  2597.  
  2598. If (LEqual (CAL7, And (Arg0, 0x0F0F)))
  2599. {
  2600. Return (0x1F)
  2601. }
  2602.  
  2603. If (LEqual (CAL8, And (Arg0, 0x0F0F)))
  2604. {
  2605. Return (0x1F)
  2606. }
  2607.  
  2608. Return (0x1D)
  2609. }
  2610.  
  2611. Method (NDDS, 1, NotSerialized)
  2612. {
  2613. If (LEqual (NADL, And (Arg0, 0x0F0F)))
  2614. {
  2615. Return (One)
  2616. }
  2617.  
  2618. If (LEqual (NDL2, And (Arg0, 0x0F0F)))
  2619. {
  2620. Return (One)
  2621. }
  2622.  
  2623. If (LEqual (NDL3, And (Arg0, 0x0F0F)))
  2624. {
  2625. Return (One)
  2626. }
  2627.  
  2628. If (LEqual (NDL4, And (Arg0, 0x0F0F)))
  2629. {
  2630. Return (One)
  2631. }
  2632.  
  2633. If (LEqual (NDL5, And (Arg0, 0x0F0F)))
  2634. {
  2635. Return (One)
  2636. }
  2637.  
  2638. If (LEqual (NDL6, And (Arg0, 0x0F0F)))
  2639. {
  2640. Return (One)
  2641. }
  2642.  
  2643. If (LEqual (NDL7, And (Arg0, 0x0F0F)))
  2644. {
  2645. Return (One)
  2646. }
  2647.  
  2648. If (LEqual (NDL8, And (Arg0, 0x0F0F)))
  2649. {
  2650. Return (One)
  2651. }
  2652.  
  2653. Return (Zero)
  2654. }
  2655.  
  2656. Scope (^^PCI0)
  2657. {
  2658. OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
  2659. Field (MCHP, AnyAcc, NoLock, Preserve)
  2660. {
  2661. Offset (0x60),
  2662. TASM, 10,
  2663. Offset (0x62)
  2664. }
  2665. }
  2666.  
  2667. OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
  2668. Field (IGDP, AnyAcc, NoLock, Preserve)
  2669. {
  2670. Offset (0x12),
  2671. , 1,
  2672. GIVD, 1,
  2673. , 2,
  2674. GUMA, 3,
  2675. Offset (0x14),
  2676. , 4,
  2677. GMFN, 1,
  2678. Offset (0x18),
  2679. Offset (0xA4),
  2680. ASLE, 8,
  2681. Offset (0xA8),
  2682. GSSE, 1,
  2683. GSSB, 14,
  2684. GSES, 1,
  2685. Offset (0xB0),
  2686. Offset (0xB1),
  2687. CDVL, 5,
  2688. Offset (0xB2),
  2689. Offset (0xB5),
  2690. LBPC, 8,
  2691. Offset (0xBC),
  2692. ASLS, 32
  2693. }
  2694.  
  2695. OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
  2696. Field (IGDM, AnyAcc, NoLock, Preserve)
  2697. {
  2698. SIGN, 128,
  2699. SIZE, 32,
  2700. OVER, 32,
  2701. SVER, 256,
  2702. VVER, 128,
  2703. GVER, 128,
  2704. MBOX, 32,
  2705. Offset (0x100),
  2706. DRDY, 32,
  2707. CSTS, 32,
  2708. CEVT, 32,
  2709. Offset (0x120),
  2710. DIDL, 32,
  2711. DDL2, 32,
  2712. DDL3, 32,
  2713. DDL4, 32,
  2714. DDL5, 32,
  2715. DDL6, 32,
  2716. DDL7, 32,
  2717. DDL8, 32,
  2718. CPDL, 32,
  2719. CPL2, 32,
  2720. CPL3, 32,
  2721. CPL4, 32,
  2722. CPL5, 32,
  2723. CPL6, 32,
  2724. CPL7, 32,
  2725. CPL8, 32,
  2726. CADL, 32,
  2727. CAL2, 32,
  2728. CAL3, 32,
  2729. CAL4, 32,
  2730. CAL5, 32,
  2731. CAL6, 32,
  2732. CAL7, 32,
  2733. CAL8, 32,
  2734. NADL, 32,
  2735. NDL2, 32,
  2736. NDL3, 32,
  2737. NDL4, 32,
  2738. NDL5, 32,
  2739. NDL6, 32,
  2740. NDL7, 32,
  2741. NDL8, 32,
  2742. ASLP, 32,
  2743. TIDX, 32,
  2744. CHPD, 32,
  2745. CLID, 32,
  2746. CDCK, 32,
  2747. SXSW, 32,
  2748. EVTS, 32,
  2749. CNOT, 32,
  2750. NRDY, 32,
  2751. Offset (0x200),
  2752. SCIE, 1,
  2753. GEFC, 4,
  2754. GXFC, 3,
  2755. GESF, 8,
  2756. Offset (0x204),
  2757. PARM, 32,
  2758. DSLP, 32,
  2759. Offset (0x300),
  2760. ARDY, 32,
  2761. ASLC, 32,
  2762. TCHE, 32,
  2763. ALSI, 32,
  2764. BCLP, 32,
  2765. PFIT, 32,
  2766. CBLV, 32,
  2767. BCLM, 320,
  2768. CPFM, 32,
  2769. EPFM, 32,
  2770. Offset (0x400),
  2771. GVD1, 57344
  2772. }
  2773.  
  2774. Name (DBTB, Package (0x15)
  2775. {
  2776. Zero,
  2777. 0x07,
  2778. 0x38,
  2779. 0x01C0,
  2780. 0x0E00,
  2781. 0x3F,
  2782. 0x01C7,
  2783. 0x0E07,
  2784. 0x01F8,
  2785. 0x0E38,
  2786. 0x0FC0,
  2787. Zero,
  2788. Zero,
  2789. Zero,
  2790. Zero,
  2791. Zero,
  2792. 0x7000,
  2793. 0x7007,
  2794. 0x7038,
  2795. 0x71C0,
  2796. 0x7E00
  2797. })
  2798. Name (CDCT, Package (0x03)
  2799. {
  2800. Package (0x03)
  2801. {
  2802. 0xC8,
  2803. 0x0140,
  2804. 0x0190
  2805. },
  2806.  
  2807. Package (0x03)
  2808. {
  2809. 0xC8,
  2810. 0x014D,
  2811. 0x0190
  2812. },
  2813.  
  2814. Package (0x03)
  2815. {
  2816. 0xDE,
  2817. 0x014D,
  2818. 0x017D
  2819. }
  2820. })
  2821. Name (SUCC, One)
  2822. Name (NVLD, 0x02)
  2823. Name (CRIT, 0x04)
  2824. Name (NCRT, 0x06)
  2825. Method (GSCI, 0, Serialized)
  2826. {
  2827. Method (GBDA, 0, Serialized)
  2828. {
  2829. If (LEqual (GESF, Zero))
  2830. {
  2831. Store (0x0279, PARM)
  2832. Store (Zero, GESF)
  2833. Return (SUCC)
  2834. }
  2835.  
  2836. If (LEqual (GESF, One))
  2837. {
  2838. Store (0x0240, PARM)
  2839. Store (Zero, GESF)
  2840. Return (SUCC)
  2841. }
  2842.  
  2843. If (LEqual (GESF, 0x04))
  2844. {
  2845. And (PARM, 0xEFFF0000, PARM)
  2846. And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
  2847. PARM)
  2848. Or (IBTT, PARM, PARM)
  2849. Store (Zero, GESF)
  2850. Return (SUCC)
  2851. }
  2852.  
  2853. If (LEqual (GESF, 0x05))
  2854. {
  2855. Store (IPSC, PARM)
  2856. Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
  2857. Add (PARM, 0x0100, PARM)
  2858. Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
  2859. Add (PARM, 0x00010000, PARM)
  2860. Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
  2861. Store (Zero, GESF)
  2862. Return (SUCC)
  2863. }
  2864.  
  2865. If (LEqual (GESF, 0x06))
  2866. {
  2867. Store (ITVF, PARM)
  2868. Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
  2869. Store (Zero, GESF)
  2870. Return (SUCC)
  2871. }
  2872.  
  2873. If (LEqual (GESF, 0x07))
  2874. {
  2875. Store (GIVD, PARM)
  2876. XOr (PARM, One, PARM)
  2877. Or (PARM, ShiftLeft (GMFN, One), PARM)
  2878. Or (PARM, 0x1000, PARM)
  2879. If (IDMM)
  2880. {
  2881. Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
  2882. }
  2883. Else
  2884. {
  2885. Or (PARM, ShiftLeft (IDMS, 0x0D), PARM)
  2886. }
  2887.  
  2888. Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), Subtract (
  2889. CDVL, One))), 0x15), PARM, PARM)
  2890. Store (One, GESF)
  2891. Return (SUCC)
  2892. }
  2893.  
  2894. If (LEqual (GESF, 0x0A))
  2895. {
  2896. Store (Zero, PARM)
  2897. If (ISSC)
  2898. {
  2899. Or (PARM, 0x03, PARM)
  2900. }
  2901.  
  2902. Store (Zero, GESF)
  2903. Return (SUCC)
  2904. }
  2905.  
  2906. Store (Zero, GESF)
  2907. Return (CRIT)
  2908. }
  2909.  
  2910. Method (SBCB, 0, Serialized)
  2911. {
  2912. If (LEqual (GESF, Zero))
  2913. {
  2914. Store (0x40, PARM)
  2915. Store (0xF7FD, PARM)
  2916. Store (Zero, GESF)
  2917. Return (SUCC)
  2918. }
  2919.  
  2920. If (LEqual (GESF, One))
  2921. {
  2922. Store (Zero, GESF)
  2923. Store (Zero, PARM)
  2924. Return (SUCC)
  2925. }
  2926.  
  2927. If (LEqual (GESF, 0x03))
  2928. {
  2929. Store (Zero, GESF)
  2930. Store (Zero, PARM)
  2931. Return (SUCC)
  2932. }
  2933.  
  2934. If (LEqual (GESF, 0x04))
  2935. {
  2936. Store (Zero, GESF)
  2937. Store (Zero, PARM)
  2938. Return (SUCC)
  2939. }
  2940.  
  2941. If (LEqual (GESF, 0x05))
  2942. {
  2943. Store (Zero, GESF)
  2944. Store (Zero, PARM)
  2945. Return (SUCC)
  2946. }
  2947.  
  2948. If (LEqual (GESF, 0x06))
  2949. {
  2950. Store (And (PARM, 0x0F), ITVF)
  2951. Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
  2952. Store (Zero, GESF)
  2953. Store (Zero, PARM)
  2954. Return (SUCC)
  2955. }
  2956.  
  2957. If (LEqual (GESF, 0x07))
  2958. {
  2959. If (LEqual (PARM, Zero))
  2960. {
  2961. Store (CLID, Local0)
  2962. If (And (0x80000000, Local0))
  2963. {
  2964. And (CLID, 0x0F, CLID)
  2965. GLID (CLID)
  2966. }
  2967. }
  2968.  
  2969. Store (Zero, GESF)
  2970. Store (Zero, PARM)
  2971. Return (SUCC)
  2972. }
  2973.  
  2974. If (LEqual (GESF, 0x08))
  2975. {
  2976. Store (Zero, GESF)
  2977. Store (Zero, PARM)
  2978. Return (SUCC)
  2979. }
  2980.  
  2981. If (LEqual (GESF, 0x09))
  2982. {
  2983. And (PARM, 0xFF, IBTT)
  2984. Store (Zero, GESF)
  2985. Store (Zero, PARM)
  2986. Return (SUCC)
  2987. }
  2988.  
  2989. If (LEqual (GESF, 0x0A))
  2990. {
  2991. And (PARM, 0xFF, IPSC)
  2992. If (And (ShiftRight (PARM, 0x08), 0xFF))
  2993. {
  2994. And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
  2995. Decrement (IPAT)
  2996. }
  2997.  
  2998. And (ShiftRight (PARM, 0x14), 0x07, IBIA)
  2999. Store (Zero, GESF)
  3000. Store (Zero, PARM)
  3001. Return (SUCC)
  3002. }
  3003.  
  3004. If (LEqual (GESF, 0x0B))
  3005. {
  3006. And (ShiftRight (PARM, One), One, IF1E)
  3007. If (And (PARM, 0x0001E000))
  3008. {
  3009. And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
  3010. Store (Zero, IDMM)
  3011. }
  3012. Else
  3013. {
  3014. And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
  3015. Store (One, IDMM)
  3016. }
  3017.  
  3018. Store (Zero, GESF)
  3019. Store (Zero, PARM)
  3020. Return (SUCC)
  3021. }
  3022.  
  3023. If (LEqual (GESF, 0x10))
  3024. {
  3025. Store (Zero, GESF)
  3026. Store (Zero, PARM)
  3027. Return (SUCC)
  3028. }
  3029.  
  3030. If (LEqual (GESF, 0x11))
  3031. {
  3032. Store (ShiftLeft (LIDS, 0x08), PARM)
  3033. Add (PARM, 0x0100, PARM)
  3034. Store (Zero, GESF)
  3035. Return (SUCC)
  3036. }
  3037.  
  3038. If (LEqual (GESF, 0x12))
  3039. {
  3040. If (And (PARM, One))
  3041. {
  3042. If (LEqual (ShiftRight (PARM, One), One))
  3043. {
  3044. Store (One, ISSC)
  3045. }
  3046. Else
  3047. {
  3048. Store (Zero, GESF)
  3049. Return (CRIT)
  3050. }
  3051. }
  3052. Else
  3053. {
  3054. Store (Zero, ISSC)
  3055. }
  3056.  
  3057. Store (Zero, GESF)
  3058. Store (Zero, PARM)
  3059. Return (SUCC)
  3060. }
  3061.  
  3062. If (LEqual (GESF, 0x13))
  3063. {
  3064. Store (Zero, GESF)
  3065. Store (Zero, PARM)
  3066. Return (SUCC)
  3067. }
  3068.  
  3069. Store (Zero, GESF)
  3070. Return (SUCC)
  3071. }
  3072.  
  3073. If (LEqual (GEFC, 0x04))
  3074. {
  3075. Store (GBDA (), GXFC)
  3076. }
  3077.  
  3078. If (LEqual (GEFC, 0x06))
  3079. {
  3080. Store (SBCB (), GXFC)
  3081. }
  3082.  
  3083. Store (Zero, GEFC)
  3084. Store (One, SCIS)
  3085. Store (Zero, GSSE)
  3086. Store (Zero, SCIE)
  3087. Return (Zero)
  3088. }
  3089.  
  3090. Method (PDRD, 0, NotSerialized)
  3091. {
  3092. If (LNot (DRDY))
  3093. {
  3094. Sleep (ASLP)
  3095. }
  3096.  
  3097. Return (LNot (DRDY))
  3098. }
  3099.  
  3100. Method (PSTS, 0, NotSerialized)
  3101. {
  3102. If (LGreater (CSTS, 0x02))
  3103. {
  3104. Sleep (ASLP)
  3105. }
  3106.  
  3107. Return (LEqual (CSTS, 0x03))
  3108. }
  3109.  
  3110. Method (GNOT, 2, NotSerialized)
  3111. {
  3112. If (PDRD ())
  3113. {
  3114. Return (One)
  3115. }
  3116.  
  3117. Store (Arg0, CEVT)
  3118. Store (0x03, CSTS)
  3119. If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
  3120. {
  3121. If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
  3122. {
  3123. Notify (PCI0, Arg1)
  3124. }
  3125. Else
  3126. {
  3127. Notify (GFX0, Arg1)
  3128. }
  3129. }
  3130.  
  3131. Notify (GFX0, 0x80)
  3132. Return (Zero)
  3133. }
  3134.  
  3135. Method (GHDS, 1, NotSerialized)
  3136. {
  3137. Store (Arg0, TIDX)
  3138. Return (GNOT (One, Zero))
  3139. }
  3140.  
  3141. Method (GLID, 1, NotSerialized)
  3142. {
  3143. Store (Arg0, CLID)
  3144. Return (GNOT (0x02, Zero))
  3145. }
  3146.  
  3147. Method (GDCK, 1, NotSerialized)
  3148. {
  3149. Store (Arg0, CDCK)
  3150. Return (GNOT (0x04, Zero))
  3151. }
  3152.  
  3153. Method (PARD, 0, NotSerialized)
  3154. {
  3155. If (LNot (ARDY))
  3156. {
  3157. Sleep (ASLP)
  3158. }
  3159.  
  3160. Return (LNot (ARDY))
  3161. }
  3162.  
  3163. Method (AINT, 2, NotSerialized)
  3164. {
  3165. If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
  3166. {
  3167. Return (One)
  3168. }
  3169.  
  3170. If (PARD ())
  3171. {
  3172. Return (One)
  3173. }
  3174.  
  3175. If (LEqual (Arg0, 0x02))
  3176. {
  3177. If (CPFM)
  3178. {
  3179. And (CPFM, 0x0F, Local0)
  3180. And (EPFM, 0x0F, Local1)
  3181. If (LEqual (Local0, One))
  3182. {
  3183. If (And (Local1, 0x06))
  3184. {
  3185. Store (0x06, PFIT)
  3186. }
  3187. Else
  3188. {
  3189. If (And (Local1, 0x08))
  3190. {
  3191. Store (0x08, PFIT)
  3192. }
  3193. Else
  3194. {
  3195. Store (One, PFIT)
  3196. }
  3197. }
  3198. }
  3199.  
  3200. If (LEqual (Local0, 0x06))
  3201. {
  3202. If (And (Local1, 0x08))
  3203. {
  3204. Store (0x08, PFIT)
  3205. }
  3206. Else
  3207. {
  3208. If (And (Local1, One))
  3209. {
  3210. Store (One, PFIT)
  3211. }
  3212. Else
  3213. {
  3214. Store (0x06, PFIT)
  3215. }
  3216. }
  3217. }
  3218.  
  3219. If (LEqual (Local0, 0x08))
  3220. {
  3221. If (And (Local1, One))
  3222. {
  3223. Store (One, PFIT)
  3224. }
  3225. Else
  3226. {
  3227. If (And (Local1, 0x06))
  3228. {
  3229. Store (0x06, PFIT)
  3230. }
  3231. Else
  3232. {
  3233. Store (0x08, PFIT)
  3234. }
  3235. }
  3236. }
  3237. }
  3238. Else
  3239. {
  3240. XOr (PFIT, 0x07, PFIT)
  3241. }
  3242.  
  3243. Or (PFIT, 0x80000000, PFIT)
  3244. Store (0x04, ASLC)
  3245. }
  3246. Else
  3247. {
  3248. If (LEqual (Arg0, One))
  3249. {
  3250. Store (Arg1, BCLP)
  3251. Or (BCLP, 0x80000000, BCLP)
  3252. Store (0x02, ASLC)
  3253. }
  3254. Else
  3255. {
  3256. If (LEqual (Arg0, Zero))
  3257. {
  3258. Store (Arg1, ALSI)
  3259. Store (One, ASLC)
  3260. }
  3261. Else
  3262. {
  3263. Return (One)
  3264. }
  3265. }
  3266. }
  3267.  
  3268. Store (Zero, LBPC)
  3269. Return (Zero)
  3270. }
  3271. }
  3272.  
  3273. Scope (\)
  3274. {
  3275. Method (BRTW, 1, Serialized)
  3276. {
  3277. Store (Arg0, Local1)
  3278. If (LEqual (ALSE, 0x02))
  3279. {
  3280. Store (Divide (Multiply (ALAF, Arg0), 0x64, ), Local1)
  3281. If (LGreater (Local1, 0x64))
  3282. {
  3283. Store (0x64, Local1)
  3284. }
  3285. }
  3286.  
  3287. Store (Divide (Multiply (0xFF, Local1), 0x64, ), Local0)
  3288. Store (Local0, PRM0)
  3289. Store (Arg0, BRTL)
  3290. If (LEqual (TRAP (0x12), Zero))
  3291. {
  3292. P8XH (0x02, Local0)
  3293. }
  3294. }
  3295.  
  3296. Method (HKDS, 1, Serialized)
  3297. {
  3298. If (LEqual (Zero, And (0x03, DSEN)))
  3299. {
  3300. If (LEqual (TRAP (Arg0), Zero))
  3301. {
  3302. If (LNotEqual (CADL, PADL))
  3303. {
  3304. Store (CADL, PADL)
  3305. If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
  3306. {
  3307. Notify (\_SB.PCI0, Zero)
  3308. }
  3309. Else
  3310. {
  3311. Notify (\_SB.PCI0.GFX0, Zero)
  3312. }
  3313.  
  3314. Sleep (0x02EE)
  3315. }
  3316.  
  3317. Notify (\_SB.PCI0.GFX0, 0x80)
  3318. }
  3319. }
  3320.  
  3321. If (LEqual (One, And (0x03, DSEN)))
  3322. {
  3323. If (LEqual (TRAP (Increment (Arg0)), Zero))
  3324. {
  3325. Notify (\_SB.PCI0.GFX0, 0x81)
  3326. }
  3327. }
  3328. }
  3329.  
  3330. Method (LSDS, 1, Serialized)
  3331. {
  3332. If (Arg0)
  3333. {
  3334. HKDS (0x0C)
  3335. }
  3336. Else
  3337. {
  3338. HKDS (0x0E)
  3339. }
  3340.  
  3341. If (LNotEqual (And (0x03, DSEN), One))
  3342. {
  3343. Sleep (0x32)
  3344. While (LEqual (And (0x03, DSEN), 0x02))
  3345. {
  3346. Sleep (0x32)
  3347. }
  3348. }
  3349. }
  3350.  
  3351. Method (BRTN, 1, Serialized)
  3352. {
  3353. If (LEqual (And (DID1, 0x0F00), 0x0400))
  3354. {
  3355. Notify (\_SB.PCI0.GFX0.DD01, Arg0)
  3356. }
  3357.  
  3358. If (LEqual (And (DID2, 0x0F00), 0x0400))
  3359. {
  3360. Notify (\_SB.PCI0.GFX0.DD02, Arg0)
  3361. }
  3362.  
  3363. If (LEqual (And (DID3, 0x0F00), 0x0400))
  3364. {
  3365. Notify (\_SB.PCI0.GFX0.DD03, Arg0)
  3366. }
  3367.  
  3368. If (LEqual (And (DID4, 0x0F00), 0x0400))
  3369. {
  3370. Notify (\_SB.PCI0.GFX0.DD04, Arg0)
  3371. }
  3372.  
  3373. If (LEqual (And (DID5, 0x0F00), 0x0400))
  3374. {
  3375. Notify (\_SB.PCI0.GFX0.DD05, Arg0)
  3376. }
  3377. }
  3378. }
  3379.  
  3380. Scope (\)
  3381. {
  3382. OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
  3383. Field (IO_T, ByteAcc, NoLock, Preserve)
  3384. {
  3385. Offset (0x08),
  3386. TRP0, 8
  3387. }
  3388.  
  3389. OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
  3390. Field (PMIO, ByteAcc, NoLock, Preserve)
  3391. {
  3392. Offset (0x42),
  3393. , 1,
  3394. GPEC, 1,
  3395. Offset (0x64),
  3396. , 9,
  3397. SCIS, 1,
  3398. Offset (0x66)
  3399. }
  3400.  
  3401. OperationRegion (GPIO, SystemIO, 0x1180, 0x3C)
  3402. Field (GPIO, ByteAcc, NoLock, Preserve)
  3403. {
  3404. GU00, 8,
  3405. GU01, 8,
  3406. GU02, 8,
  3407. GU03, 8,
  3408. GIO0, 8,
  3409. GIO1, 8,
  3410. GIO2, 8,
  3411. GIO3, 8,
  3412. Offset (0x0C),
  3413. GL00, 8,
  3414. GL01, 8,
  3415. GL02, 8,
  3416. , 3,
  3417. GP27, 1,
  3418. GP28, 1,
  3419. Offset (0x10),
  3420. Offset (0x18),
  3421. GB00, 8,
  3422. GB01, 8,
  3423. GB02, 8,
  3424. GB03, 8,
  3425. Offset (0x2C),
  3426. GIV0, 8,
  3427. GIV1, 8,
  3428. GIV2, 8,
  3429. GIV3, 8,
  3430. GU04, 8,
  3431. GU05, 8,
  3432. GU06, 8,
  3433. GU07, 8,
  3434. GIO4, 8,
  3435. GIO5, 8,
  3436. GIO6, 8,
  3437. GIO7, 8,
  3438. , 5,
  3439. GP37, 1,
  3440. Offset (0x39),
  3441. GL05, 8,
  3442. GL06, 8,
  3443. GL07, 8
  3444. }
  3445.  
  3446. OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
  3447. Field (RCRB, DWordAcc, Lock, Preserve)
  3448. {
  3449. Offset (0x1000),
  3450. Offset (0x3000),
  3451. Offset (0x3404),
  3452. HPAS, 2,
  3453. , 5,
  3454. HPAE, 1,
  3455. Offset (0x3418),
  3456. , 1,
  3457. PATD, 1,
  3458. SATD, 1,
  3459. SMBD, 1,
  3460. HDAD, 1,
  3461. Offset (0x341A),
  3462. RP1D, 1,
  3463. RP2D, 1,
  3464. RP3D, 1,
  3465. RP4D, 1,
  3466. RP5D, 1,
  3467. RP6D, 1
  3468. }
  3469.  
  3470. Name (_S0, Package (0x03)
  3471. {
  3472. Zero,
  3473. Zero,
  3474. Zero
  3475. })
  3476. Name (_S3, Package (0x03)
  3477. {
  3478. 0x05,
  3479. 0x05,
  3480. Zero
  3481. })
  3482. Name (_S4, Package (0x03)
  3483. {
  3484. 0x06,
  3485. 0x06,
  3486. Zero
  3487. })
  3488. Name (_S5, Package (0x03)
  3489. {
  3490. 0x07,
  3491. 0x07,
  3492. Zero
  3493. })
  3494. Method (GETP, 1, Serialized)
  3495. {
  3496. If (LEqual (And (Arg0, 0x09), Zero))
  3497. {
  3498. Return (0xFFFFFFFF)
  3499. }
  3500.  
  3501. If (LEqual (And (Arg0, 0x09), 0x08))
  3502. {
  3503. Return (0x0384)
  3504. }
  3505.  
  3506. ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
  3507. ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
  3508. Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))
  3509. ))
  3510. }
  3511.  
  3512. Method (GDMA, 5, Serialized)
  3513. {
  3514. If (Arg0)
  3515. {
  3516. If (LAnd (Arg1, Arg4))
  3517. {
  3518. Return (0x14)
  3519. }
  3520.  
  3521. If (LAnd (Arg2, Arg4))
  3522. {
  3523. Return (Multiply (Subtract (0x04, Arg3), 0x0F))
  3524. }
  3525.  
  3526. Return (Multiply (Subtract (0x04, Arg3), 0x1E))
  3527. }
  3528.  
  3529. Return (0xFFFFFFFF)
  3530. }
  3531.  
  3532. Method (GETT, 1, Serialized)
  3533. {
  3534. Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
  3535. ), 0x03), And (Arg0, 0x03)))))
  3536. }
  3537.  
  3538. Method (GETF, 3, Serialized)
  3539. {
  3540. Name (TMPF, Zero)
  3541. If (Arg0)
  3542. {
  3543. Or (TMPF, One, TMPF)
  3544. }
  3545.  
  3546. If (And (Arg2, 0x02))
  3547. {
  3548. Or (TMPF, 0x02, TMPF)
  3549. }
  3550.  
  3551. If (Arg1)
  3552. {
  3553. Or (TMPF, 0x04, TMPF)
  3554. }
  3555.  
  3556. If (And (Arg2, 0x20))
  3557. {
  3558. Or (TMPF, 0x08, TMPF)
  3559. }
  3560.  
  3561. If (And (Arg2, 0x4000))
  3562. {
  3563. Or (TMPF, 0x10, TMPF)
  3564. }
  3565.  
  3566. Return (TMPF)
  3567. }
  3568.  
  3569. Method (SETP, 3, Serialized)
  3570. {
  3571. If (LGreater (Arg0, 0xF0))
  3572. {
  3573. Return (0x08)
  3574. }
  3575. Else
  3576. {
  3577. If (And (Arg1, 0x02))
  3578. {
  3579. If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  3580. {
  3581. Return (0x2301)
  3582. }
  3583.  
  3584. If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  3585. {
  3586. Return (0x2101)
  3587. }
  3588. }
  3589.  
  3590. Return (0x1001)
  3591. }
  3592. }
  3593.  
  3594. Method (SDMA, 1, Serialized)
  3595. {
  3596. If (LLessEqual (Arg0, 0x14))
  3597. {
  3598. Return (One)
  3599. }
  3600.  
  3601. If (LLessEqual (Arg0, 0x1E))
  3602. {
  3603. Return (0x02)
  3604. }
  3605.  
  3606. If (LLessEqual (Arg0, 0x2D))
  3607. {
  3608. Return (One)
  3609. }
  3610.  
  3611. If (LLessEqual (Arg0, 0x3C))
  3612. {
  3613. Return (0x02)
  3614. }
  3615.  
  3616. If (LLessEqual (Arg0, 0x5A))
  3617. {
  3618. Return (One)
  3619. }
  3620.  
  3621. Return (Zero)
  3622. }
  3623.  
  3624. Method (SETT, 3, Serialized)
  3625. {
  3626. If (And (Arg1, 0x02))
  3627. {
  3628. If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  3629. {
  3630. Return (0x0B)
  3631. }
  3632.  
  3633. If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  3634. {
  3635. Return (0x09)
  3636. }
  3637. }
  3638.  
  3639. Return (0x04)
  3640. }
  3641. }
  3642.  
  3643. Device (LANC)
  3644. {
  3645. Name (_ADR, 0x00190000)
  3646. OperationRegion (LANF, PCI_Config, 0xCC, 0x04)
  3647. Field (LANF, DWordAcc, NoLock, Preserve)
  3648. {
  3649. , 15,
  3650. PMES, 1
  3651. }
  3652.  
  3653. Name (_PRW, Package (0x02)
  3654. {
  3655. 0x0D,
  3656. 0x04
  3657. })
  3658. }
  3659.  
  3660. Device (HDEF)
  3661. {
  3662. Name (_ADR, 0x001B0000)
  3663. OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
  3664. Field (HDAR, WordAcc, NoLock, Preserve)
  3665. {
  3666. DCKA, 1,
  3667. Offset (0x01),
  3668. DCKM, 1,
  3669. , 6,
  3670. DCKS, 1,
  3671. Offset (0x08),
  3672. , 15,
  3673. PMES, 1
  3674. }
  3675. }
  3676.  
  3677. Device (RP01)
  3678. {
  3679. Name (_ADR, 0x001C0000)
  3680. Name (_HPP, Package (0x04)
  3681. {
  3682. 0x10,
  3683. Zero,
  3684. Zero,
  3685. Zero
  3686. })
  3687. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  3688. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  3689. {
  3690. Offset (0x12),
  3691. , 13,
  3692. LASX, 1,
  3693. Offset (0x1A),
  3694. ABPX, 1,
  3695. , 2,
  3696. PDCX, 1,
  3697. , 2,
  3698. PDSX, 1,
  3699. Offset (0x1B),
  3700. LSCX, 1,
  3701. Offset (0x20),
  3702. Offset (0x22),
  3703. PSPX, 1,
  3704. Offset (0x98),
  3705. , 30,
  3706. HPEX, 1,
  3707. PMEX, 1,
  3708. , 30,
  3709. HPSX, 1,
  3710. PMSX, 1
  3711. }
  3712.  
  3713. Device (S1F0)
  3714. {
  3715. Name (_ADR, Zero)
  3716. Name (_SUN, One)
  3717. Name (_PRW, Package (0x02)
  3718. {
  3719. 0x09,
  3720. 0x04
  3721. })
  3722. Method (_RMV, 0, NotSerialized)
  3723. {
  3724. Return (One)
  3725. }
  3726. }
  3727.  
  3728. Device (S1F1)
  3729. {
  3730. Name (_ADR, One)
  3731. Name (_SUN, One)
  3732. Name (_PRW, Package (0x02)
  3733. {
  3734. 0x09,
  3735. 0x04
  3736. })
  3737. Method (_RMV, 0, NotSerialized)
  3738. {
  3739. Return (One)
  3740. }
  3741. }
  3742.  
  3743. Device (S1F2)
  3744. {
  3745. Name (_ADR, 0x02)
  3746. Name (_SUN, One)
  3747. Name (_PRW, Package (0x02)
  3748. {
  3749. 0x09,
  3750. 0x04
  3751. })
  3752. Method (_RMV, 0, NotSerialized)
  3753. {
  3754. Return (One)
  3755. }
  3756. }
  3757.  
  3758. Device (S1F3)
  3759. {
  3760. Name (_ADR, 0x03)
  3761. Name (_SUN, One)
  3762. Name (_PRW, Package (0x02)
  3763. {
  3764. 0x09,
  3765. 0x04
  3766. })
  3767. Method (_RMV, 0, NotSerialized)
  3768. {
  3769. Return (One)
  3770. }
  3771. }
  3772.  
  3773. Device (S1F4)
  3774. {
  3775. Name (_ADR, 0x04)
  3776. Name (_SUN, One)
  3777. Name (_PRW, Package (0x02)
  3778. {
  3779. 0x09,
  3780. 0x04
  3781. })
  3782. Method (_RMV, 0, NotSerialized)
  3783. {
  3784. Return (One)
  3785. }
  3786. }
  3787.  
  3788. Device (S1F5)
  3789. {
  3790. Name (_ADR, 0x05)
  3791. Name (_SUN, One)
  3792. Name (_PRW, Package (0x02)
  3793. {
  3794. 0x09,
  3795. 0x04
  3796. })
  3797. Method (_RMV, 0, NotSerialized)
  3798. {
  3799. Return (One)
  3800. }
  3801. }
  3802.  
  3803. Device (S1F6)
  3804. {
  3805. Name (_ADR, 0x06)
  3806. Name (_SUN, One)
  3807. Name (_PRW, Package (0x02)
  3808. {
  3809. 0x09,
  3810. 0x04
  3811. })
  3812. Method (_RMV, 0, NotSerialized)
  3813. {
  3814. Return (One)
  3815. }
  3816. }
  3817.  
  3818. Device (S1F7)
  3819. {
  3820. Name (_ADR, 0x07)
  3821. Name (_SUN, One)
  3822. Name (_PRW, Package (0x02)
  3823. {
  3824. 0x09,
  3825. 0x04
  3826. })
  3827. Method (_RMV, 0, NotSerialized)
  3828. {
  3829. Return (One)
  3830. }
  3831. }
  3832.  
  3833. Method (_PRT, 0, NotSerialized)
  3834. {
  3835. If (GPIC)
  3836. {
  3837. Return (Package (0x04)
  3838. {
  3839. Package (0x04)
  3840. {
  3841. 0xFFFF,
  3842. Zero,
  3843. Zero,
  3844. 0x10
  3845. },
  3846.  
  3847. Package (0x04)
  3848. {
  3849. 0xFFFF,
  3850. One,
  3851. Zero,
  3852. 0x11
  3853. },
  3854.  
  3855. Package (0x04)
  3856. {
  3857. 0xFFFF,
  3858. 0x02,
  3859. Zero,
  3860. 0x12
  3861. },
  3862.  
  3863. Package (0x04)
  3864. {
  3865. 0xFFFF,
  3866. 0x03,
  3867. Zero,
  3868. 0x13
  3869. }
  3870. })
  3871. }
  3872. Else
  3873. {
  3874. Return (Package (0x04)
  3875. {
  3876. Package (0x04)
  3877. {
  3878. 0xFFFF,
  3879. Zero,
  3880. ^^LPCB.LNKA,
  3881. Zero
  3882. },
  3883.  
  3884. Package (0x04)
  3885. {
  3886. 0xFFFF,
  3887. One,
  3888. ^^LPCB.LNKB,
  3889. Zero
  3890. },
  3891.  
  3892. Package (0x04)
  3893. {
  3894. 0xFFFF,
  3895. 0x02,
  3896. ^^LPCB.LNKC,
  3897. Zero
  3898. },
  3899.  
  3900. Package (0x04)
  3901. {
  3902. 0xFFFF,
  3903. 0x03,
  3904. ^^LPCB.LNKD,
  3905. Zero
  3906. }
  3907. })
  3908. }
  3909. }
  3910. }
  3911.  
  3912. Device (RP02)
  3913. {
  3914. Name (_ADR, 0x001C0001)
  3915. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  3916. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  3917. {
  3918. Offset (0x12),
  3919. , 13,
  3920. LASX, 1,
  3921. Offset (0x1A),
  3922. ABPX, 1,
  3923. , 2,
  3924. PDCX, 1,
  3925. , 2,
  3926. PDSX, 1,
  3927. Offset (0x1B),
  3928. LSCX, 1,
  3929. Offset (0x20),
  3930. Offset (0x22),
  3931. PSPX, 1,
  3932. Offset (0x98),
  3933. , 30,
  3934. HPEX, 1,
  3935. PMEX, 1,
  3936. , 30,
  3937. HPSX, 1,
  3938. PMSX, 1
  3939. }
  3940.  
  3941. Device (EP02)
  3942. {
  3943. Name (_ADR, Zero)
  3944. Name (_PRW, Package (0x02)
  3945. {
  3946. 0x09,
  3947. 0x03
  3948. })
  3949. Name (_PSC, Zero)
  3950. Method (_PS0, 0, NotSerialized)
  3951. {
  3952. Store (Zero, _PSC)
  3953. }
  3954.  
  3955. Method (_PS3, 0, NotSerialized)
  3956. {
  3957. Store (0x03, _PSC)
  3958. }
  3959.  
  3960. Method (_STA, 0, NotSerialized)
  3961. {
  3962. Return (0x0F)
  3963. }
  3964. }
  3965.  
  3966. Method (_PRT, 0, NotSerialized)
  3967. {
  3968. If (GPIC)
  3969. {
  3970. Return (Package (0x04)
  3971. {
  3972. Package (0x04)
  3973. {
  3974. 0xFFFF,
  3975. Zero,
  3976. Zero,
  3977. 0x11
  3978. },
  3979.  
  3980. Package (0x04)
  3981. {
  3982. 0xFFFF,
  3983. One,
  3984. Zero,
  3985. 0x12
  3986. },
  3987.  
  3988. Package (0x04)
  3989. {
  3990. 0xFFFF,
  3991. 0x02,
  3992. Zero,
  3993. 0x13
  3994. },
  3995.  
  3996. Package (0x04)
  3997. {
  3998. 0xFFFF,
  3999. 0x03,
  4000. Zero,
  4001. 0x10
  4002. }
  4003. })
  4004. }
  4005. Else
  4006. {
  4007. Return (Package (0x04)
  4008. {
  4009. Package (0x04)
  4010. {
  4011. 0xFFFF,
  4012. Zero,
  4013. ^^LPCB.LNKB,
  4014. Zero
  4015. },
  4016.  
  4017. Package (0x04)
  4018. {
  4019. 0xFFFF,
  4020. One,
  4021. ^^LPCB.LNKC,
  4022. Zero
  4023. },
  4024.  
  4025. Package (0x04)
  4026. {
  4027. 0xFFFF,
  4028. 0x02,
  4029. ^^LPCB.LNKD,
  4030. Zero
  4031. },
  4032.  
  4033. Package (0x04)
  4034. {
  4035. 0xFFFF,
  4036. 0x03,
  4037. ^^LPCB.LNKA,
  4038. Zero
  4039. }
  4040. })
  4041. }
  4042. }
  4043. }
  4044.  
  4045. Device (RP03)
  4046. {
  4047. Name (_ADR, 0x001C0002)
  4048. Name (_HPP, Package (0x04)
  4049. {
  4050. 0x10,
  4051. Zero,
  4052. Zero,
  4053. Zero
  4054. })
  4055. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4056. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4057. {
  4058. Offset (0x12),
  4059. , 13,
  4060. LASX, 1,
  4061. Offset (0x1A),
  4062. ABPX, 1,
  4063. , 2,
  4064. PDCX, 1,
  4065. , 2,
  4066. PDSX, 1,
  4067. Offset (0x1B),
  4068. LSCX, 1,
  4069. Offset (0x20),
  4070. Offset (0x22),
  4071. PSPX, 1,
  4072. Offset (0x98),
  4073. , 30,
  4074. HPEX, 1,
  4075. PMEX, 1,
  4076. , 30,
  4077. HPSX, 1,
  4078. PMSX, 1
  4079. }
  4080.  
  4081. Field (PXCS, AnyAcc, NoLock, Preserve)
  4082. {
  4083. Offset (0x10),
  4084. , 5,
  4085. RTRN, 1,
  4086. LCTR, 1,
  4087. Offset (0x12),
  4088. , 11,
  4089. LTRN, 1,
  4090. SLCC, 1
  4091. }
  4092.  
  4093. Device (EP03)
  4094. {
  4095. Name (_ADR, Zero)
  4096. Name (_PRW, Package (0x02)
  4097. {
  4098. 0x09,
  4099. 0x03
  4100. })
  4101. OperationRegion (ETDV, PCI_Config, Zero, 0x0100)
  4102. Field (ETDV, ByteAcc, NoLock, Preserve)
  4103. {
  4104. VEN0, 8,
  4105. VEN1, 8,
  4106. DEV0, 8,
  4107. DEV1, 8
  4108. }
  4109.  
  4110. OperationRegion (ETHR, PCI_Config, 0x40, 0xC0)
  4111. Field (ETHR, ByteAcc, NoLock, Preserve)
  4112. {
  4113. Offset (0xAC),
  4114. , 10,
  4115. APMS, 2,
  4116. Offset (0xB0),
  4117. APMC, 2,
  4118. , 4,
  4119. LCTR, 1,
  4120. Offset (0xB2),
  4121. , 12,
  4122. SLCC, 1
  4123. }
  4124.  
  4125. Name (_PSC, Zero)
  4126. Method (_PS0, 0, NotSerialized)
  4127. {
  4128. If (LEqual (APMC, Zero))
  4129. {
  4130. If (LAnd (^^SLCC, SLCC))
  4131. {
  4132. Store (One, ^^LCTR)
  4133. Store (One, LCTR)
  4134. Store (One, RTRN)
  4135. While (LTRN)
  4136. {
  4137. Sleep (0x0A)
  4138. }
  4139.  
  4140. Store (APMS, APMC)
  4141. }
  4142. }
  4143.  
  4144. Store (Zero, _PSC)
  4145. }
  4146.  
  4147. Method (_PS3, 0, NotSerialized)
  4148. {
  4149. Store (0x03, _PSC)
  4150. }
  4151. }
  4152.  
  4153. Method (_PRT, 0, NotSerialized)
  4154. {
  4155. If (GPIC)
  4156. {
  4157. Return (Package (0x04)
  4158. {
  4159. Package (0x04)
  4160. {
  4161. 0xFFFF,
  4162. Zero,
  4163. Zero,
  4164. 0x12
  4165. },
  4166.  
  4167. Package (0x04)
  4168. {
  4169. 0xFFFF,
  4170. One,
  4171. Zero,
  4172. 0x13
  4173. },
  4174.  
  4175. Package (0x04)
  4176. {
  4177. 0xFFFF,
  4178. 0x02,
  4179. Zero,
  4180. 0x10
  4181. },
  4182.  
  4183. Package (0x04)
  4184. {
  4185. 0xFFFF,
  4186. 0x03,
  4187. Zero,
  4188. 0x11
  4189. }
  4190. })
  4191. }
  4192. Else
  4193. {
  4194. Return (Package (0x04)
  4195. {
  4196. Package (0x04)
  4197. {
  4198. 0xFFFF,
  4199. Zero,
  4200. ^^LPCB.LNKC,
  4201. Zero
  4202. },
  4203.  
  4204. Package (0x04)
  4205. {
  4206. 0xFFFF,
  4207. One,
  4208. ^^LPCB.LNKD,
  4209. Zero
  4210. },
  4211.  
  4212. Package (0x04)
  4213. {
  4214. 0xFFFF,
  4215. 0x02,
  4216. ^^LPCB.LNKA,
  4217. Zero
  4218. },
  4219.  
  4220. Package (0x04)
  4221. {
  4222. 0xFFFF,
  4223. 0x03,
  4224. ^^LPCB.LNKB,
  4225. Zero
  4226. }
  4227. })
  4228. }
  4229. }
  4230. }
  4231.  
  4232. Device (RP04)
  4233. {
  4234. Name (_ADR, 0x001C0003)
  4235. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4236. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4237. {
  4238. Offset (0x12),
  4239. , 13,
  4240. LASX, 1,
  4241. Offset (0x1A),
  4242. ABPX, 1,
  4243. , 2,
  4244. PDCX, 1,
  4245. , 2,
  4246. PDSX, 1,
  4247. Offset (0x1B),
  4248. LSCX, 1,
  4249. Offset (0x20),
  4250. Offset (0x22),
  4251. PSPX, 1,
  4252. Offset (0x98),
  4253. , 30,
  4254. HPEX, 1,
  4255. PMEX, 1,
  4256. , 30,
  4257. HPSX, 1,
  4258. PMSX, 1
  4259. }
  4260.  
  4261. Method (_PRT, 0, NotSerialized)
  4262. {
  4263. If (GPIC)
  4264. {
  4265. Return (Package (0x04)
  4266. {
  4267. Package (0x04)
  4268. {
  4269. 0xFFFF,
  4270. Zero,
  4271. Zero,
  4272. 0x13
  4273. },
  4274.  
  4275. Package (0x04)
  4276. {
  4277. 0xFFFF,
  4278. One,
  4279. Zero,
  4280. 0x10
  4281. },
  4282.  
  4283. Package (0x04)
  4284. {
  4285. 0xFFFF,
  4286. 0x02,
  4287. Zero,
  4288. 0x11
  4289. },
  4290.  
  4291. Package (0x04)
  4292. {
  4293. 0xFFFF,
  4294. 0x03,
  4295. Zero,
  4296. 0x12
  4297. }
  4298. })
  4299. }
  4300. Else
  4301. {
  4302. Return (Package (0x04)
  4303. {
  4304. Package (0x04)
  4305. {
  4306. 0xFFFF,
  4307. Zero,
  4308. ^^LPCB.LNKD,
  4309. Zero
  4310. },
  4311.  
  4312. Package (0x04)
  4313. {
  4314. 0xFFFF,
  4315. One,
  4316. ^^LPCB.LNKA,
  4317. Zero
  4318. },
  4319.  
  4320. Package (0x04)
  4321. {
  4322. 0xFFFF,
  4323. 0x02,
  4324. ^^LPCB.LNKB,
  4325. Zero
  4326. },
  4327.  
  4328. Package (0x04)
  4329. {
  4330. 0xFFFF,
  4331. 0x03,
  4332. ^^LPCB.LNKC,
  4333. Zero
  4334. }
  4335. })
  4336. }
  4337. }
  4338.  
  4339. Device (EP04)
  4340. {
  4341. Name (_ADR, Zero)
  4342. Name (_SUN, 0x04)
  4343. Name (_PRW, Package (0x02)
  4344. {
  4345. 0x09,
  4346. 0x03
  4347. })
  4348. Name (_EJD, "\\_SB.DOCK")
  4349. }
  4350. }
  4351.  
  4352. Device (RP05)
  4353. {
  4354. Name (_ADR, 0x001C0004)
  4355. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4356. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4357. {
  4358. Offset (0x12),
  4359. , 13,
  4360. LASX, 1,
  4361. Offset (0x1A),
  4362. ABPX, 1,
  4363. , 2,
  4364. PDCX, 1,
  4365. , 2,
  4366. PDSX, 1,
  4367. Offset (0x1B),
  4368. LSCX, 1,
  4369. Offset (0x20),
  4370. Offset (0x22),
  4371. PSPX, 1,
  4372. Offset (0x98),
  4373. , 30,
  4374. HPEX, 1,
  4375. PMEX, 1,
  4376. , 30,
  4377. HPSX, 1,
  4378. PMSX, 1
  4379. }
  4380.  
  4381. Method (_PRT, 0, NotSerialized)
  4382. {
  4383. If (GPIC)
  4384. {
  4385. Return (Package (0x04)
  4386. {
  4387. Package (0x04)
  4388. {
  4389. 0xFFFF,
  4390. Zero,
  4391. Zero,
  4392. 0x10
  4393. },
  4394.  
  4395. Package (0x04)
  4396. {
  4397. 0xFFFF,
  4398. One,
  4399. Zero,
  4400. 0x11
  4401. },
  4402.  
  4403. Package (0x04)
  4404. {
  4405. 0xFFFF,
  4406. 0x02,
  4407. Zero,
  4408. 0x12
  4409. },
  4410.  
  4411. Package (0x04)
  4412. {
  4413. 0xFFFF,
  4414. 0x03,
  4415. Zero,
  4416. 0x13
  4417. }
  4418. })
  4419. }
  4420. Else
  4421. {
  4422. Return (Package (0x04)
  4423. {
  4424. Package (0x04)
  4425. {
  4426. 0xFFFF,
  4427. Zero,
  4428. ^^LPCB.LNKA,
  4429. Zero
  4430. },
  4431.  
  4432. Package (0x04)
  4433. {
  4434. 0xFFFF,
  4435. One,
  4436. ^^LPCB.LNKB,
  4437. Zero
  4438. },
  4439.  
  4440. Package (0x04)
  4441. {
  4442. 0xFFFF,
  4443. 0x02,
  4444. ^^LPCB.LNKC,
  4445. Zero
  4446. },
  4447.  
  4448. Package (0x04)
  4449. {
  4450. 0xFFFF,
  4451. 0x03,
  4452. ^^LPCB.LNKD,
  4453. Zero
  4454. }
  4455. })
  4456. }
  4457. }
  4458.  
  4459. Device (EX2P)
  4460. {
  4461. Name (_ADR, Zero)
  4462. Name (_SUN, 0x05)
  4463. Name (_EJD, "\\_SB.DOCK")
  4464. Method (_PRT, 0, NotSerialized)
  4465. {
  4466. If (GPIC)
  4467. {
  4468. Return (Package (0x04)
  4469. {
  4470. Package (0x04)
  4471. {
  4472. 0xFFFF,
  4473. Zero,
  4474. Zero,
  4475. 0x10
  4476. },
  4477.  
  4478. Package (0x04)
  4479. {
  4480. 0xFFFF,
  4481. One,
  4482. Zero,
  4483. 0x11
  4484. },
  4485.  
  4486. Package (0x04)
  4487. {
  4488. 0xFFFF,
  4489. 0x02,
  4490. Zero,
  4491. 0x12
  4492. },
  4493.  
  4494. Package (0x04)
  4495. {
  4496. 0xFFFF,
  4497. 0x03,
  4498. Zero,
  4499. 0x13
  4500. }
  4501. })
  4502. }
  4503. Else
  4504. {
  4505. Return (Package (0x04)
  4506. {
  4507. Package (0x04)
  4508. {
  4509. 0xFFFF,
  4510. Zero,
  4511. ^^^LPCB.LNKA,
  4512. Zero
  4513. },
  4514.  
  4515. Package (0x04)
  4516. {
  4517. 0xFFFF,
  4518. One,
  4519. ^^^LPCB.LNKB,
  4520. Zero
  4521. },
  4522.  
  4523. Package (0x04)
  4524. {
  4525. 0xFFFF,
  4526. 0x02,
  4527. ^^^LPCB.LNKC,
  4528. Zero
  4529. },
  4530.  
  4531. Package (0x04)
  4532. {
  4533. 0xFFFF,
  4534. 0x03,
  4535. ^^^LPCB.LNKD,
  4536. Zero
  4537. }
  4538. })
  4539. }
  4540. }
  4541. }
  4542.  
  4543. Device (S5F1)
  4544. {
  4545. Name (_ADR, One)
  4546. Name (_SUN, 0x05)
  4547. }
  4548.  
  4549. Device (S5F2)
  4550. {
  4551. Name (_ADR, 0x02)
  4552. Name (_SUN, 0x05)
  4553. }
  4554.  
  4555. Device (S5F3)
  4556. {
  4557. Name (_ADR, 0x03)
  4558. Name (_SUN, 0x05)
  4559. }
  4560.  
  4561. Device (S5F4)
  4562. {
  4563. Name (_ADR, 0x04)
  4564. Name (_SUN, 0x05)
  4565. }
  4566.  
  4567. Device (S5F5)
  4568. {
  4569. Name (_ADR, 0x05)
  4570. Name (_SUN, 0x05)
  4571. }
  4572.  
  4573. Device (S5F6)
  4574. {
  4575. Name (_ADR, 0x06)
  4576. Name (_SUN, 0x05)
  4577. }
  4578.  
  4579. Device (S5F7)
  4580. {
  4581. Name (_ADR, 0x07)
  4582. Name (_SUN, 0x05)
  4583. }
  4584. }
  4585.  
  4586. Device (RP06)
  4587. {
  4588. Name (_ADR, 0x001C0005)
  4589. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4590. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4591. {
  4592. Offset (0x12),
  4593. , 13,
  4594. LASX, 1,
  4595. Offset (0x1A),
  4596. ABPX, 1,
  4597. , 2,
  4598. PDCX, 1,
  4599. , 2,
  4600. PDSX, 1,
  4601. Offset (0x1B),
  4602. LSCX, 1,
  4603. Offset (0x20),
  4604. Offset (0x22),
  4605. PSPX, 1,
  4606. Offset (0x98),
  4607. , 30,
  4608. HPEX, 1,
  4609. PMEX, 1,
  4610. , 30,
  4611. HPSX, 1,
  4612. PMSX, 1
  4613. }
  4614.  
  4615. Device (S6F0)
  4616. {
  4617. Name (_ADR, Zero)
  4618. Name (_SUN, 0x06)
  4619. Name (_PRW, Package (0x02)
  4620. {
  4621. 0x09,
  4622. 0x04
  4623. })
  4624. Method (_RMV, 0, NotSerialized)
  4625. {
  4626. Return (One)
  4627. }
  4628. }
  4629.  
  4630. Device (S6F1)
  4631. {
  4632. Name (_ADR, One)
  4633. Name (_SUN, 0x06)
  4634. Name (_PRW, Package (0x02)
  4635. {
  4636. 0x09,
  4637. 0x04
  4638. })
  4639. Method (_RMV, 0, NotSerialized)
  4640. {
  4641. Return (One)
  4642. }
  4643. }
  4644.  
  4645. Device (S6F2)
  4646. {
  4647. Name (_ADR, 0x02)
  4648. Name (_SUN, 0x06)
  4649. Name (_PRW, Package (0x02)
  4650. {
  4651. 0x09,
  4652. 0x04
  4653. })
  4654. Method (_RMV, 0, NotSerialized)
  4655. {
  4656. Return (One)
  4657. }
  4658. }
  4659.  
  4660. Device (S6F3)
  4661. {
  4662. Name (_ADR, 0x03)
  4663. Name (_SUN, 0x06)
  4664. Name (_PRW, Package (0x02)
  4665. {
  4666. 0x09,
  4667. 0x04
  4668. })
  4669. Method (_RMV, 0, NotSerialized)
  4670. {
  4671. Return (One)
  4672. }
  4673. }
  4674.  
  4675. Device (S6F4)
  4676. {
  4677. Name (_ADR, 0x04)
  4678. Name (_SUN, 0x06)
  4679. Name (_PRW, Package (0x02)
  4680. {
  4681. 0x09,
  4682. 0x04
  4683. })
  4684. Method (_RMV, 0, NotSerialized)
  4685. {
  4686. Return (One)
  4687. }
  4688. }
  4689.  
  4690. Device (S6F5)
  4691. {
  4692. Name (_ADR, 0x05)
  4693. Name (_SUN, 0x06)
  4694. Name (_PRW, Package (0x02)
  4695. {
  4696. 0x09,
  4697. 0x04
  4698. })
  4699. Method (_RMV, 0, NotSerialized)
  4700. {
  4701. Return (One)
  4702. }
  4703. }
  4704.  
  4705. Device (S6F6)
  4706. {
  4707. Name (_ADR, 0x06)
  4708. Name (_SUN, 0x06)
  4709. Name (_PRW, Package (0x02)
  4710. {
  4711. 0x09,
  4712. 0x04
  4713. })
  4714. Method (_RMV, 0, NotSerialized)
  4715. {
  4716. Return (One)
  4717. }
  4718. }
  4719.  
  4720. Device (S6F7)
  4721. {
  4722. Name (_ADR, 0x07)
  4723. Name (_SUN, 0x06)
  4724. Name (_PRW, Package (0x02)
  4725. {
  4726. 0x09,
  4727. 0x04
  4728. })
  4729. Method (_RMV, 0, NotSerialized)
  4730. {
  4731. Return (One)
  4732. }
  4733. }
  4734.  
  4735. Method (_PRT, 0, NotSerialized)
  4736. {
  4737. If (GPIC)
  4738. {
  4739. Return (Package (0x04)
  4740. {
  4741. Package (0x04)
  4742. {
  4743. 0xFFFF,
  4744. Zero,
  4745. Zero,
  4746. 0x11
  4747. },
  4748.  
  4749. Package (0x04)
  4750. {
  4751. 0xFFFF,
  4752. One,
  4753. Zero,
  4754. 0x12
  4755. },
  4756.  
  4757. Package (0x04)
  4758. {
  4759. 0xFFFF,
  4760. 0x02,
  4761. Zero,
  4762. 0x13
  4763. },
  4764.  
  4765. Package (0x04)
  4766. {
  4767. 0xFFFF,
  4768. 0x03,
  4769. Zero,
  4770. 0x10
  4771. }
  4772. })
  4773. }
  4774. Else
  4775. {
  4776. Return (Package (0x04)
  4777. {
  4778. Package (0x04)
  4779. {
  4780. 0xFFFF,
  4781. Zero,
  4782. ^^LPCB.LNKB,
  4783. Zero
  4784. },
  4785.  
  4786. Package (0x04)
  4787. {
  4788. 0xFFFF,
  4789. One,
  4790. ^^LPCB.LNKC,
  4791. Zero
  4792. },
  4793.  
  4794. Package (0x04)
  4795. {
  4796. 0xFFFF,
  4797. 0x02,
  4798. ^^LPCB.LNKD,
  4799. Zero
  4800. },
  4801.  
  4802. Package (0x04)
  4803. {
  4804. 0xFFFF,
  4805. 0x03,
  4806. ^^LPCB.LNKA,
  4807. Zero
  4808. }
  4809. })
  4810. }
  4811. }
  4812. }
  4813.  
  4814. Method (NHPG, 0, Serialized)
  4815. {
  4816. Store (Zero, ^RP01.HPEX)
  4817. Store (Zero, ^RP02.HPEX)
  4818. Store (Zero, ^RP03.HPEX)
  4819. Store (Zero, ^RP04.HPEX)
  4820. Store (One, ^RP01.HPSX)
  4821. Store (One, ^RP02.HPSX)
  4822. Store (One, ^RP03.HPSX)
  4823. Store (One, ^RP04.HPSX)
  4824. }
  4825.  
  4826. Method (NPME, 0, Serialized)
  4827. {
  4828. Store (Zero, ^RP01.PMEX)
  4829. Store (Zero, ^RP02.PMEX)
  4830. Store (Zero, ^RP03.PMEX)
  4831. Store (Zero, ^RP04.PMEX)
  4832. Store (Zero, ^RP05.PMEX)
  4833. Store (Zero, ^RP06.PMEX)
  4834. Store (One, ^RP01.PMSX)
  4835. Store (One, ^RP02.PMSX)
  4836. Store (One, ^RP03.PMSX)
  4837. Store (One, ^RP04.PMSX)
  4838. Store (One, ^RP05.PMSX)
  4839. Store (One, ^RP06.PMSX)
  4840. }
  4841.  
  4842. Device (USB1)
  4843. {
  4844. Name (_ADR, 0x001D0000)
  4845. OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
  4846. Field (U1CS, DWordAcc, NoLock, Preserve)
  4847. {
  4848. U1EN, 2
  4849. }
  4850.  
  4851. Name (_PRW, Package (0x02)
  4852. {
  4853. 0x03,
  4854. 0x03
  4855. })
  4856. Method (_PSW, 1, NotSerialized)
  4857. {
  4858. If (Arg0)
  4859. {
  4860. Store (0x03, U1EN)
  4861. }
  4862. Else
  4863. {
  4864. Store (Zero, U1EN)
  4865. }
  4866. }
  4867.  
  4868. Method (_S3D, 0, NotSerialized)
  4869. {
  4870. Return (0x02)
  4871. }
  4872. }
  4873.  
  4874. Device (USB2)
  4875. {
  4876. Name (_ADR, 0x001D0001)
  4877. OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  4878. Field (U2CS, DWordAcc, NoLock, Preserve)
  4879. {
  4880. U2EN, 2
  4881. }
  4882.  
  4883. Name (_PRW, Package (0x02)
  4884. {
  4885. 0x04,
  4886. 0x03
  4887. })
  4888. Method (_PSW, 1, NotSerialized)
  4889. {
  4890. If (Arg0)
  4891. {
  4892. Store (0x03, U2EN)
  4893. }
  4894. Else
  4895. {
  4896. Store (Zero, U2EN)
  4897. }
  4898. }
  4899.  
  4900. Method (_S3D, 0, NotSerialized)
  4901. {
  4902. Return (0x02)
  4903. }
  4904. }
  4905.  
  4906. Device (USB3)
  4907. {
  4908. Name (_ADR, 0x001D0002)
  4909. OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  4910. Field (U2CS, DWordAcc, NoLock, Preserve)
  4911. {
  4912. U3EN, 2
  4913. }
  4914.  
  4915. Name (_PRW, Package (0x02)
  4916. {
  4917. 0x0C,
  4918. 0x03
  4919. })
  4920. Method (_PSW, 1, NotSerialized)
  4921. {
  4922. If (Arg0)
  4923. {
  4924. Store (0x03, U3EN)
  4925. }
  4926. Else
  4927. {
  4928. Store (Zero, U3EN)
  4929. }
  4930. }
  4931.  
  4932. Method (_S3D, 0, NotSerialized)
  4933. {
  4934. Return (0x02)
  4935. }
  4936. }
  4937.  
  4938. Device (USB4)
  4939. {
  4940. Name (_ADR, 0x001A0000)
  4941. OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
  4942. Field (U4CS, DWordAcc, NoLock, Preserve)
  4943. {
  4944. U4EN, 2
  4945. }
  4946.  
  4947. Name (_PRW, Package (0x02)
  4948. {
  4949. 0x0E,
  4950. 0x03
  4951. })
  4952. Method (_PSW, 1, NotSerialized)
  4953. {
  4954. If (Arg0)
  4955. {
  4956. Store (0x03, U4EN)
  4957. }
  4958. Else
  4959. {
  4960. Store (Zero, U4EN)
  4961. }
  4962. }
  4963.  
  4964. Method (_S3D, 0, NotSerialized)
  4965. {
  4966. Return (0x02)
  4967. }
  4968. }
  4969.  
  4970. Device (USB5)
  4971. {
  4972. Name (_ADR, 0x001A0001)
  4973. OperationRegion (U5CS, PCI_Config, 0xC4, 0x04)
  4974. Field (U5CS, DWordAcc, NoLock, Preserve)
  4975. {
  4976. U5EN, 2
  4977. }
  4978.  
  4979. Name (_PRW, Package (0x02)
  4980. {
  4981. 0x05,
  4982. 0x03
  4983. })
  4984. Method (_PSW, 1, NotSerialized)
  4985. {
  4986. If (Arg0)
  4987. {
  4988. Store (0x03, U5EN)
  4989. }
  4990. Else
  4991. {
  4992. Store (Zero, U5EN)
  4993. }
  4994. }
  4995.  
  4996. Method (_S3D, 0, NotSerialized)
  4997. {
  4998. Return (0x02)
  4999. }
  5000. }
  5001.  
  5002. Device (EHC1)
  5003. {
  5004. Name (_ADR, 0x001D0007)
  5005. OperationRegion (U7CS, PCI_Config, 0x54, 0x04)
  5006. Field (U7CS, DWordAcc, NoLock, Preserve)
  5007. {
  5008. , 15,
  5009. PMES, 1
  5010. }
  5011.  
  5012. Name (_PRW, Package (0x02)
  5013. {
  5014. 0x0D,
  5015. 0x03
  5016. })
  5017. Method (_S3D, 0, NotSerialized)
  5018. {
  5019. Return (0x02)
  5020. }
  5021. }
  5022.  
  5023. Device (EHC2)
  5024. {
  5025. Name (_ADR, 0x001A0007)
  5026. OperationRegion (UFCS, PCI_Config, 0x54, 0x04)
  5027. Field (UFCS, DWordAcc, NoLock, Preserve)
  5028. {
  5029. , 15,
  5030. PMES, 1
  5031. }
  5032.  
  5033. Name (_PRW, Package (0x02)
  5034. {
  5035. 0x0D,
  5036. 0x03
  5037. })
  5038. Method (_S3D, 0, NotSerialized)
  5039. {
  5040. Return (0x02)
  5041. }
  5042. }
  5043.  
  5044. Device (PCIB)
  5045. {
  5046. Name (_ADR, 0x001E0000)
  5047. Device (CRD0)
  5048. {
  5049. Name (_ADR, 0x00040000)
  5050. }
  5051.  
  5052. Device (ILNK)
  5053. {
  5054. Name (_ADR, 0x00040001)
  5055. }
  5056.  
  5057. Device (MSTK)
  5058. {
  5059. Name (_ADR, 0x00040002)
  5060. }
  5061.  
  5062. Method (_PRT, 0, NotSerialized)
  5063. {
  5064. If (GPIC)
  5065. {
  5066. Return (Package (0x03)
  5067. {
  5068. Package (0x04)
  5069. {
  5070. 0x0004FFFF,
  5071. Zero,
  5072. Zero,
  5073. 0x14
  5074. },
  5075.  
  5076. Package (0x04)
  5077. {
  5078. 0x0004FFFF,
  5079. One,
  5080. Zero,
  5081. 0x15
  5082. },
  5083.  
  5084. Package (0x04)
  5085. {
  5086. 0x0004FFFF,
  5087. 0x02,
  5088. Zero,
  5089. 0x16
  5090. }
  5091. })
  5092. }
  5093. Else
  5094. {
  5095. Return (Package (0x03)
  5096. {
  5097. Package (0x04)
  5098. {
  5099. 0x0004FFFF,
  5100. Zero,
  5101. ^^LPCB.LNKE,
  5102. Zero
  5103. },
  5104.  
  5105. Package (0x04)
  5106. {
  5107. 0x0004FFFF,
  5108. One,
  5109. ^^LPCB.LNKF,
  5110. Zero
  5111. },
  5112.  
  5113. Package (0x04)
  5114. {
  5115. 0x0004FFFF,
  5116. 0x02,
  5117. ^^LPCB.LNKG,
  5118. Zero
  5119. }
  5120. })
  5121. }
  5122. }
  5123. }
  5124.  
  5125. Device (LPCB)
  5126. {
  5127. Name (_ADR, 0x001F0000)
  5128. OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
  5129. Field (LPC0, AnyAcc, NoLock, Preserve)
  5130. {
  5131. Offset (0x20),
  5132. PARC, 8,
  5133. PBRC, 8,
  5134. PCRC, 8,
  5135. PDRC, 8,
  5136. Offset (0x28),
  5137. PERC, 8,
  5138. PFRC, 8,
  5139. PGRC, 8,
  5140. PHRC, 8,
  5141. Offset (0x40),
  5142. IOD0, 8,
  5143. IOD1, 8,
  5144. Offset (0xB0),
  5145. RAEN, 1,
  5146. , 13,
  5147. RCBA, 18
  5148. }
  5149.  
  5150. Device (LNKA)
  5151. {
  5152. Name (_HID, EisaId ("PNP0C0F"))
  5153. Name (_UID, One)
  5154. Method (_DIS, 0, Serialized)
  5155. {
  5156. Store (0x80, PARC)
  5157. }
  5158.  
  5159. Name (_PRS, ResourceTemplate ()
  5160. {
  5161. IRQ (Level, ActiveLow, Shared, )
  5162. {1,3,4,5,6,7,10,12,14,15}
  5163. })
  5164. Method (_CRS, 0, Serialized)
  5165. {
  5166. Name (RTLA, ResourceTemplate ()
  5167. {
  5168. IRQ (Level, ActiveLow, Shared, )
  5169. {}
  5170. })
  5171. CreateWordField (RTLA, One, IRQ0)
  5172. Store (Zero, IRQ0)
  5173. ShiftLeft (One, And (PARC, 0x0F), IRQ0)
  5174. Return (RTLA)
  5175. }
  5176.  
  5177. Method (_SRS, 1, Serialized)
  5178. {
  5179. CreateWordField (Arg0, One, IRQ0)
  5180. FindSetRightBit (IRQ0, Local0)
  5181. Decrement (Local0)
  5182. Store (Local0, PARC)
  5183. }
  5184.  
  5185. Method (_STA, 0, Serialized)
  5186. {
  5187. If (And (PARC, 0x80))
  5188. {
  5189. Return (0x09)
  5190. }
  5191. Else
  5192. {
  5193. Return (0x0B)
  5194. }
  5195. }
  5196. }
  5197.  
  5198. Device (LNKB)
  5199. {
  5200. Name (_HID, EisaId ("PNP0C0F"))
  5201. Name (_UID, 0x02)
  5202. Method (_DIS, 0, Serialized)
  5203. {
  5204. Store (0x80, PBRC)
  5205. }
  5206.  
  5207. Name (_PRS, ResourceTemplate ()
  5208. {
  5209. IRQ (Level, ActiveLow, Shared, )
  5210. {1,3,4,5,6,7,11,12,14,15}
  5211. })
  5212. Method (_CRS, 0, Serialized)
  5213. {
  5214. Name (RTLB, ResourceTemplate ()
  5215. {
  5216. IRQ (Level, ActiveLow, Shared, )
  5217. {}
  5218. })
  5219. CreateWordField (RTLB, One, IRQ0)
  5220. Store (Zero, IRQ0)
  5221. ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
  5222. Return (RTLB)
  5223. }
  5224.  
  5225. Method (_SRS, 1, Serialized)
  5226. {
  5227. CreateWordField (Arg0, One, IRQ0)
  5228. FindSetRightBit (IRQ0, Local0)
  5229. Decrement (Local0)
  5230. Store (Local0, PBRC)
  5231. }
  5232.  
  5233. Method (_STA, 0, Serialized)
  5234. {
  5235. If (And (PBRC, 0x80))
  5236. {
  5237. Return (0x09)
  5238. }
  5239. Else
  5240. {
  5241. Return (0x0B)
  5242. }
  5243. }
  5244. }
  5245.  
  5246. Device (LNKC)
  5247. {
  5248. Name (_HID, EisaId ("PNP0C0F"))
  5249. Name (_UID, 0x03)
  5250. Method (_DIS, 0, Serialized)
  5251. {
  5252. Store (0x80, PCRC)
  5253. }
  5254.  
  5255. Name (_PRS, ResourceTemplate ()
  5256. {
  5257. IRQ (Level, ActiveLow, Shared, )
  5258. {1,3,4,5,6,7,10,12,14,15}
  5259. })
  5260. Method (_CRS, 0, Serialized)
  5261. {
  5262. Name (RTLC, ResourceTemplate ()
  5263. {
  5264. IRQ (Level, ActiveLow, Shared, )
  5265. {}
  5266. })
  5267. CreateWordField (RTLC, One, IRQ0)
  5268. Store (Zero, IRQ0)
  5269. ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
  5270. Return (RTLC)
  5271. }
  5272.  
  5273. Method (_SRS, 1, Serialized)
  5274. {
  5275. CreateWordField (Arg0, One, IRQ0)
  5276. FindSetRightBit (IRQ0, Local0)
  5277. Decrement (Local0)
  5278. Store (Local0, PCRC)
  5279. }
  5280.  
  5281. Method (_STA, 0, Serialized)
  5282. {
  5283. If (And (PCRC, 0x80))
  5284. {
  5285. Return (0x09)
  5286. }
  5287. Else
  5288. {
  5289. Return (0x0B)
  5290. }
  5291. }
  5292. }
  5293.  
  5294. Device (LNKD)
  5295. {
  5296. Name (_HID, EisaId ("PNP0C0F"))
  5297. Name (_UID, 0x04)
  5298. Method (_DIS, 0, Serialized)
  5299. {
  5300. Store (0x80, PDRC)
  5301. }
  5302.  
  5303. Name (_PRS, ResourceTemplate ()
  5304. {
  5305. IRQ (Level, ActiveLow, Shared, )
  5306. {1,3,4,5,6,7,11,12,14,15}
  5307. })
  5308. Method (_CRS, 0, Serialized)
  5309. {
  5310. Name (RTLD, ResourceTemplate ()
  5311. {
  5312. IRQ (Level, ActiveLow, Shared, )
  5313. {}
  5314. })
  5315. CreateWordField (RTLD, One, IRQ0)
  5316. Store (Zero, IRQ0)
  5317. ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
  5318. Return (RTLD)
  5319. }
  5320.  
  5321. Method (_SRS, 1, Serialized)
  5322. {
  5323. CreateWordField (Arg0, One, IRQ0)
  5324. FindSetRightBit (IRQ0, Local0)
  5325. Decrement (Local0)
  5326. Store (Local0, PDRC)
  5327. }
  5328.  
  5329. Method (_STA, 0, Serialized)
  5330. {
  5331. If (And (PDRC, 0x80))
  5332. {
  5333. Return (0x09)
  5334. }
  5335. Else
  5336. {
  5337. Return (0x0B)
  5338. }
  5339. }
  5340. }
  5341.  
  5342. Device (LNKE)
  5343. {
  5344. Name (_HID, EisaId ("PNP0C0F"))
  5345. Name (_UID, 0x05)
  5346. Method (_DIS, 0, Serialized)
  5347. {
  5348. Store (0x80, PERC)
  5349. }
  5350.  
  5351. Name (_PRS, ResourceTemplate ()
  5352. {
  5353. IRQ (Level, ActiveLow, Shared, )
  5354. {1,3,4,5,6,7,10,12,14,15}
  5355. })
  5356. Method (_CRS, 0, Serialized)
  5357. {
  5358. Name (RTLE, ResourceTemplate ()
  5359. {
  5360. IRQ (Level, ActiveLow, Shared, )
  5361. {}
  5362. })
  5363. CreateWordField (RTLE, One, IRQ0)
  5364. Store (Zero, IRQ0)
  5365. ShiftLeft (One, And (PERC, 0x0F), IRQ0)
  5366. Return (RTLE)
  5367. }
  5368.  
  5369. Method (_SRS, 1, Serialized)
  5370. {
  5371. CreateWordField (Arg0, One, IRQ0)
  5372. FindSetRightBit (IRQ0, Local0)
  5373. Decrement (Local0)
  5374. Store (Local0, PERC)
  5375. }
  5376.  
  5377. Method (_STA, 0, Serialized)
  5378. {
  5379. If (And (PERC, 0x80))
  5380. {
  5381. Return (0x09)
  5382. }
  5383. Else
  5384. {
  5385. Return (0x0B)
  5386. }
  5387. }
  5388. }
  5389.  
  5390. Device (LNKF)
  5391. {
  5392. Name (_HID, EisaId ("PNP0C0F"))
  5393. Name (_UID, 0x06)
  5394. Method (_DIS, 0, Serialized)
  5395. {
  5396. Store (0x80, PFRC)
  5397. }
  5398.  
  5399. Name (_PRS, ResourceTemplate ()
  5400. {
  5401. IRQ (Level, ActiveLow, Shared, )
  5402. {1,3,4,5,6,7,11,12,14,15}
  5403. })
  5404. Method (_CRS, 0, Serialized)
  5405. {
  5406. Name (RTLF, ResourceTemplate ()
  5407. {
  5408. IRQ (Level, ActiveLow, Shared, )
  5409. {}
  5410. })
  5411. CreateWordField (RTLF, One, IRQ0)
  5412. Store (Zero, IRQ0)
  5413. ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
  5414. Return (RTLF)
  5415. }
  5416.  
  5417. Method (_SRS, 1, Serialized)
  5418. {
  5419. CreateWordField (Arg0, One, IRQ0)
  5420. FindSetRightBit (IRQ0, Local0)
  5421. Decrement (Local0)
  5422. Store (Local0, PFRC)
  5423. }
  5424.  
  5425. Method (_STA, 0, Serialized)
  5426. {
  5427. If (And (PFRC, 0x80))
  5428. {
  5429. Return (0x09)
  5430. }
  5431. Else
  5432. {
  5433. Return (0x0B)
  5434. }
  5435. }
  5436. }
  5437.  
  5438. Device (LNKG)
  5439. {
  5440. Name (_HID, EisaId ("PNP0C0F"))
  5441. Name (_UID, 0x07)
  5442. Method (_DIS, 0, Serialized)
  5443. {
  5444. Store (0x80, PGRC)
  5445. }
  5446.  
  5447. Name (_PRS, ResourceTemplate ()
  5448. {
  5449. IRQ (Level, ActiveLow, Shared, )
  5450. {1,3,4,5,6,7,10,12,14,15}
  5451. })
  5452. Method (_CRS, 0, Serialized)
  5453. {
  5454. Name (RTLG, ResourceTemplate ()
  5455. {
  5456. IRQ (Level, ActiveLow, Shared, )
  5457. {}
  5458. })
  5459. CreateWordField (RTLG, One, IRQ0)
  5460. Store (Zero, IRQ0)
  5461. ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
  5462. Return (RTLG)
  5463. }
  5464.  
  5465. Method (_SRS, 1, Serialized)
  5466. {
  5467. CreateWordField (Arg0, One, IRQ0)
  5468. FindSetRightBit (IRQ0, Local0)
  5469. Decrement (Local0)
  5470. Store (Local0, PGRC)
  5471. }
  5472.  
  5473. Method (_STA, 0, Serialized)
  5474. {
  5475. If (And (PGRC, 0x80))
  5476. {
  5477. Return (0x09)
  5478. }
  5479. Else
  5480. {
  5481. Return (0x0B)
  5482. }
  5483. }
  5484. }
  5485.  
  5486. Device (LNKH)
  5487. {
  5488. Name (_HID, EisaId ("PNP0C0F"))
  5489. Name (_UID, 0x08)
  5490. Method (_DIS, 0, Serialized)
  5491. {
  5492. Store (0x80, PHRC)
  5493. }
  5494.  
  5495. Name (_PRS, ResourceTemplate ()
  5496. {
  5497. IRQ (Level, ActiveLow, Shared, )
  5498. {1,3,4,5,6,7,11,12,14,15}
  5499. })
  5500. Method (_CRS, 0, Serialized)
  5501. {
  5502. Name (RTLH, ResourceTemplate ()
  5503. {
  5504. IRQ (Level, ActiveLow, Shared, )
  5505. {}
  5506. })
  5507. CreateWordField (RTLH, One, IRQ0)
  5508. Store (Zero, IRQ0)
  5509. ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
  5510. Return (RTLH)
  5511. }
  5512.  
  5513. Method (_SRS, 1, Serialized)
  5514. {
  5515. CreateWordField (Arg0, One, IRQ0)
  5516. FindSetRightBit (IRQ0, Local0)
  5517. Decrement (Local0)
  5518. Store (Local0, PHRC)
  5519. }
  5520.  
  5521. Method (_STA, 0, Serialized)
  5522. {
  5523. If (And (PHRC, 0x80))
  5524. {
  5525. Return (0x09)
  5526. }
  5527. Else
  5528. {
  5529. Return (0x0B)
  5530. }
  5531. }
  5532. }
  5533.  
  5534. Device (EC0)
  5535. {
  5536. Name (_HID, EisaId ("PNP0C09"))
  5537. Name (_CRS, ResourceTemplate ()
  5538. {
  5539. IO (Decode16,
  5540. 0x0062, // Range Minimum
  5541. 0x0062, // Range Maximum
  5542. 0x01, // Alignment
  5543. 0x01, // Length
  5544. )
  5545. IO (Decode16,
  5546. 0x0066, // Range Minimum
  5547. 0x0066, // Range Maximum
  5548. 0x01, // Alignment
  5549. 0x01, // Length
  5550. )
  5551. })
  5552. Name (_GPE, 0x17)
  5553. Name (ECOK, Zero)
  5554. Method (_REG, 2, NotSerialized)
  5555. {
  5556. If (LEqual (Arg0, 0x03)) {}
  5557. }
  5558.  
  5559. Name (_PRW, Package (0x02)
  5560. {
  5561. 0x18,
  5562. 0x05
  5563. })
  5564. OperationRegion (ECR, EmbeddedControl, Zero, 0xFF)
  5565. Field (ECR, ByteAcc, Lock, Preserve)
  5566. {
  5567. Offset (0x88),
  5568. WUP0, 8,
  5569. Offset (0x97),
  5570. OSTP, 1,
  5571. Offset (0xC0),
  5572. A1TP, 16,
  5573. A1AT, 16,
  5574. A1PT, 16,
  5575. A1CT, 16
  5576. }
  5577.  
  5578. Name (WUP1, Zero)
  5579. Method (_Q58, 0, NotSerialized)
  5580. {
  5581. Notify (\_TZ.ATF0, 0x81)
  5582. }
  5583.  
  5584. Method (_Q5F, 0, NotSerialized)
  5585. {
  5586. Notify (\_TZ.ATF0, 0x80)
  5587. }
  5588.  
  5589. Method (_Q69, 0, NotSerialized)
  5590. {
  5591. If (IGDS)
  5592. {
  5593. Notify (GFX0, 0x81)
  5594. }
  5595. Else
  5596. {
  5597. Notify (^^^PEGP.NGFX, 0x81)
  5598. }
  5599. }
  5600.  
  5601. Method (_Q51, 0, NotSerialized)
  5602. {
  5603. If (LEqual (ECOK, Zero))
  5604. {
  5605. And (PHSD (0xC0, 0x80), 0x0100, Local0)
  5606. }
  5607. Else
  5608. {
  5609. Store (BT1A, Local0)
  5610. }
  5611.  
  5612. If (Local0)
  5613. {
  5614. Notify (BAT1, Zero)
  5615. }
  5616. Else
  5617. {
  5618. Notify (BAT1, One)
  5619. }
  5620.  
  5621. Notify (BAT1, 0x80)
  5622. }
  5623.  
  5624. Field (ECR, ByteAcc, Lock, Preserve)
  5625. {
  5626. Offset (0x81),
  5627. BT1A, 1,
  5628. Offset (0x84),
  5629. B1ST, 8,
  5630. Offset (0xA2),
  5631. B1AB, 16,
  5632. B1AC, 16,
  5633. B1VO, 16,
  5634. Offset (0xB0),
  5635. B1DC, 16,
  5636. B1LF, 16,
  5637. B1DV, 16
  5638. }
  5639.  
  5640. Device (BAT1)
  5641. {
  5642. Name (_HID, EisaId ("PNP0C0A"))
  5643. Name (_UID, One)
  5644. Name (_PCL, Package (0x01)
  5645. {
  5646. _SB
  5647. })
  5648. Name (BATI, Package (0x0D)
  5649. {
  5650. Zero,
  5651. 0x9650,
  5652. 0x9650,
  5653. Zero,
  5654. 0x39D0,
  5655. Zero,
  5656. 0x78,
  5657. Zero,
  5658. 0x0A,
  5659. "",
  5660. "",
  5661. "LION",
  5662. "Sony Corp."
  5663. })
  5664. Name (BATS, Package (0x04)
  5665. {
  5666. 0x02,
  5667. 0xFFFFFFFF,
  5668. 0x0D7A,
  5669. 0x3840
  5670. })
  5671. Method (_STA, 0, NotSerialized)
  5672. {
  5673. If (LEqual (ECOK, Zero))
  5674. {
  5675. And (PHSD (0xC0, 0x80), 0x0100, Local1)
  5676. }
  5677. Else
  5678. {
  5679. Store (BT1A, Local1)
  5680. }
  5681.  
  5682. If (Local1)
  5683. {
  5684. Store (0x1F, Local0)
  5685. }
  5686. Else
  5687. {
  5688. Store (0x0F, Local0)
  5689. }
  5690.  
  5691. Return (Local0)
  5692. }
  5693.  
  5694. Method (_BIF, 0, NotSerialized)
  5695. {
  5696. If (LEqual (ECOK, Zero))
  5697. {
  5698. Store (PHSD (0xC0, 0xB0), Local0)
  5699. Store (PHSD (0xC0, 0xB2), Local1)
  5700. Store (PHSD (0xC0, 0xB6), Local2)
  5701. }
  5702. Else
  5703. {
  5704. Store (B1DC, Local0)
  5705. Store (B1LF, Local1)
  5706. Store (B1DV, Local2)
  5707. }
  5708.  
  5709. Multiply (Local0, 0x0A, Index (BATI, One))
  5710. Multiply (Local1, 0x0A, Index (BATI, 0x02))
  5711. Store (Local2, Index (BATI, 0x04))
  5712. Return (BATI)
  5713. }
  5714.  
  5715. Method (_BST, 0, NotSerialized)
  5716. {
  5717. If (LEqual (ECOK, Zero))
  5718. {
  5719. Store (And (PHSD (0xC0, 0x84), 0xFF, Local0), Index (BATS, Zero
  5720. ))
  5721. Store (PHSD (0xC0, 0xA6), Local0)
  5722. Store (PHSD (0xC0, 0xA4), Local1)
  5723. Store (PHSD (0xC0, 0xA2), Local2)
  5724. }
  5725. Else
  5726. {
  5727. Store (B1ST, Index (BATS, Zero))
  5728. Store (B1VO, Local0)
  5729. Store (B1AC, Local1)
  5730. Store (B1AB, Local2)
  5731. }
  5732.  
  5733. If (LEqual (Local1, 0xFFFF))
  5734. {
  5735. Store (0xFFFFFFFF, Local1)
  5736. }
  5737. Else
  5738. {
  5739. If (LGreaterEqual (Local1, 0x8000))
  5740. {
  5741. XOr (Local1, 0xFFFF, Local1)
  5742. Increment (Local1)
  5743. }
  5744.  
  5745. Multiply (Local0, Local1, Local1)
  5746. Divide (Local1, 0x03E8, , Local1)
  5747. }
  5748.  
  5749. Store (Local1, Index (BATS, One))
  5750. Multiply (Local2, 0x0A, Index (BATS, 0x02))
  5751. Store (Local0, Index (BATS, 0x03))
  5752. Return (BATS)
  5753. }
  5754. }
  5755.  
  5756. Method (_Q50, 0, NotSerialized)
  5757. {
  5758. Notify (ACAD, 0x80)
  5759. PNOT ()
  5760. }
  5761.  
  5762. Field (ECR, ByteAcc, Lock, Preserve)
  5763. {
  5764. Offset (0x81),
  5765. , 2,
  5766. ACAT, 1
  5767. }
  5768.  
  5769. Device (ACAD)
  5770. {
  5771. Name (_HID, "ACPI0003")
  5772. Name (_PCL, Package (0x01)
  5773. {
  5774. _SB
  5775. })
  5776. Method (_PSR, 0, NotSerialized)
  5777. {
  5778. If (LEqual (ECOK, Zero))
  5779. {
  5780. And (PHSD (0xC0, 0x80), 0x0400, Local1)
  5781. }
  5782. Else
  5783. {
  5784. Store (ACAT, Local1)
  5785. }
  5786.  
  5787. If (Local1)
  5788. {
  5789. Store (One, PWRS)
  5790. Return (One)
  5791. }
  5792. Else
  5793. {
  5794. Store (Zero, PWRS)
  5795. Return (Zero)
  5796. }
  5797. }
  5798.  
  5799. Method (_STA, 0, NotSerialized)
  5800. {
  5801. Return (0x0F)
  5802. }
  5803. }
  5804.  
  5805. Scope (\_SB)
  5806. {
  5807. Device (PWRB)
  5808. {
  5809. Name (_HID, EisaId ("PNP0C0C"))
  5810. Name (_PRW, Package (0x02)
  5811. {
  5812. 0x18,
  5813. 0x04
  5814. })
  5815. }
  5816. }
  5817.  
  5818. Method (_Q60, 0, NotSerialized)
  5819. {
  5820. Notify (PWRB, 0x80)
  5821. }
  5822.  
  5823. Scope (\_SB)
  5824. {
  5825. Device (LID0)
  5826. {
  5827. Name (_HID, EisaId ("PNP0C0D"))
  5828. Method (_LID, 0, NotSerialized)
  5829. {
  5830. If (LEqual (^^PCI0.LPCB.EC0.ECOK, Zero))
  5831. {
  5832. And (PHSB (0xC0, 0x82), 0x04, Local0)
  5833. ShiftRight (Local0, 0x02, Local0)
  5834. }
  5835. Else
  5836. {
  5837. Store (^^PCI0.LPCB.EC0.LIDS, Local0)
  5838. }
  5839.  
  5840. Return (Local0)
  5841. }
  5842. }
  5843. }
  5844.  
  5845. Field (ECR, ByteAcc, Lock, Preserve)
  5846. {
  5847. Offset (0x82),
  5848. , 2,
  5849. LIDS, 1
  5850. }
  5851.  
  5852. Method (_Q66, 0, NotSerialized)
  5853. {
  5854. If (LEqual (ECOK, Zero))
  5855. {
  5856. And (PHSB (0xC0, 0x82), 0x04, Local0)
  5857. ShiftRight (Local0, 0x02, Local0)
  5858. }
  5859. Else
  5860. {
  5861. Store (LIDS, Local0)
  5862. }
  5863.  
  5864. Notify (LID0, 0x80)
  5865. }
  5866. }
  5867.  
  5868. Field (LPC0, AnyAcc, NoLock, Preserve)
  5869. {
  5870. Offset (0x4C),
  5871. GID3, 32
  5872. }
  5873.  
  5874. Scope (EC0)
  5875. {
  5876. Field (ECR, ByteAcc, Lock, Preserve)
  5877. {
  5878. Offset (0x9B),
  5879. SIRQ, 8,
  5880. SLOB, 8,
  5881. SHIB, 8
  5882. }
  5883. }
  5884.  
  5885. Device (SPIC)
  5886. {
  5887. Name (_HID, EisaId ("SNY6001"))
  5888. Name (RSRC, ResourceTemplate ()
  5889. {
  5890. IO (Decode16,
  5891. 0x0000, // Range Minimum
  5892. 0x0000, // Range Maximum
  5893. 0x01, // Alignment
  5894. 0x20, // Length
  5895. _Y16)
  5896. IRQNoFlags (_Y17)
  5897. {}
  5898. })
  5899. Name (SSRC, ResourceTemplate ()
  5900. {
  5901. IO (Decode16,
  5902. 0x0000, // Range Minimum
  5903. 0x0000, // Range Maximum
  5904. 0x01, // Alignment
  5905. 0x20, // Length
  5906. )
  5907. IRQNoFlags ()
  5908. {}
  5909. })
  5910. Name (SIRT, Package (0x04)
  5911. {
  5912. 0x06,
  5913. 0x09,
  5914. 0x0A,
  5915. 0x0B
  5916. })
  5917. Method (_CRS, 0, NotSerialized)
  5918. {
  5919. CreateByteField (RSRC, \_SB.PCI0.LPCB.SPIC._Y16._MIN, IOM1)
  5920. CreateByteField (RSRC, 0x03, IOM2)
  5921. CreateWordField (RSRC, \_SB.PCI0.LPCB.SPIC._Y16._MIN, IO1I)
  5922. CreateWordField (RSRC, \_SB.PCI0.LPCB.SPIC._Y16._MAX, IO1A)
  5923. CreateWordField (RSRC, \_SB.PCI0.LPCB.SPIC._Y17._INT, IRQV)
  5924. If (LEqual (^^EC0.ECOK, Zero))
  5925. {
  5926. Store (PHSB (0xC0, 0x9C), IOM1)
  5927. Store (PHSB (0xC0, 0x9D), IOM2)
  5928. }
  5929. Else
  5930. {
  5931. Store (^^EC0.SLOB, IOM1)
  5932. Store (^^EC0.SHIB, IOM2)
  5933. }
  5934.  
  5935. Store (IO1I, IO1A)
  5936. If (LEqual (^^EC0.ECOK, Zero))
  5937. {
  5938. ShiftRight (PHSB (0xC0, 0x9B), 0x04, Local0)
  5939. }
  5940. Else
  5941. {
  5942. ShiftRight (^^EC0.SIRQ, 0x04, Local0)
  5943. }
  5944.  
  5945. FindSetRightBit (Local0, Local1)
  5946. If (Local1)
  5947. {
  5948. Decrement (Local1)
  5949. Store (DerefOf (Index (SIRT, Local1)), Local0)
  5950. ShiftLeft (One, Local0, IRQV)
  5951. }
  5952.  
  5953. Return (RSRC)
  5954. }
  5955.  
  5956. Method (_SRS, 1, NotSerialized)
  5957. {
  5958. CreateByteField (Arg0, 0x02, IOA1)
  5959. CreateByteField (Arg0, 0x03, IOA2)
  5960. CreateWordField (Arg0, 0x02, IOA0)
  5961. CreateWordField (Arg0, 0x09, IRQV)
  5962. FindSetRightBit (IRQV, Local0)
  5963. If (Local0)
  5964. {
  5965. Decrement (Local0)
  5966. Store (Match (SIRT, MEQ, Local0, MTR, Zero, Zero), Local1)
  5967. ShiftLeft (0x10, Local1, Local2)
  5968. }
  5969. Else
  5970. {
  5971. Store (Zero, Local2)
  5972. }
  5973.  
  5974. If (LEqual (^^EC0.ECOK, Zero))
  5975. {
  5976. PHSW (0xC1, 0x9B, Local2)
  5977. }
  5978. Else
  5979. {
  5980. Store (Local2, ^^EC0.SIRQ)
  5981. }
  5982.  
  5983. If (LEqual (^^EC0.ECOK, Zero))
  5984. {
  5985. PHSW (0xC1, 0x9D, IOA2)
  5986. PHSW (0xC1, 0x9C, IOA1)
  5987. }
  5988. Else
  5989. {
  5990. Store (IOA2, ^^EC0.SHIB)
  5991. Store (IOA1, ^^EC0.SLOB)
  5992. }
  5993.  
  5994. Sleep (One)
  5995. Store (Or (And (IOA0, 0xFFF0), 0x001C0001), GID3)
  5996. }
  5997.  
  5998. Name (_PRS, ResourceTemplate ()
  5999. {
  6000. StartDependentFnNoPri ()
  6001. {
  6002. IO (Decode16,
  6003. 0xC000, // Range Minimum
  6004. 0xC000, // Range Maximum
  6005. 0x01, // Alignment
  6006. 0x20, // Length
  6007. )
  6008. }
  6009. StartDependentFnNoPri ()
  6010. {
  6011. IO (Decode16,
  6012. 0xC800, // Range Minimum
  6013. 0xC800, // Range Maximum
  6014. 0x01, // Alignment
  6015. 0x20, // Length
  6016. )
  6017. }
  6018. StartDependentFnNoPri ()
  6019. {
  6020. IO (Decode16,
  6021. 0xD000, // Range Minimum
  6022. 0xD000, // Range Maximum
  6023. 0x01, // Alignment
  6024. 0x20, // Length
  6025. )
  6026. }
  6027. StartDependentFnNoPri ()
  6028. {
  6029. IO (Decode16,
  6030. 0xD800, // Range Minimum
  6031. 0xD800, // Range Maximum
  6032. 0x01, // Alignment
  6033. 0x20, // Length
  6034. )
  6035. }
  6036. EndDependentFn ()
  6037. IRQNoFlags ()
  6038. {6,9,10,11}
  6039. })
  6040. Method (_DIS, 0, NotSerialized)
  6041. {
  6042. Store (_CRS (), SSRC)
  6043. If (LEqual (^^EC0.ECOK, Zero))
  6044. {
  6045. PHSW (0xC1, 0x9B, Zero)
  6046. PHSW (0xC1, 0x9D, Zero)
  6047. PHSW (0xC1, 0x9C, Zero)
  6048. }
  6049. Else
  6050. {
  6051. Store (Zero, ^^EC0.SIRQ)
  6052. Store (Zero, ^^EC0.SHIB)
  6053. Store (Zero, ^^EC0.SLOB)
  6054. }
  6055.  
  6056. Sleep (One)
  6057. Store (Zero, GID3)
  6058. }
  6059.  
  6060. Method (_STA, 0, NotSerialized)
  6061. {
  6062. If (LEqual (^^EC0.ECOK, Zero))
  6063. {
  6064. ShiftRight (PHSB (0xC0, 0x9B), 0x04, Local0)
  6065. }
  6066. Else
  6067. {
  6068. ShiftRight (^^EC0.SIRQ, 0x04, Local0)
  6069. }
  6070.  
  6071. FindSetRightBit (Local0, Local1)
  6072. If (Local1)
  6073. {
  6074. Return (0x0F)
  6075. }
  6076. Else
  6077. {
  6078. Return (0x0D)
  6079. }
  6080. }
  6081. }
  6082.  
  6083. Device (SNC)
  6084. {
  6085. Name (_HID, EisaId ("SNY5001"))
  6086. Method (PWAK, 0, NotSerialized)
  6087. {
  6088. PNOT ()
  6089. Return (Zero)
  6090. }
  6091.  
  6092. Method (GWDP, 0, NotSerialized)
  6093. {
  6094. Return (And (PHSB (0xC0, 0xF4), 0x0F))
  6095. }
  6096.  
  6097. Mutex (MIDB, 0x00)
  6098. Method (RBMF, 1, Serialized)
  6099. {
  6100. Acquire (MIDB, 0xFFFF)
  6101. And (Arg0, 0x00010000, Local0)
  6102. PHSD (0xC3, Local0)
  6103. Sleep (0x07D0)
  6104. Store (0x03000000, Local0)
  6105. Store (PHSD (0xC3, Local0), Local0)
  6106. If (LEqual (0x03, Local0))
  6107. {
  6108. Sleep (0x0BB8)
  6109. }
  6110.  
  6111. Release (MIDB)
  6112. Return (Local0)
  6113. }
  6114.  
  6115. Method (RSBI, 1, Serialized)
  6116. {
  6117. Return (Zero)
  6118. }
  6119.  
  6120. Method (CBMF, 1, Serialized)
  6121. {
  6122. Acquire (MIDB, 0xFFFF)
  6123. Or (And (Arg0, 0x0001FFFF), 0x02000000, Local0)
  6124. Store (PHSD (0xC3, Local0), Local0)
  6125. Release (MIDB)
  6126. Return (Zero)
  6127. }
  6128.  
  6129. Scope (^EC0)
  6130. {
  6131. Field (ECR, ByteAcc, Lock, Preserve)
  6132. {
  6133. Offset (0x9E),
  6134. , 4,
  6135. IRST, 1,
  6136. OPOW, 1
  6137. }
  6138. }
  6139.  
  6140. Method (CDPW, 1, NotSerialized)
  6141. {
  6142. If (^^EC0.ECOK)
  6143. {
  6144. Store (^^EC0.OPOW, Local1)
  6145. }
  6146. Else
  6147. {
  6148. Store (PHSB (0xC0, 0x9E), Local2)
  6149. And (Local2, 0x20, Local1)
  6150. ShiftRight (Local1, 0x05, Local1)
  6151. }
  6152.  
  6153. If (LEqual (Arg0, One))
  6154. {
  6155. If (LNotEqual (Local1, Zero))
  6156. {
  6157. If (^^EC0.ECOK)
  6158. {
  6159. Store (One, ^^EC0.IRST)
  6160. }
  6161. Else
  6162. {
  6163. Or (Local2, 0x10, Local2)
  6164. PHSW (0xC1, 0x9E, Local2)
  6165. }
  6166.  
  6167. Store (^^^PATA.ICR4, Local1)
  6168. Or (And (Local1, 0x0C), One, Local1)
  6169. Store (Local1, ^^^PATA.ICR4)
  6170. If (^^EC0.ECOK)
  6171. {
  6172. Store (Zero, ^^EC0.OPOW)
  6173. }
  6174. Else
  6175. {
  6176. And (Local2, 0xFFFFFFDF, Local2)
  6177. PHSW (0xC1, 0x9E, Local2)
  6178. }
  6179.  
  6180. Sleep (0x64)
  6181. Store (^^^PATA.ICR4, Local1)
  6182. Or (And (Local1, 0x0C), Zero, Local1)
  6183. Store (Local1, ^^^PATA.ICR4)
  6184. If (^^EC0.ECOK)
  6185. {
  6186. Store (Zero, ^^EC0.IRST)
  6187. }
  6188. Else
  6189. {
  6190. And (Local2, 0xFFFFFFEF, Local2)
  6191. PHSW (0xC1, 0x9E, Local2)
  6192. }
  6193. }
  6194. }
  6195. Else
  6196. {
  6197. If (LEqual (Arg0, Zero))
  6198. {
  6199. If (LEqual (Local1, Zero))
  6200. {
  6201. If (^^EC0.ECOK)
  6202. {
  6203. Store (One, ^^EC0.IRST)
  6204. }
  6205. Else
  6206. {
  6207. Or (Local2, 0x10, Local2)
  6208. PHSW (0xC1, 0x9E, Local2)
  6209. }
  6210.  
  6211. Store (^^^PATA.ICR4, Local1)
  6212. Or (And (Local1, 0x0C), 0x02, Local1)
  6213. Store (Local1, ^^^PATA.ICR4)
  6214. Store (^^^PATA.PRIT, Local1)
  6215. Store (And (Local1, 0xFFDD), ^^^PATA.PRIT)
  6216. Store (^^^PATA.ICR4, Local1)
  6217. Or (And (Local1, 0x0C), One, Local1)
  6218. Store (Local1, ^^^PATA.ICR4)
  6219. If (^^EC0.ECOK)
  6220. {
  6221. Store (One, ^^EC0.OPOW)
  6222. }
  6223. Else
  6224. {
  6225. Or (Local2, 0x20, Local2)
  6226. PHSW (0xC1, 0x9E, Local2)
  6227. }
  6228. }
  6229. }
  6230. }
  6231.  
  6232. Return (Zero)
  6233. }
  6234.  
  6235. Method (GCDP, 0, NotSerialized)
  6236. {
  6237. If (^^EC0.ECOK)
  6238. {
  6239. Store (^^EC0.OPOW, Local0)
  6240. }
  6241. Else
  6242. {
  6243. And (PHSB (0xC0, 0x9E), 0x20, Local0)
  6244. }
  6245.  
  6246. If (Local0)
  6247. {
  6248. Return (Zero)
  6249. }
  6250. Else
  6251. {
  6252. Return (One)
  6253. }
  6254. }
  6255.  
  6256. Scope (^EC0)
  6257. {
  6258. Field (ECR, ByteAcc, Lock, Preserve)
  6259. {
  6260. Offset (0x98),
  6261. PMUT, 1,
  6262. VAUD, 1
  6263. }
  6264. }
  6265.  
  6266. Scope (^^HDEF)
  6267. {
  6268. Method (AZPW, 1, Serialized)
  6269. {
  6270. If (^^LPCB.EC0.ECOK)
  6271. {
  6272. If (Arg0)
  6273. {
  6274. Store (Zero, Local0)
  6275. }
  6276. Else
  6277. {
  6278. Store (One, Local0)
  6279. }
  6280.  
  6281. If (LNotEqual (Local0, ^^LPCB.EC0.VAUD))
  6282. {
  6283. Store (One, ^^LPCB.EC0.PMUT)
  6284. Store (Local0, ^^LPCB.EC0.VAUD)
  6285. Sleep (0x012C)
  6286. Store (Zero, ^^LPCB.EC0.PMUT)
  6287. }
  6288. }
  6289. Else
  6290. {
  6291. If (Arg0)
  6292. {
  6293. Store (Zero, Local0)
  6294. }
  6295. Else
  6296. {
  6297. Store (0x02, Local0)
  6298. }
  6299.  
  6300. Store (PHSB (0xC0, 0x98), Local1)
  6301. And (Local1, 0x02, Local2)
  6302. If (LNotEqual (Local0, Local2))
  6303. {
  6304. Or (Local1, One, Local1)
  6305. PHSW (0xC1, 0x98, Local1)
  6306. And (Local1, 0xFFFFFFFD, Local1)
  6307. Or (Local1, Local0, Local1)
  6308. PHSW (0xC1, 0x98, Local1)
  6309. Sleep (0x012C)
  6310. And (Local1, 0xFFFFFFFE, Local1)
  6311. PHSW (0xC1, 0x98, Local1)
  6312. }
  6313. }
  6314. }
  6315.  
  6316. Method (_PS0, 0, NotSerialized)
  6317. {
  6318. AZPW (One)
  6319. }
  6320.  
  6321. Method (_PS3, 0, NotSerialized)
  6322. {
  6323. }
  6324. }
  6325.  
  6326. Method (AZPW, 1, NotSerialized)
  6327. {
  6328. ^^^HDEF.AZPW (Arg0)
  6329. }
  6330.  
  6331. Method (GAZP, 0, NotSerialized)
  6332. {
  6333. If (^^EC0.ECOK)
  6334. {
  6335. Store (^^EC0.VAUD, Local0)
  6336. }
  6337. Else
  6338. {
  6339. And (PHSB (0xC0, 0x98), 0x02, Local0)
  6340. }
  6341.  
  6342. If (Local0)
  6343. {
  6344. Return (Zero)
  6345. }
  6346. Else
  6347. {
  6348. Return (One)
  6349. }
  6350. }
  6351.  
  6352. Scope (^EC0)
  6353. {
  6354. Field (ECR, ByteAcc, Lock, Preserve)
  6355. {
  6356. Offset (0x9E),
  6357. , 2,
  6358. ERST, 1,
  6359. EOFF, 1
  6360. }
  6361. }
  6362.  
  6363. Method (LNPW, 1, NotSerialized)
  6364. {
  6365. If (^^EC0.ECOK)
  6366. {
  6367. If (Arg0)
  6368. {
  6369. If (^^EC0.EOFF)
  6370. {
  6371. Store (Zero, ^^EC0.EOFF)
  6372. Sleep (0x6E)
  6373. Store (Zero, ^^EC0.ERST)
  6374. Sleep (0x64)
  6375. }
  6376. }
  6377. Else
  6378. {
  6379. Store (One, ^^EC0.ERST)
  6380. Store (One, ^^EC0.EOFF)
  6381. }
  6382. }
  6383. Else
  6384. {
  6385. Store (PHSB (0xC0, 0x9E), Local0)
  6386. If (Arg0)
  6387. {
  6388. If (And (Local0, 0x08))
  6389. {
  6390. And (Local0, 0xFFFFFFF7, Local0)
  6391. PHSW (0xC1, 0x9E, Local0)
  6392. Sleep (0x6E)
  6393. And (Local0, 0xFFFFFFFB, Local0)
  6394. PHSW (0xC1, 0x9E, Local0)
  6395. Sleep (0x64)
  6396. }
  6397. }
  6398. Else
  6399. {
  6400. Or (Local0, 0x0C, Local0)
  6401. PHSW (0xC1, 0x9E, Local0)
  6402. }
  6403. }
  6404. }
  6405.  
  6406. Method (GLNP, 0, NotSerialized)
  6407. {
  6408. If (^^EC0.ECOK)
  6409. {
  6410. Store (^^EC0.EOFF, Local0)
  6411. }
  6412. Else
  6413. {
  6414. Store (PHSB (0xC0, 0x9E), Local0)
  6415. And (Local0, 0x08, Local0)
  6416. }
  6417.  
  6418. If (Local0)
  6419. {
  6420. Return (Zero)
  6421. }
  6422. Else
  6423. {
  6424. Return (One)
  6425. }
  6426. }
  6427.  
  6428. Scope (^EC0)
  6429. {
  6430. Field (ECR, ByteAcc, Lock, Preserve)
  6431. {
  6432. Offset (0x9E),
  6433. , 7,
  6434. LIDE, 1
  6435. }
  6436. }
  6437.  
  6438. Name (LRST, Zero)
  6439. Method (SLRS, 1, NotSerialized)
  6440. {
  6441. And (Arg0, 0x07, Arg0)
  6442. Store (Arg0, LRST)
  6443. Return (Zero)
  6444. }
  6445.  
  6446. Method (SLRD, 1, NotSerialized)
  6447. {
  6448. If (LEqual (Arg0, 0x03))
  6449. {
  6450. If (And (LRST, 0x04))
  6451. {
  6452. If (LEqual (^^EC0.ECOK, Zero))
  6453. {
  6454. Store (PHSB (0xC0, 0x9E), Local0)
  6455. Or (Local0, 0x80, Local0)
  6456. PHSW (0xC1, 0x9E, Local0)
  6457. }
  6458. Else
  6459. {
  6460. Store (One, ^^EC0.LIDE)
  6461. }
  6462. }
  6463. }
  6464.  
  6465. If (LEqual (Arg0, 0x04))
  6466. {
  6467. If (And (LRST, 0x02))
  6468. {
  6469. If (LEqual (^^EC0.ECOK, Zero))
  6470. {
  6471. Store (PHSB (0xC0, 0x9E), Local0)
  6472. Or (Local0, 0x80, Local0)
  6473. PHSW (0xC1, 0x9E, Local0)
  6474. }
  6475. Else
  6476. {
  6477. Store (One, ^^EC0.LIDE)
  6478. }
  6479. }
  6480. }
  6481.  
  6482. If (LEqual (Arg0, 0x05))
  6483. {
  6484. If (And (LRST, One))
  6485. {
  6486. If (LEqual (^^EC0.ECOK, Zero))
  6487. {
  6488. Store (PHSB (0xC0, 0x9E), Local0)
  6489. Or (Local0, 0x80, Local0)
  6490. PHSW (0xC1, 0x9E, Local0)
  6491. }
  6492. Else
  6493. {
  6494. Store (One, ^^EC0.LIDE)
  6495. }
  6496. }
  6497. }
  6498. }
  6499.  
  6500. Name (PWML, Buffer (0x09)
  6501. {
  6502. /* 0000 */ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  6503. /* 0008 */ 0x00
  6504. })
  6505. Method (SBRT, 1, NotSerialized)
  6506. {
  6507. If (LGreater (DerefOf (Index (PWML, Zero)), DerefOf (Index (PWML,
  6508. One))))
  6509. {
  6510. Store (PHBL (), PWML)
  6511. }
  6512.  
  6513. ^^^GFX0.AINT (One, DerefOf (Index (PWML, Arg0)))
  6514. Return (Zero)
  6515. }
  6516.  
  6517. Method (GBRT, 0, NotSerialized)
  6518. {
  6519. If (LGreater (DerefOf (Index (PWML, Zero)), DerefOf (Index (PWML,
  6520. One))))
  6521. {
  6522. Store (PHBL (), PWML)
  6523. }
  6524.  
  6525. Store (Zero, Local0)
  6526. And (^^^GFX0.BCLP, 0xFF, Local1)
  6527. While (LLess (Local0, Subtract (SizeOf (PWML), One)))
  6528. {
  6529. If (LLess (DerefOf (Index (PWML, Local0)), Local1))
  6530. {
  6531. Increment (Local0)
  6532. }
  6533. Else
  6534. {
  6535. Break
  6536. }
  6537. }
  6538.  
  6539. Return (Local0)
  6540. }
  6541.  
  6542. Method (SPBR, 1, NotSerialized)
  6543. {
  6544. Return (Zero)
  6545. }
  6546.  
  6547. Method (GPBR, 0, NotSerialized)
  6548. {
  6549. Return (GBRT ())
  6550. }
  6551.  
  6552. Method (CSXB, 1, NotSerialized)
  6553. {
  6554. Acquire (MPHS, 0xFFFF)
  6555. Store (Arg0, SXBF)
  6556. PHS0 (0xC2)
  6557. Store (SXBF, Local0)
  6558. Release (MPHS)
  6559. Return (Local0)
  6560. }
  6561. }
  6562.  
  6563. Device (DMAC)
  6564. {
  6565. Name (_HID, EisaId ("PNP0200"))
  6566. Name (_CRS, ResourceTemplate ()
  6567. {
  6568. IO (Decode16,
  6569. 0x0000, // Range Minimum
  6570. 0x0000, // Range Maximum
  6571. 0x01, // Alignment
  6572. 0x20, // Length
  6573. )
  6574. IO (Decode16,
  6575. 0x0081, // Range Minimum
  6576. 0x0081, // Range Maximum
  6577. 0x01, // Alignment
  6578. 0x11, // Length
  6579. )
  6580. IO (Decode16,
  6581. 0x0093, // Range Minimum
  6582. 0x0093, // Range Maximum
  6583. 0x01, // Alignment
  6584. 0x0D, // Length
  6585. )
  6586. IO (Decode16,
  6587. 0x00C0, // Range Minimum
  6588. 0x00C0, // Range Maximum
  6589. 0x01, // Alignment
  6590. 0x20, // Length
  6591. )
  6592. DMA (Compatibility, NotBusMaster, Transfer8_16, )
  6593. {4}
  6594. })
  6595. }
  6596.  
  6597. Device (FWHD)
  6598. {
  6599. Name (_HID, EisaId ("INT0800"))
  6600. Name (_CRS, ResourceTemplate ()
  6601. {
  6602. Memory32Fixed (ReadOnly,
  6603. 0xFF000000, // Address Base
  6604. 0x01000000, // Address Length
  6605. )
  6606. })
  6607. }
  6608.  
  6609. Device (HPET)
  6610. {
  6611. Name (_HID, EisaId ("PNP0103"))
  6612. Name (BUF0, ResourceTemplate ()
  6613. {
  6614. Memory32Fixed (ReadOnly,
  6615. 0xFED00000, // Address Base
  6616. 0x00000400, // Address Length
  6617. _Y18)
  6618. })
  6619. Method (_STA, 0, NotSerialized)
  6620. {
  6621. If (LGreaterEqual (OSYS, 0x07D1))
  6622. {
  6623. If (HPAE)
  6624. {
  6625. Return (0x0F)
  6626. }
  6627. }
  6628. Else
  6629. {
  6630. If (HPAE)
  6631. {
  6632. Return (0x0B)
  6633. }
  6634. }
  6635.  
  6636. Return (Zero)
  6637. }
  6638.  
  6639. Method (_CRS, 0, Serialized)
  6640. {
  6641. If (HPAE)
  6642. {
  6643. CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y18._BAS, HPT0)
  6644. If (LEqual (HPAS, One))
  6645. {
  6646. Store (0xFED01000, HPT0)
  6647. }
  6648.  
  6649. If (LEqual (HPAS, 0x02))
  6650. {
  6651. Store (0xFED02000, HPT0)
  6652. }
  6653.  
  6654. If (LEqual (HPAS, 0x03))
  6655. {
  6656. Store (0xFED03000, HPT0)
  6657. }
  6658. }
  6659.  
  6660. Return (BUF0)
  6661. }
  6662. }
  6663.  
  6664. Device (IPIC)
  6665. {
  6666. Name (_HID, EisaId ("PNP0000"))
  6667. Name (_CRS, ResourceTemplate ()
  6668. {
  6669. IO (Decode16,
  6670. 0x0020, // Range Minimum
  6671. 0x0020, // Range Maximum
  6672. 0x01, // Alignment
  6673. 0x02, // Length
  6674. )
  6675. IO (Decode16,
  6676. 0x0024, // Range Minimum
  6677. 0x0024, // Range Maximum
  6678. 0x01, // Alignment
  6679. 0x02, // Length
  6680. )
  6681. IO (Decode16,
  6682. 0x0028, // Range Minimum
  6683. 0x0028, // Range Maximum
  6684. 0x01, // Alignment
  6685. 0x02, // Length
  6686. )
  6687. IO (Decode16,
  6688. 0x002C, // Range Minimum
  6689. 0x002C, // Range Maximum
  6690. 0x01, // Alignment
  6691. 0x02, // Length
  6692. )
  6693. IO (Decode16,
  6694. 0x0030, // Range Minimum
  6695. 0x0030, // Range Maximum
  6696. 0x01, // Alignment
  6697. 0x02, // Length
  6698. )
  6699. IO (Decode16,
  6700. 0x0034, // Range Minimum
  6701. 0x0034, // Range Maximum
  6702. 0x01, // Alignment
  6703. 0x02, // Length
  6704. )
  6705. IO (Decode16,
  6706. 0x0038, // Range Minimum
  6707. 0x0038, // Range Maximum
  6708. 0x01, // Alignment
  6709. 0x02, // Length
  6710. )
  6711. IO (Decode16,
  6712. 0x003C, // Range Minimum
  6713. 0x003C, // Range Maximum
  6714. 0x01, // Alignment
  6715. 0x02, // Length
  6716. )
  6717. IO (Decode16,
  6718. 0x00A0, // Range Minimum
  6719. 0x00A0, // Range Maximum
  6720. 0x01, // Alignment
  6721. 0x02, // Length
  6722. )
  6723. IO (Decode16,
  6724. 0x00A4, // Range Minimum
  6725. 0x00A4, // Range Maximum
  6726. 0x01, // Alignment
  6727. 0x02, // Length
  6728. )
  6729. IO (Decode16,
  6730. 0x00A8, // Range Minimum
  6731. 0x00A8, // Range Maximum
  6732. 0x01, // Alignment
  6733. 0x02, // Length
  6734. )
  6735. IO (Decode16,
  6736. 0x00AC, // Range Minimum
  6737. 0x00AC, // Range Maximum
  6738. 0x01, // Alignment
  6739. 0x02, // Length
  6740. )
  6741. IO (Decode16,
  6742. 0x00B0, // Range Minimum
  6743. 0x00B0, // Range Maximum
  6744. 0x01, // Alignment
  6745. 0x02, // Length
  6746. )
  6747. IO (Decode16,
  6748. 0x00B4, // Range Minimum
  6749. 0x00B4, // Range Maximum
  6750. 0x01, // Alignment
  6751. 0x02, // Length
  6752. )
  6753. IO (Decode16,
  6754. 0x00B8, // Range Minimum
  6755. 0x00B8, // Range Maximum
  6756. 0x01, // Alignment
  6757. 0x02, // Length
  6758. )
  6759. IO (Decode16,
  6760. 0x00BC, // Range Minimum
  6761. 0x00BC, // Range Maximum
  6762. 0x01, // Alignment
  6763. 0x02, // Length
  6764. )
  6765. IO (Decode16,
  6766. 0x04D0, // Range Minimum
  6767. 0x04D0, // Range Maximum
  6768. 0x01, // Alignment
  6769. 0x02, // Length
  6770. )
  6771. IRQNoFlags ()
  6772. {2}
  6773. })
  6774. }
  6775.  
  6776. Device (MATH)
  6777. {
  6778. Name (_HID, EisaId ("PNP0C04"))
  6779. Name (_CRS, ResourceTemplate ()
  6780. {
  6781. IO (Decode16,
  6782. 0x00F0, // Range Minimum
  6783. 0x00F0, // Range Maximum
  6784. 0x01, // Alignment
  6785. 0x01, // Length
  6786. )
  6787. IRQNoFlags ()
  6788. {13}
  6789. })
  6790. }
  6791.  
  6792. Device (LDRC)
  6793. {
  6794. Name (_HID, EisaId ("PNP0C02"))
  6795. Name (_UID, 0x02)
  6796. Name (_CRS, ResourceTemplate ()
  6797. {
  6798. IO (Decode16,
  6799. 0x002E, // Range Minimum
  6800. 0x002E, // Range Maximum
  6801. 0x01, // Alignment
  6802. 0x02, // Length
  6803. )
  6804. IO (Decode16,
  6805. 0x004E, // Range Minimum
  6806. 0x004E, // Range Maximum
  6807. 0x01, // Alignment
  6808. 0x02, // Length
  6809. )
  6810. IO (Decode16,
  6811. 0x0061, // Range Minimum
  6812. 0x0061, // Range Maximum
  6813. 0x01, // Alignment
  6814. 0x01, // Length
  6815. )
  6816. IO (Decode16,
  6817. 0x0063, // Range Minimum
  6818. 0x0063, // Range Maximum
  6819. 0x01, // Alignment
  6820. 0x01, // Length
  6821. )
  6822. IO (Decode16,
  6823. 0x0065, // Range Minimum
  6824. 0x0065, // Range Maximum
  6825. 0x01, // Alignment
  6826. 0x01, // Length
  6827. )
  6828. IO (Decode16,
  6829. 0x0067, // Range Minimum
  6830. 0x0067, // Range Maximum
  6831. 0x01, // Alignment
  6832. 0x01, // Length
  6833. )
  6834. IO (Decode16,
  6835. 0x0080, // Range Minimum
  6836. 0x0080, // Range Maximum
  6837. 0x01, // Alignment
  6838. 0x01, // Length
  6839. )
  6840. IO (Decode16,
  6841. 0x0092, // Range Minimum
  6842. 0x0092, // Range Maximum
  6843. 0x01, // Alignment
  6844. 0x01, // Length
  6845. )
  6846. IO (Decode16,
  6847. 0x00B2, // Range Minimum
  6848. 0x00B2, // Range Maximum
  6849. 0x01, // Alignment
  6850. 0x02, // Length
  6851. )
  6852. IO (Decode16,
  6853. 0x0680, // Range Minimum
  6854. 0x0680, // Range Maximum
  6855. 0x01, // Alignment
  6856. 0x20, // Length
  6857. )
  6858. IO (Decode16,
  6859. 0x0800, // Range Minimum
  6860. 0x0800, // Range Maximum
  6861. 0x01, // Alignment
  6862. 0x10, // Length
  6863. )
  6864. IO (Decode16,
  6865. 0x1000, // Range Minimum
  6866. 0x1000, // Range Maximum
  6867. 0x01, // Alignment
  6868. 0x80, // Length
  6869. )
  6870. IO (Decode16,
  6871. 0x1180, // Range Minimum
  6872. 0x1180, // Range Maximum
  6873. 0x01, // Alignment
  6874. 0x40, // Length
  6875. )
  6876. IO (Decode16,
  6877. 0x1640, // Range Minimum
  6878. 0x1640, // Range Maximum
  6879. 0x01, // Alignment
  6880. 0x10, // Length
  6881. )
  6882. IO (Decode16,
  6883. 0xFE00, // Range Minimum
  6884. 0xFE00, // Range Maximum
  6885. 0x01, // Alignment
  6886. 0x01, // Length
  6887. )
  6888. })
  6889. }
  6890.  
  6891. Device (RTC)
  6892. {
  6893. Name (_HID, EisaId ("PNP0B00"))
  6894. Name (_CRS, ResourceTemplate ()
  6895. {
  6896. IO (Decode16,
  6897. 0x0070, // Range Minimum
  6898. 0x0070, // Range Maximum
  6899. 0x01, // Alignment
  6900. 0x08, // Length
  6901. )
  6902. IRQNoFlags ()
  6903. {8}
  6904. })
  6905. }
  6906.  
  6907. Device (TIMR)
  6908. {
  6909. Name (_HID, EisaId ("PNP0100"))
  6910. Name (_CRS, ResourceTemplate ()
  6911. {
  6912. IO (Decode16,
  6913. 0x0040, // Range Minimum
  6914. 0x0040, // Range Maximum
  6915. 0x01, // Alignment
  6916. 0x04, // Length
  6917. )
  6918. IO (Decode16,
  6919. 0x0050, // Range Minimum
  6920. 0x0050, // Range Maximum
  6921. 0x10, // Alignment
  6922. 0x04, // Length
  6923. )
  6924. IRQNoFlags ()
  6925. {0}
  6926. })
  6927. }
  6928.  
  6929. Device (TPM)
  6930. {
  6931. Method (_HID, 0, NotSerialized)
  6932. {
  6933. If (LEqual (TPMV, One))
  6934. {
  6935. Return (0x0201D824)
  6936. }
  6937.  
  6938. If (LEqual (TPMV, 0x02))
  6939. {
  6940. Return (0x0435CF4D)
  6941. }
  6942.  
  6943. If (LEqual (TPMV, 0x03))
  6944. {
  6945. Return (0x02016D08)
  6946. }
  6947.  
  6948. If (LEqual (TPMV, 0x04))
  6949. {
  6950. Return (0x01016D08)
  6951. }
  6952.  
  6953. If (LOr (LEqual (TPMV, 0x05), LEqual (TPMV, 0x06)))
  6954. {
  6955. Return (0x0010A35C)
  6956. }
  6957.  
  6958. If (LEqual (TPMV, 0x08))
  6959. {
  6960. Return (0x00128D06)
  6961. }
  6962.  
  6963. Return (0x310CD041)
  6964. }
  6965.  
  6966. Name (_CID, EisaId ("PNP0C31"))
  6967. Name (_UID, One)
  6968. Method (_STA, 0, NotSerialized)
  6969. {
  6970. If (TPRS)
  6971. {
  6972. Return (0x0F)
  6973. }
  6974.  
  6975. Return (Zero)
  6976. }
  6977.  
  6978. Name (BUF0, ResourceTemplate ()
  6979. {
  6980. Memory32Fixed (ReadWrite,
  6981. 0xFED40000, // Address Base
  6982. 0x00005000, // Address Length
  6983. )
  6984. IO (Decode16,
  6985. 0x167E, // Range Minimum
  6986. 0x167E, // Range Maximum
  6987. 0x01, // Alignment
  6988. 0x02, // Length
  6989. )
  6990. IO (Decode16,
  6991. 0x1670, // Range Minimum
  6992. 0x1670, // Range Maximum
  6993. 0x01, // Alignment
  6994. 0x0C, // Length
  6995. )
  6996. IRQ (Edge, ActiveHigh, Exclusive, )
  6997. {3,5,7,9,10,11,13}
  6998. })
  6999. Name (BUF1, ResourceTemplate ()
  7000. {
  7001. Memory32Fixed (ReadWrite,
  7002. 0xFED40000, // Address Base
  7003. 0x00005000, // Address Length
  7004. )
  7005. IRQ (Edge, ActiveHigh, Exclusive, )
  7006. {3,5,7,9,10,11,13}
  7007. })
  7008. Name (BUF2, ResourceTemplate ()
  7009. {
  7010. Memory32Fixed (ReadWrite,
  7011. 0xFED40000, // Address Base
  7012. 0x00005000, // Address Length
  7013. )
  7014. IRQ (Level, ActiveLow, Shared, )
  7015. {3,5,7,9,10,11,13}
  7016. })
  7017. Method (_CRS, 0, Serialized)
  7018. {
  7019. If (LEqual (TPMV, One))
  7020. {
  7021. Return (BUF0)
  7022. }
  7023.  
  7024. If (LOr (LEqual (TPMV, 0x05), LEqual (TPMV, 0x06)))
  7025. {
  7026. Return (BUF2)
  7027. }
  7028.  
  7029. Return (BUF1)
  7030. }
  7031.  
  7032. Method (UCMP, 2, NotSerialized)
  7033. {
  7034. If (LNotEqual (0x10, SizeOf (Arg0)))
  7035. {
  7036. Return (Zero)
  7037. }
  7038.  
  7039. If (LNotEqual (0x10, SizeOf (Arg1)))
  7040. {
  7041. Return (Zero)
  7042. }
  7043.  
  7044. Store (Zero, Local0)
  7045. While (LLess (Local0, 0x10))
  7046. {
  7047. If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
  7048. Arg1, Local0))))
  7049. {
  7050. Return (Zero)
  7051. }
  7052.  
  7053. Increment (Local0)
  7054. }
  7055.  
  7056. Return (One)
  7057. }
  7058.  
  7059. Method (_DSM, 4, Serialized)
  7060. {
  7061. If (LEqual (UCMP (Arg0, Buffer (0x10)
  7062. {
  7063. /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
  7064. /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
  7065. }), One))
  7066. {
  7067. If (LEqual (Arg2, Zero))
  7068. {
  7069. Return (Buffer (One)
  7070. {
  7071. 0x7F
  7072. })
  7073. }
  7074.  
  7075. If (LEqual (Arg2, One))
  7076. {
  7077. Return (Buffer (0x04)
  7078. {
  7079. "1.0"
  7080. })
  7081. }
  7082.  
  7083. If (LEqual (Arg2, 0x02))
  7084. {
  7085. If (TPRS)
  7086. {
  7087. If (LEqual (DerefOf (Index (Arg3, Zero)), Zero))
  7088. {
  7089. Store (Zero, PPRQ)
  7090. Return (Zero)
  7091. }
  7092.  
  7093. If (LEqual (DerefOf (Index (Arg3, Zero)), One))
  7094. {
  7095. Store (One, PPRQ)
  7096. Return (Zero)
  7097. }
  7098.  
  7099. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x02))
  7100. {
  7101. Store (0x02, PPRQ)
  7102. Return (Zero)
  7103. }
  7104.  
  7105. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x03))
  7106. {
  7107. Store (0x03, PPRQ)
  7108. Return (Zero)
  7109. }
  7110.  
  7111. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x04))
  7112. {
  7113. Store (0x04, PPRQ)
  7114. Return (Zero)
  7115. }
  7116.  
  7117. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x05))
  7118. {
  7119. Store (0x05, PPRQ)
  7120. Return (Zero)
  7121. }
  7122.  
  7123. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x06))
  7124. {
  7125. Store (0x06, PPRQ)
  7126. Return (Zero)
  7127. }
  7128.  
  7129. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x07))
  7130. {
  7131. Store (0x07, PPRQ)
  7132. Return (Zero)
  7133. }
  7134.  
  7135. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x08))
  7136. {
  7137. Store (0x08, PPRQ)
  7138. Return (Zero)
  7139. }
  7140.  
  7141. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x09))
  7142. {
  7143. Store (0x09, PPRQ)
  7144. Return (Zero)
  7145. }
  7146.  
  7147. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0A))
  7148. {
  7149. Store (0x0A, PPRQ)
  7150. Return (Zero)
  7151. }
  7152.  
  7153. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0B))
  7154. {
  7155. Store (0x0B, PPRQ)
  7156. Return (Zero)
  7157. }
  7158.  
  7159. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0C))
  7160. {
  7161. Store (Zero, PPRQ)
  7162. Return (One)
  7163. }
  7164.  
  7165. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0D))
  7166. {
  7167. Store (Zero, PPRQ)
  7168. Return (One)
  7169. }
  7170.  
  7171. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0E))
  7172. {
  7173. Store (0x0E, PPRQ)
  7174. Return (Zero)
  7175. }
  7176.  
  7177. Return (One)
  7178. }
  7179.  
  7180. Return (One)
  7181. }
  7182.  
  7183. If (LEqual (Arg2, 0x03))
  7184. {
  7185. Name (TMP1, Package (0x02)
  7186. {
  7187. Zero,
  7188. 0xFFFFFFFF
  7189. })
  7190. Store (PPRQ, Index (TMP1, One))
  7191. Return (TMP1)
  7192. }
  7193.  
  7194. If (LEqual (Arg2, 0x04))
  7195. {
  7196. Return (One)
  7197. }
  7198.  
  7199. If (LEqual (Arg2, 0x05))
  7200. {
  7201. Name (TMP2, Package (0x03)
  7202. {
  7203. Zero,
  7204. 0xFFFFFFFF,
  7205. 0xFFFFFFFF
  7206. })
  7207. Store (PPLO, Index (TMP2, One))
  7208. If (LOr (LOr (LGreater (PPLO, 0x0E), LEqual (PPLO, 0x0C)), LEqual (
  7209. PPLO, 0x0D)))
  7210. {
  7211. Store (0xFFFFFFF1, Index (TMP2, 0x02))
  7212. Return (TMP2)
  7213. }
  7214.  
  7215. If (LEqual (PPRP, 0xFF))
  7216. {
  7217. Store (0xFFFFFFF1, Index (TMP2, 0x02))
  7218. Return (TMP2)
  7219. }
  7220.  
  7221. If (PPOR)
  7222. {
  7223. Store (0xFFFFFFF0, Index (TMP2, 0x02))
  7224. Return (TMP2)
  7225. }
  7226.  
  7227. Store (PPRP, Index (TMP2, 0x02))
  7228. Return (TMP2)
  7229. }
  7230.  
  7231. If (LEqual (Arg2, 0x06))
  7232. {
  7233. CreateByteField (Arg3, 0x04, LAN0)
  7234. CreateByteField (Arg3, 0x05, LAN1)
  7235. Or (ShiftLeft (LAN1, 0x08), LAN0, P80H)
  7236. If (LOr (LEqual (LAN0, 0x65), LEqual (LAN0, 0x45)))
  7237. {
  7238. If (LOr (LEqual (LAN1, 0x6E), LEqual (LAN1, 0x4E)))
  7239. {
  7240. Return (Zero)
  7241. }
  7242. }
  7243.  
  7244. Return (One)
  7245. }
  7246.  
  7247. Return (One)
  7248. }
  7249.  
  7250. If (LEqual (UCMP (Arg0, Buffer (0x10)
  7251. {
  7252. /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
  7253. /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
  7254. }), One))
  7255. {
  7256. If (LEqual (Arg2, Zero))
  7257. {
  7258. Return (Buffer (One)
  7259. {
  7260. 0x01
  7261. })
  7262. }
  7263.  
  7264. If (LEqual (Arg2, One))
  7265. {
  7266. If (LEqual (DerefOf (Index (Arg3, Zero)), Zero))
  7267. {
  7268. Store (Zero, MOR)
  7269. Return (Zero)
  7270. }
  7271.  
  7272. If (LEqual (DerefOf (Index (Arg3, Zero)), One))
  7273. {
  7274. Store (One, MOR)
  7275. Return (Zero)
  7276. }
  7277. }
  7278.  
  7279. Return (One)
  7280. }
  7281.  
  7282. Return (Buffer (One)
  7283. {
  7284. 0x00
  7285. })
  7286. }
  7287. }
  7288.  
  7289. Scope (\_SB)
  7290. {
  7291. OperationRegion (TCG1, SystemMemory, 0xBFEDCA30, 0x00000007)
  7292. Field (TCG1, AnyAcc, NoLock, Preserve)
  7293. {
  7294. PPRQ, 8,
  7295. PPLO, 8,
  7296. PPRP, 8,
  7297. PPOR, 8,
  7298. TPRS, 8,
  7299. TPMV, 8,
  7300. MOR, 8
  7301. }
  7302.  
  7303. Method (PHSR, 1, Serialized)
  7304. {
  7305. Store (Arg0, BCMD)
  7306. Store (Zero, DID)
  7307. Store (Zero, SMIC)
  7308. If (LEqual (BCMD, Arg0)) {}
  7309. Store (Zero, BCMD)
  7310. Store (Zero, DID)
  7311. Return (Zero)
  7312. }
  7313.  
  7314. OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
  7315. Field (SMI0, AnyAcc, NoLock, Preserve)
  7316. {
  7317. SMIC, 8
  7318. }
  7319.  
  7320. OperationRegion (SMI1, SystemMemory, 0xBFEDEB38, 0x00000415)
  7321. Field (SMI1, AnyAcc, NoLock, Preserve)
  7322. {
  7323. BCMD, 8,
  7324. DID, 32,
  7325. INFO, 1024
  7326. }
  7327.  
  7328. Field (SMI1, AnyAcc, NoLock, Preserve)
  7329. {
  7330. AccessAs (ByteAcc, 0x00),
  7331. Offset (0x05),
  7332. INF, 8
  7333. }
  7334. }
  7335.  
  7336. Device (PS2K)
  7337. {
  7338. Name (_HID, EisaId ("PNP0303"))
  7339. Name (_CRS, ResourceTemplate ()
  7340. {
  7341. IO (Decode16,
  7342. 0x0060, // Range Minimum
  7343. 0x0060, // Range Maximum
  7344. 0x01, // Alignment
  7345. 0x01, // Length
  7346. )
  7347. IO (Decode16,
  7348. 0x0064, // Range Minimum
  7349. 0x0064, // Range Maximum
  7350. 0x01, // Alignment
  7351. 0x01, // Length
  7352. )
  7353. IRQ (Edge, ActiveHigh, Exclusive, )
  7354. {1}
  7355. })
  7356. }
  7357.  
  7358. Device (PS2M)
  7359. {
  7360. Name (_HID, EisaId ("SNY9001"))
  7361. Name (_CID, EisaId ("PNP0F13"))
  7362. Name (_CRS, ResourceTemplate ()
  7363. {
  7364. IRQ (Edge, ActiveHigh, Exclusive, )
  7365. {12}
  7366. })
  7367. }
  7368. }
  7369.  
  7370. Device (PATA)
  7371. {
  7372. Name (_ADR, 0x001F0001)
  7373. OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
  7374. Field (PACS, DWordAcc, NoLock, Preserve)
  7375. {
  7376. PRIT, 16,
  7377. Offset (0x04),
  7378. PSIT, 4,
  7379. Offset (0x08),
  7380. SYNC, 4,
  7381. Offset (0x0A),
  7382. SDT0, 2,
  7383. , 2,
  7384. SDT1, 2,
  7385. Offset (0x14),
  7386. ICR0, 4,
  7387. ICR1, 4,
  7388. ICR2, 4,
  7389. ICR3, 4,
  7390. ICR4, 4,
  7391. ICR5, 4
  7392. }
  7393.  
  7394. Device (PRID)
  7395. {
  7396. Name (_ADR, Zero)
  7397. Method (_GTM, 0, NotSerialized)
  7398. {
  7399. Name (PBUF, Buffer (0x14)
  7400. {
  7401. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  7402. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  7403. /* 0010 */ 0x00, 0x00, 0x00, 0x00
  7404. })
  7405. CreateDWordField (PBUF, Zero, PIO0)
  7406. CreateDWordField (PBUF, 0x04, DMA0)
  7407. CreateDWordField (PBUF, 0x08, PIO1)
  7408. CreateDWordField (PBUF, 0x0C, DMA1)
  7409. CreateDWordField (PBUF, 0x10, FLAG)
  7410. Store (GETP (PRIT), PIO0)
  7411. Store (GDMA (And (SYNC, One), And (ICR3, One),
  7412. And (ICR0, One), SDT0, And (ICR1, One)), DMA0)
  7413. If (LEqual (DMA0, 0xFFFFFFFF))
  7414. {
  7415. Store (PIO0, DMA0)
  7416. }
  7417.  
  7418. If (And (PRIT, 0x4000))
  7419. {
  7420. If (LEqual (And (PRIT, 0x90), 0x80))
  7421. {
  7422. Store (0x0384, PIO1)
  7423. }
  7424. Else
  7425. {
  7426. Store (GETT (PSIT), PIO1)
  7427. }
  7428. }
  7429. Else
  7430. {
  7431. Store (0xFFFFFFFF, PIO1)
  7432. }
  7433.  
  7434. Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
  7435. And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
  7436. If (LEqual (DMA1, 0xFFFFFFFF))
  7437. {
  7438. Store (PIO1, DMA1)
  7439. }
  7440.  
  7441. Store (GETF (And (SYNC, One), And (SYNC, 0x02),
  7442. PRIT), FLAG)
  7443. If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
  7444. {
  7445. Store (0x78, PIO0)
  7446. Store (0x14, DMA0)
  7447. Store (0x03, FLAG)
  7448. }
  7449.  
  7450. Return (PBUF)
  7451. }
  7452.  
  7453. Method (_STM, 3, NotSerialized)
  7454. {
  7455. CreateDWordField (Arg0, Zero, PIO0)
  7456. CreateDWordField (Arg0, 0x04, DMA0)
  7457. CreateDWordField (Arg0, 0x08, PIO1)
  7458. CreateDWordField (Arg0, 0x0C, DMA1)
  7459. CreateDWordField (Arg0, 0x10, FLAG)
  7460. If (LEqual (SizeOf (Arg1), 0x0200))
  7461. {
  7462. And (PRIT, 0xC0F0, PRIT)
  7463. And (SYNC, 0x02, SYNC)
  7464. Store (Zero, SDT0)
  7465. And (ICR0, 0x02, ICR0)
  7466. And (ICR1, 0x02, ICR1)
  7467. And (ICR3, 0x02, ICR3)
  7468. And (ICR5, 0x02, ICR5)
  7469. CreateWordField (Arg1, 0x62, W490)
  7470. CreateWordField (Arg1, 0x6A, W530)
  7471. CreateWordField (Arg1, 0x7E, W630)
  7472. CreateWordField (Arg1, 0x80, W640)
  7473. CreateWordField (Arg1, 0xB0, W880)
  7474. CreateWordField (Arg1, 0xBA, W930)
  7475. Or (PRIT, 0x8004, PRIT)
  7476. If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
  7477. {
  7478. Or (PRIT, 0x02, PRIT)
  7479. }
  7480.  
  7481. Or (PRIT, SETP (PIO0, W530, W640), PRIT)
  7482. If (And (FLAG, One))
  7483. {
  7484. Or (SYNC, One, SYNC)
  7485. Store (SDMA (DMA0), SDT0)
  7486. If (LLess (DMA0, 0x1E))
  7487. {
  7488. Or (ICR3, One, ICR3)
  7489. }
  7490.  
  7491. If (LLess (DMA0, 0x3C))
  7492. {
  7493. Or (ICR0, One, ICR0)
  7494. }
  7495.  
  7496. If (And (W930, 0x2000))
  7497. {
  7498. Or (ICR1, One, ICR1)
  7499. }
  7500. }
  7501. }
  7502.  
  7503. If (LEqual (SizeOf (Arg2), 0x0200))
  7504. {
  7505. And (PRIT, 0xBF0F, PRIT)
  7506. Store (Zero, PSIT)
  7507. And (SYNC, One, SYNC)
  7508. Store (Zero, SDT1)
  7509. And (ICR0, One, ICR0)
  7510. And (ICR1, One, ICR1)
  7511. And (ICR3, One, ICR3)
  7512. And (ICR5, One, ICR5)
  7513. CreateWordField (Arg2, 0x62, W491)
  7514. CreateWordField (Arg2, 0x6A, W531)
  7515. CreateWordField (Arg2, 0x7E, W631)
  7516. CreateWordField (Arg2, 0x80, W641)
  7517. CreateWordField (Arg2, 0xB0, W881)
  7518. CreateWordField (Arg2, 0xBA, W931)
  7519. Or (PRIT, 0x8040, PRIT)
  7520. If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
  7521. {
  7522. Or (PRIT, 0x20, PRIT)
  7523. }
  7524.  
  7525. If (And (FLAG, 0x10))
  7526. {
  7527. Or (PRIT, 0x4000, PRIT)
  7528. If (LGreater (PIO1, 0xF0))
  7529. {
  7530. Or (PRIT, 0x80, PRIT)
  7531. }
  7532. Else
  7533. {
  7534. Or (PRIT, 0x10, PRIT)
  7535. Store (SETT (PIO1, W531, W641), PSIT)
  7536. }
  7537. }
  7538.  
  7539. If (And (FLAG, 0x04))
  7540. {
  7541. Or (SYNC, 0x02, SYNC)
  7542. Store (SDMA (DMA1), SDT1)
  7543. If (LLess (DMA1, 0x1E))
  7544. {
  7545. Or (ICR3, 0x02, ICR3)
  7546. }
  7547.  
  7548. If (LLess (DMA1, 0x3C))
  7549. {
  7550. Or (ICR0, 0x02, ICR0)
  7551. }
  7552.  
  7553. If (And (W931, 0x2000))
  7554. {
  7555. Or (ICR1, 0x02, ICR1)
  7556. }
  7557. }
  7558. }
  7559. }
  7560.  
  7561. Device (P_D0)
  7562. {
  7563. Name (_ADR, Zero)
  7564. Method (_GTF, 0, NotSerialized)
  7565. {
  7566. Name (PIB0, Buffer (0x0E)
  7567. {
  7568. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
  7569. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  7570. })
  7571. CreateByteField (PIB0, One, PMD0)
  7572. CreateByteField (PIB0, 0x08, DMD0)
  7573. If (And (PRIT, 0x02))
  7574. {
  7575. If (LEqual (And (PRIT, 0x09), 0x08))
  7576. {
  7577. Store (0x08, PMD0)
  7578. }
  7579. Else
  7580. {
  7581. Store (0x0A, PMD0)
  7582. ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
  7583. ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
  7584. Add (Local0, Local1, Local2)
  7585. If (LEqual (0x03, Local2))
  7586. {
  7587. Store (0x0B, PMD0)
  7588. }
  7589.  
  7590. If (LEqual (0x05, Local2))
  7591. {
  7592. Store (0x0C, PMD0)
  7593. }
  7594. }
  7595. }
  7596. Else
  7597. {
  7598. Store (One, PMD0)
  7599. }
  7600.  
  7601. If (And (SYNC, One))
  7602. {
  7603. Store (Or (SDT0, 0x40), DMD0)
  7604. If (And (ICR1, One))
  7605. {
  7606. If (And (ICR0, One))
  7607. {
  7608. Add (DMD0, 0x02, DMD0)
  7609. }
  7610.  
  7611. If (And (ICR3, One))
  7612. {
  7613. Store (0x45, DMD0)
  7614. }
  7615. }
  7616. }
  7617. Else
  7618. {
  7619. Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
  7620. }
  7621.  
  7622. Return (PIB0)
  7623. }
  7624. }
  7625.  
  7626. Device (P_D1)
  7627. {
  7628. Name (_ADR, One)
  7629. Method (_GTF, 0, NotSerialized)
  7630. {
  7631. Name (PIB1, Buffer (0x0E)
  7632. {
  7633. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
  7634. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
  7635. })
  7636. CreateByteField (PIB1, One, PMD1)
  7637. CreateByteField (PIB1, 0x08, DMD1)
  7638. If (And (PRIT, 0x20))
  7639. {
  7640. If (LEqual (And (PRIT, 0x90), 0x80))
  7641. {
  7642. Store (0x08, PMD1)
  7643. }
  7644. Else
  7645. {
  7646. Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
  7647. 0x02), Local0)
  7648. If (LEqual (0x05, Local0))
  7649. {
  7650. Store (0x0C, PMD1)
  7651. }
  7652. Else
  7653. {
  7654. If (LEqual (0x03, Local0))
  7655. {
  7656. Store (0x0B, PMD1)
  7657. }
  7658. Else
  7659. {
  7660. Store (0x0A, PMD1)
  7661. }
  7662. }
  7663. }
  7664. }
  7665. Else
  7666. {
  7667. Store (One, PMD1)
  7668. }
  7669.  
  7670. If (And (SYNC, 0x02))
  7671. {
  7672. Store (Or (SDT1, 0x40), DMD1)
  7673. If (And (ICR1, 0x02))
  7674. {
  7675. If (And (ICR0, 0x02))
  7676. {
  7677. Add (DMD1, 0x02, DMD1)
  7678. }
  7679.  
  7680. If (And (ICR3, 0x02))
  7681. {
  7682. Store (0x45, DMD1)
  7683. }
  7684. }
  7685. }
  7686. Else
  7687. {
  7688. Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
  7689. }
  7690.  
  7691. Return (PIB1)
  7692. }
  7693. }
  7694. }
  7695. }
  7696.  
  7697. Device (SATA)
  7698. {
  7699. Name (_ADR, 0x001F0002)
  7700. OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
  7701. Field (SACS, DWordAcc, NoLock, Preserve)
  7702. {
  7703. PRIT, 16,
  7704. SECT, 16,
  7705. PSIT, 4,
  7706. SSIT, 4,
  7707. Offset (0x08),
  7708. SYNC, 4,
  7709. Offset (0x0A),
  7710. SDT0, 2,
  7711. , 2,
  7712. SDT1, 2,
  7713. Offset (0x0B),
  7714. SDT2, 2,
  7715. , 2,
  7716. SDT3, 2,
  7717. Offset (0x14),
  7718. ICR0, 4,
  7719. ICR1, 4,
  7720. ICR2, 4,
  7721. ICR3, 4,
  7722. ICR4, 4,
  7723. ICR5, 4,
  7724. Offset (0x50),
  7725. MAPV, 2
  7726. }
  7727. }
  7728.  
  7729. Device (SBUS)
  7730. {
  7731. Name (_ADR, 0x001F0003)
  7732. OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
  7733. Field (SMBP, DWordAcc, NoLock, Preserve)
  7734. {
  7735. , 2,
  7736. I2CE, 1
  7737. }
  7738.  
  7739. OperationRegion (SMBI, SystemIO, 0x1C00, 0x10)
  7740. Field (SMBI, ByteAcc, NoLock, Preserve)
  7741. {
  7742. HSTS, 8,
  7743. Offset (0x02),
  7744. HCON, 8,
  7745. HCOM, 8,
  7746. TXSA, 8,
  7747. DAT0, 8,
  7748. DAT1, 8,
  7749. HBDR, 8,
  7750. PECR, 8,
  7751. RXSA, 8,
  7752. SDAT, 16
  7753. }
  7754.  
  7755. Method (SSXB, 2, Serialized)
  7756. {
  7757. If (STRT ())
  7758. {
  7759. Return (Zero)
  7760. }
  7761.  
  7762. Store (Zero, I2CE)
  7763. Store (0xBF, HSTS)
  7764. Store (Arg0, TXSA)
  7765. Store (Arg1, HCOM)
  7766. Store (0x48, HCON)
  7767. If (COMP ())
  7768. {
  7769. Or (HSTS, 0xFF, HSTS)
  7770. Return (One)
  7771. }
  7772.  
  7773. Return (Zero)
  7774. }
  7775.  
  7776. Method (SRXB, 1, Serialized)
  7777. {
  7778. If (STRT ())
  7779. {
  7780. Return (0xFFFF)
  7781. }
  7782.  
  7783. Store (Zero, I2CE)
  7784. Store (0xBF, HSTS)
  7785. Store (Or (Arg0, One), TXSA)
  7786. Store (0x44, HCON)
  7787. If (COMP ())
  7788. {
  7789. Or (HSTS, 0xFF, HSTS)
  7790. Return (DAT0)
  7791. }
  7792.  
  7793. Return (0xFFFF)
  7794. }
  7795.  
  7796. Method (SWRB, 3, Serialized)
  7797. {
  7798. If (STRT ())
  7799. {
  7800. Return (Zero)
  7801. }
  7802.  
  7803. Store (Zero, I2CE)
  7804. Store (0xBF, HSTS)
  7805. Store (Arg0, TXSA)
  7806. Store (Arg1, HCOM)
  7807. Store (Arg2, DAT0)
  7808. Store (0x48, HCON)
  7809. If (COMP ())
  7810. {
  7811. Or (HSTS, 0xFF, HSTS)
  7812. Return (One)
  7813. }
  7814.  
  7815. Return (Zero)
  7816. }
  7817.  
  7818. Method (SRDB, 2, Serialized)
  7819. {
  7820. If (STRT ())
  7821. {
  7822. Return (0xFFFF)
  7823. }
  7824.  
  7825. Store (Zero, I2CE)
  7826. Store (0xBF, HSTS)
  7827. Store (Or (Arg0, One), TXSA)
  7828. Store (Arg1, HCOM)
  7829. Store (0x48, HCON)
  7830. If (COMP ())
  7831. {
  7832. Or (HSTS, 0xFF, HSTS)
  7833. Return (DAT0)
  7834. }
  7835.  
  7836. Return (0xFFFF)
  7837. }
  7838.  
  7839. Method (SWRW, 3, Serialized)
  7840. {
  7841. If (STRT ())
  7842. {
  7843. Return (Zero)
  7844. }
  7845.  
  7846. Store (Zero, I2CE)
  7847. Store (0xBF, HSTS)
  7848. Store (Arg0, TXSA)
  7849. Store (Arg1, HCOM)
  7850. And (Arg2, 0xFF, DAT0)
  7851. And (ShiftRight (Arg2, 0x08), 0xFF, DAT1)
  7852. Store (0x4C, HCON)
  7853. If (COMP ())
  7854. {
  7855. Or (HSTS, 0xFF, HSTS)
  7856. Return (One)
  7857. }
  7858.  
  7859. Return (Zero)
  7860. }
  7861.  
  7862. Method (SRDW, 2, Serialized)
  7863. {
  7864. If (STRT ())
  7865. {
  7866. Return (0xFFFF)
  7867. }
  7868.  
  7869. Store (Zero, I2CE)
  7870. Store (0xBF, HSTS)
  7871. Store (Or (Arg0, One), TXSA)
  7872. Store (Arg1, HCOM)
  7873. Store (0x4C, HCON)
  7874. If (COMP ())
  7875. {
  7876. Or (HSTS, 0xFF, HSTS)
  7877. Return (Or (ShiftLeft (DAT1, 0x08), DAT0))
  7878. }
  7879.  
  7880. Return (0xFFFFFFFF)
  7881. }
  7882.  
  7883. Method (SBLW, 4, Serialized)
  7884. {
  7885. If (STRT ())
  7886. {
  7887. Return (Zero)
  7888. }
  7889.  
  7890. Store (Arg3, I2CE)
  7891. Store (0xBF, HSTS)
  7892. Store (Arg0, TXSA)
  7893. Store (Arg1, HCOM)
  7894. Store (SizeOf (Arg2), DAT0)
  7895. Store (Zero, Local1)
  7896. Store (DerefOf (Index (Arg2, Zero)), HBDR)
  7897. Store (0x54, HCON)
  7898. While (LGreater (SizeOf (Arg2), Local1))
  7899. {
  7900. Store (0x0FA0, Local0)
  7901. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  7902. {
  7903. Decrement (Local0)
  7904. Stall (0x32)
  7905. }
  7906.  
  7907. If (LNot (Local0))
  7908. {
  7909. KILL ()
  7910. Return (Zero)
  7911. }
  7912.  
  7913. Store (0x80, HSTS)
  7914. Increment (Local1)
  7915. If (LGreater (SizeOf (Arg2), Local1))
  7916. {
  7917. Store (DerefOf (Index (Arg2, Local1)), HBDR)
  7918. }
  7919. }
  7920.  
  7921. If (COMP ())
  7922. {
  7923. Or (HSTS, 0xFF, HSTS)
  7924. Return (One)
  7925. }
  7926.  
  7927. Return (Zero)
  7928. }
  7929.  
  7930. Method (SBLR, 3, Serialized)
  7931. {
  7932. Name (TBUF, Buffer (0x0100) {})
  7933. If (STRT ())
  7934. {
  7935. Return (Zero)
  7936. }
  7937.  
  7938. Store (Arg2, I2CE)
  7939. Store (0xBF, HSTS)
  7940. Store (Or (Arg0, One), TXSA)
  7941. Store (Arg1, HCOM)
  7942. Store (0x54, HCON)
  7943. Store (0x0FA0, Local0)
  7944. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  7945. {
  7946. Decrement (Local0)
  7947. Stall (0x32)
  7948. }
  7949.  
  7950. If (LNot (Local0))
  7951. {
  7952. KILL ()
  7953. Return (Zero)
  7954. }
  7955.  
  7956. Store (DAT0, Index (TBUF, Zero))
  7957. Store (0x80, HSTS)
  7958. Store (One, Local1)
  7959. While (LLess (Local1, DerefOf (Index (TBUF, Zero))))
  7960. {
  7961. Store (0x0FA0, Local0)
  7962. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  7963. {
  7964. Decrement (Local0)
  7965. Stall (0x32)
  7966. }
  7967.  
  7968. If (LNot (Local0))
  7969. {
  7970. KILL ()
  7971. Return (Zero)
  7972. }
  7973.  
  7974. Store (HBDR, Index (TBUF, Local1))
  7975. Store (0x80, HSTS)
  7976. Increment (Local1)
  7977. }
  7978.  
  7979. If (COMP ())
  7980. {
  7981. Or (HSTS, 0xFF, HSTS)
  7982. Return (TBUF)
  7983. }
  7984.  
  7985. Return (Zero)
  7986. }
  7987.  
  7988. Method (STRT, 0, Serialized)
  7989. {
  7990. Store (0xC8, Local0)
  7991. While (Local0)
  7992. {
  7993. If (And (HSTS, 0x40))
  7994. {
  7995. Decrement (Local0)
  7996. Sleep (One)
  7997. If (LEqual (Local0, Zero))
  7998. {
  7999. Return (One)
  8000. }
  8001. }
  8002. Else
  8003. {
  8004. Store (Zero, Local0)
  8005. }
  8006. }
  8007.  
  8008. Store (0x0FA0, Local0)
  8009. While (Local0)
  8010. {
  8011. If (And (HSTS, One))
  8012. {
  8013. Decrement (Local0)
  8014. Stall (0x32)
  8015. If (LEqual (Local0, Zero))
  8016. {
  8017. KILL ()
  8018. }
  8019. }
  8020. Else
  8021. {
  8022. Return (Zero)
  8023. }
  8024. }
  8025.  
  8026. Return (One)
  8027. }
  8028.  
  8029. Method (COMP, 0, Serialized)
  8030. {
  8031. Store (0x0FA0, Local0)
  8032. While (Local0)
  8033. {
  8034. If (And (HSTS, 0x02))
  8035. {
  8036. Return (One)
  8037. }
  8038. Else
  8039. {
  8040. Decrement (Local0)
  8041. Stall (0x32)
  8042. If (LEqual (Local0, Zero))
  8043. {
  8044. KILL ()
  8045. }
  8046. }
  8047. }
  8048.  
  8049. Return (Zero)
  8050. }
  8051.  
  8052. Method (KILL, 0, Serialized)
  8053. {
  8054. Or (HCON, 0x02, HCON)
  8055. Or (HSTS, 0xFF, HSTS)
  8056. }
  8057. }
  8058. }
  8059.  
  8060. Scope (PCI0.LPCB.EC0)
  8061. {
  8062. Field (ECR, ByteAcc, Lock, Preserve)
  8063. {
  8064. Offset (0x80),
  8065. , 2,
  8066. DOKD, 1,
  8067. Offset (0x9E),
  8068. , 6,
  8069. IUSE, 1
  8070. }
  8071.  
  8072. Name (UDRQ, Zero)
  8073. Name (DCKB, Zero)
  8074. Method (_Q5A, 0, NotSerialized)
  8075. {
  8076. If (ECOK)
  8077. {
  8078. Store (DOKD, Local0)
  8079. }
  8080. Else
  8081. {
  8082. If (And (PHSB (0xC0, 0x80), 0x04))
  8083. {
  8084. Store (One, Local0)
  8085. }
  8086. Else
  8087. {
  8088. Store (Zero, Local0)
  8089. }
  8090. }
  8091.  
  8092. ^^^GFX0.GDCK (Local0)
  8093. Notify (DOCK, Zero)
  8094. }
  8095.  
  8096. Method (_Q5B, 0, NotSerialized)
  8097. {
  8098. If (ECOK)
  8099. {
  8100. Store (DOKD, Local0)
  8101. }
  8102. Else
  8103. {
  8104. If (And (PHSB (0xC0, 0x80), 0x04))
  8105. {
  8106. Store (One, Local0)
  8107. }
  8108. Else
  8109. {
  8110. Store (Zero, Local0)
  8111. }
  8112. }
  8113.  
  8114. ^^^GFX0.GDCK (Local0)
  8115. If (LNot (UDRQ))
  8116. {
  8117. If (ECOK)
  8118. {
  8119. Store (Zero, IUSE)
  8120. }
  8121. Else
  8122. {
  8123. Store (PHSB (0xC0, 0x9E), Local0)
  8124. And (Local0, 0xFFFFFFBF, Local0)
  8125. PHSW (0xC1, 0x9E, Local0)
  8126. }
  8127.  
  8128. Notify (DOCK, Zero)
  8129. Notify (RP04, Zero)
  8130. Notify (PCI0, One)
  8131. }
  8132. Else
  8133. {
  8134. Store (Zero, UDRQ)
  8135. Signal (^^^^DOCK.UDCK)
  8136. }
  8137. }
  8138.  
  8139. Method (_Q5C, 0, NotSerialized)
  8140. {
  8141. If (ECOK)
  8142. {
  8143. Store (DOKD, Local0)
  8144. }
  8145. Else
  8146. {
  8147. And (PHSB (0xC0, 0x80), 0x04, Local0)
  8148. }
  8149.  
  8150. If (Local0)
  8151. {
  8152. Notify (DOCK, 0x03)
  8153. }
  8154. }
  8155. }
  8156.  
  8157. Device (DOCK)
  8158. {
  8159. Name (_HID, EisaId ("PNP0C15"))
  8160. Name (_UID, Zero)
  8161. Name (_BDN, 0xFFFFFFFF)
  8162. Method (_EJ0, 1, NotSerialized)
  8163. {
  8164. Store (One, ^^PCI0.LPCB.EC0.UDRQ)
  8165. Wait (UDCK, 0xFFFF)
  8166. Reset (UDCK)
  8167. Notify (^^PCI0.RP04, Zero)
  8168. }
  8169.  
  8170. Event (UDCK)
  8171. Method (_DCK, 1, NotSerialized)
  8172. {
  8173. If (Arg0)
  8174. {
  8175. If (LEqual (^^PCI0.LPCB.EC0.ECOK, Zero))
  8176. {
  8177. Store (PHSB (0xC0, 0x9E), Local0)
  8178. Or (Local0, 0x40, Local0)
  8179. PHSW (0xC1, 0x9E, Local0)
  8180. }
  8181. Else
  8182. {
  8183. Store (One, ^^PCI0.LPCB.EC0.IUSE)
  8184. }
  8185. }
  8186. Else
  8187. {
  8188. If (LEqual (^^PCI0.LPCB.EC0.ECOK, Zero))
  8189. {
  8190. Store (PHSB (0xC0, 0x9E), Local0)
  8191. And (Local0, 0xFFFFFFBF, Local0)
  8192. PHSW (0xC1, 0x9E, Local0)
  8193. }
  8194. Else
  8195. {
  8196. Store (Zero, ^^PCI0.LPCB.EC0.IUSE)
  8197. }
  8198. }
  8199.  
  8200. Return (One)
  8201. }
  8202.  
  8203. Method (_STA, 0, NotSerialized)
  8204. {
  8205. If (LEqual (^^PCI0.LPCB.EC0.ECOK, Zero))
  8206. {
  8207. And (PHSB (0xC0, 0x9E), 0x40, Local0)
  8208. ShiftRight (And (PHSB (0xC0, 0x80), 0x04), 0x02, Local1)
  8209. }
  8210. Else
  8211. {
  8212. Store (^^PCI0.LPCB.EC0.IUSE, Local0)
  8213. Store (^^PCI0.LPCB.EC0.DOKD, Local1)
  8214. }
  8215.  
  8216. Store (Local1, ^^PCI0.GFX0.CDCK)
  8217. If (Local0)
  8218. {
  8219. Return (0x0F)
  8220. }
  8221. Else
  8222. {
  8223. Return (Zero)
  8224. }
  8225. }
  8226.  
  8227. Method (DWS3, 0, NotSerialized)
  8228. {
  8229. If (^^PCI0.LPCB.EC0.ECOK)
  8230. {
  8231. Store (^^PCI0.LPCB.EC0.DOKD, Local0)
  8232. }
  8233. Else
  8234. {
  8235. And (PHSB (0xC0, 0x80), 0x04, Local0)
  8236. ShiftRight (Local0, 0x02, Local0)
  8237. }
  8238.  
  8239. If (LNotEqual (Local0, ^^PCI0.GFX0.CDCK))
  8240. {
  8241. ^^PCI0.GFX0.GDCK (Local0)
  8242. }
  8243.  
  8244. Store (Zero, ^^PCI0.LPCB.EC0.UDRQ)
  8245. If (^^PCI0.LPCB.EC0.DCKB)
  8246. {
  8247. If (Local0)
  8248. {
  8249. If (^^PCI0.LPCB.EC0.ECOK)
  8250. {
  8251. Store (One, ^^PCI0.LPCB.EC0.IUSE)
  8252. }
  8253. Else
  8254. {
  8255. Store (PHSB (0xC0, 0x9E), Local1)
  8256. Or (Local1, 0x40, Local1)
  8257. PHSW (0xC1, 0x9E, Local1)
  8258. }
  8259.  
  8260. If (LEqual (^^PCI0.LPCB.EC0.WUP1, 0x02))
  8261. {
  8262. Store (One, ^^PCI0.LPCB.EC0.UDRQ)
  8263. Notify (DOCK, 0x03)
  8264. }
  8265. }
  8266. Else
  8267. {
  8268. If (^^PCI0.LPCB.EC0.ECOK)
  8269. {
  8270. Store (Zero, ^^PCI0.LPCB.EC0.IUSE)
  8271. }
  8272. Else
  8273. {
  8274. Store (PHSB (0xC0, 0x9E), Local1)
  8275. And (Local1, 0xFFFFFFBF, Local1)
  8276. PHSW (0xC1, 0x9E, Local1)
  8277. }
  8278.  
  8279. Notify (DOCK, Zero)
  8280. Notify (^^PCI0.RP04, Zero)
  8281. Notify (PCI0, One)
  8282. }
  8283. }
  8284. Else
  8285. {
  8286. If (Local0)
  8287. {
  8288. If (^^PCI0.LPCB.EC0.ECOK)
  8289. {
  8290. Store (One, ^^PCI0.LPCB.EC0.IUSE)
  8291. }
  8292. Else
  8293. {
  8294. Store (PHSB (0xC0, 0x9E), Local1)
  8295. Or (Local1, 0x40, Local1)
  8296. PHSW (0xC1, 0x9E, Local1)
  8297. }
  8298.  
  8299. If (LEqual (^^PCI0.LPCB.EC0.WUP1, 0x02)) {}
  8300. Else
  8301. {
  8302. Notify (DOCK, Zero)
  8303. }
  8304. }
  8305. }
  8306. }
  8307.  
  8308. Method (DWS4, 0, NotSerialized)
  8309. {
  8310. If (^^PCI0.LPCB.EC0.ECOK)
  8311. {
  8312. Store (^^PCI0.LPCB.EC0.DOKD, Local0)
  8313. }
  8314. Else
  8315. {
  8316. And (PHSB (0xC0, 0x80), 0x04, Local0)
  8317. ShiftRight (Local0, 0x02, Local0)
  8318. }
  8319.  
  8320. If (LNotEqual (Local0, ^^PCI0.GFX0.CDCK))
  8321. {
  8322. ^^PCI0.GFX0.GDCK (Local0)
  8323. }
  8324.  
  8325. Store (Zero, ^^PCI0.LPCB.EC0.UDRQ)
  8326. If (^^PCI0.LPCB.EC0.DCKB)
  8327. {
  8328. If (Local0)
  8329. {
  8330. If (LEqual (^^PCI0.LPCB.EC0.WUP1, 0x02))
  8331. {
  8332. Store (One, ^^PCI0.LPCB.EC0.UDRQ)
  8333. Notify (DOCK, 0x03)
  8334. }
  8335. }
  8336. Else
  8337. {
  8338. Notify (DOCK, Zero)
  8339. Notify (^^PCI0.RP04, Zero)
  8340. Notify (PCI0, One)
  8341. }
  8342. }
  8343. Else
  8344. {
  8345. If (Local0)
  8346. {
  8347. If (LEqual (^^PCI0.LPCB.EC0.WUP1, 0x02)) {}
  8348. Else
  8349. {
  8350. Notify (DOCK, Zero)
  8351. }
  8352. }
  8353. }
  8354. }
  8355. }
  8356. }
  8357. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement