Workstation, HP XW9300 Bios Version 2.09a, latest from HP Processors 2x opteron 885. Memory 4Gb Segmented PCI bus/PCI domains turned on in bios.
Having an issue with linux kernel > 2.6.26 not recognising devices behind PCI bus 1 and 2. From about kernel 2.6.24 to 2.6.26 everything worked ok but from 2.6.27 the kernel ignores the secondary bus devices. Devices behind the secondary buses include the SCSI controller and Video card. I hope I've included the required info below. dmesg extract from 2.6.26:- ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Transparent bridge - 0000:00:09.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB_._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXPA._PRT] ACPI: PCI Root Bridge [PCI1] (0001:40) ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.GLMA._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.GLMB._PRT] ACPI: PCI Root Bridge [PCI2] (0002:80) ACPI: PCI Interrupt Routing Table [\_SB_.PCI2.EXPA._PRT] dmesg extract from 2.6.28:- ACPI: PCI Root Bridge [PCI0] (0000:00) pci 0000:00:09.0: transparent bridge ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB_._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXPA._PRT] ACPI: PCI Root Bridge [PCI1] (0001:40) ACPI: PCI Root Bridge [PCI2] (0002:80) As you can see the pci routing information is missing for the secondary domains on the 2.6.28 output. I've tried every linux kernel point release from 2.6.27 onwards including mm kernels up to and including 2.6.29. As I said above the last time it worked was 2.6.26.8. Tried all manner of kernel boot options with >= 2.6.27 eg, pci=nomsi, nommconf, assign-busses etc.... to no avail. Looking at the DSDT table from bios version 2.09a, included below, it seems to be missing PRT information for the secondary buses. This is, as I understand from reading the ACPI docs, a required part of the ACPI specification and would appear to me to be incorrect. I believe the acpi code in the kernel changed circa 2.6.27 to ignore bridges with no PRT information which would seem to explain the problem. I was looking for someone with more knowledge than I to give any suggestions as to how to get around this. I think it would be possible to include a modified DSDT table in the kernel itself to override the one from the BIOS but I wouldn't know where to begin adding the required PRT information to the DSDT table. I've attached the decoded dsdt table to this message. I could, of course, be barking up the wrong tree. If any other information is required please let me know and I'll provide it. Thanks in advance
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20060912
*
* Disassembly of dsdt.aml, Sat Mar 28 01:02:23 2009
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000014AF (5295)
* Revision 0x01
* OEM ID "HP "
* OEM Table ID "DSDT"
* OEM Revision 0x00000001 (1)
* Creator ID "MSFT"
* Creator Revision 0x0100000E (16777230)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 1, "HP ", "DSDT", 0x00000001)
{
External (PSEG)
External (PMEN)
External (P32N)
Name (\PICM, Zero)
Method (\_PIC, 1, NotSerialized)
{
Store (Arg0, \PICM)
}
Scope (\_SB)
{
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, 0x07)
Name (_ADR, 0x00)
Name (_SEG, 0x00)
Name (_BBN, 0x00)
Name (_PRT, Package (0x0B)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.LSMB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.LSB0,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.LSB2,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.LMAC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.LACI,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.LIDE,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
\_SB.LIDE,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
\_SB.LIDE,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
\_SB.LIDE,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
\_SB.LSA0,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.LSA1,
0x00
}
})
Name (_PRW, Package (0x02)
{
0x00,
0x05
})
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
Device (NDE0)
{
Name (_ADR, 0x00180000)
OperationRegion (NDE0, PCI_Config, 0x00, 0xFF)
Field (NDE0, AnyAcc, NoLock, Preserve)
{
Offset (0x94),
L0PR, 8,
L0SE, 8,
L0SU, 8,
Offset (0xB4),
L1PR, 8,
L1SE, 8,
L1SU, 8,
Offset (0xB8),
L1TY, 8,
Offset (0xD4),
L2PR, 8,
L2SE, 8,
L2SU, 8
}
}
Device (NDE1)
{
Name (_ADR, 0x00190000)
OperationRegion (NDE1, PCI_Config, 0x00, 0xFF)
Field (NDE1, AnyAcc, NoLock, Preserve)
{
Offset (0x94),
L0PR, 8,
L0SE, 8,
L0SU, 8
}
}
Device (MEMC)
{
Name (_ADR, 0x00180001)
OperationRegion (MEMC, PCI_Config, 0x00, 0xFF)
Field (MEMC, AnyAcc, NoLock, Preserve)
{
Offset (0x80),
MMB1, 32,
MML1, 32,
MMB2, 32,
MML2, 32,
MMB3, 32,
MML3, 32,
MMB4, 32,
MML4, 32,
MMB5, 32,
MML5, 32,
MMB6, 32,
MML6, 32,
MMB7, 32,
MML7, 32,
MMB8, 32,
MML8, 32,
IOB1, 32,
IOL1, 32,
IOB2, 32,
IOL2, 32,
IOB3, 32,
IOL3, 32,
IOB4, 32,
IOL4, 32
}
}
Device (HUB)
{
Name (_ADR, 0x00090000)
Name (_PRW, Package (0x02)
{
0x00,
0x04
})
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
Device (SLO2)
{
Name (_ADR, 0x00040000)
Name (_SUN, 0x02)
Name (_PRW, Package (0x02)
{
0x10,
0x04
})
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Store (Zero, P32N)
}
Else
{
Store (One, PMEN)
Store (One, P32N)
}
}
}
}
Device (EXPA)
{
Name (_ADR, 0x000E0000)
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
}
Device (LPC)
{
Name (_ADR, 0x00010000)
OperationRegion (PIRQ, PCI_Config, 0x7C, 0x0C)
Field (PIRQ, ByteAcc, NoLock, Preserve)
{
PIRA, 4,
PIRB, 4,
PIRC, 4,
PIRD, 4,
, 4,
SSA1, 4,
SSA0, 4,
Offset (0x04),
PSCI, 4,
PTCO, 4,
PSMB, 4,
PSB2, 4,
, 4,
Offset (0x07),
PSA1, 4,
PSA0, 4,
PSB0, 4,
Offset (0x09),
PMAC, 4,
Offset (0x0A),
PACI, 4,
PMCI, 4,
PPID, 4,
PSID, 4
}
}
}
Device (PCI1)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, 0x08)
Name (_ADR, 0x00)
Method (_SEG, 0, NotSerialized)
{
If (LEqual (PSEG, 0x00))
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_BBN, 0, NotSerialized)
{
Return (\_SB.PCI0.NDE0.L2SE)
}
}
Device (PCI2)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, 0x09)
Name (_ADR, 0x00)
Method (_SEG, 0, NotSerialized)
{
If (LEqual (PSEG, 0x00))
{
Return (0x02)
}
Else
{
Return (0x00)
}
}
Method (_BBN, 0, NotSerialized)
{
Store (\_SB.PCI0.NDE0.L1TY, Local0)
And (Local0, 0x07, Local1)
If (LEqual (Local1, 0x07))
{
Return (\_SB.PCI0.NDE0.L1SE)
}
And (Local0, 0x01, Local1)
If (LEqual (Local1, 0x01))
{
Return (\_SB.PCI0.NDE1.L0SE)
}
Else
{
Return (0xFF)
}
}
Device (LPC)
{
Name (_ADR, 0x00010000)
OperationRegion (PIRQ, PCI_Config, 0x7C, 0x0C)
Field (PIRQ, ByteAcc, NoLock, Preserve)
{
PIRW, 4,
PIRX, 4,
PIRY, 4,
PIRZ, 4
}
}
Device (EXPA)
{
Name (_ADR, 0x000E0000)
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
}
}
Method (CRS, 2, Serialized)
{
Name (CRES, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y00)
{
0x00000007,
}
})
CreateWordField (CRES, \_SB.CRS._Y00._INT, IRQW)
Store (Arg0, IRQW)
CreateField (CRES, \_SB.CRS._Y00._LL, 0x01, IRQA)
If (LNotEqual (\PICM, Zero))
{
Store (Zero, IRQA)
}
If (LEqual (Arg1, 0x04))
{
If (LEqual (Arg0, 0x08))
{
Store (0x10, IRQW)
}
Else
{
If (LEqual (Arg0, 0x01))
{
Store (0x11, IRQW)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (0x12, IRQW)
}
Else
{
If (LEqual (Arg0, 0x0D))
{
Store (0x13, IRQW)
}
}
}
}
}
Else
{
If (LEqual (Arg0, 0x08))
{
Store (0x14, IRQW)
}
Else
{
If (LEqual (Arg0, 0x0D))
{
Store (0x15, IRQW)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (0x16, IRQW)
}
Else
{
If (LEqual (Arg0, 0x01))
{
Store (0x17, IRQW)
}
}
}
}
}
Return (CRES)
}
Method (PRS, 1, Serialized)
{
If (LEqual (\PICM, Zero))
{
Name (PRSP, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000003,
0x00000004,
0x00000005,
0x00000006,
0x00000007,
0x0000000A,
0x0000000B,
0x0000000C,
}
})
Return (PRSP)
}
Else
{
If (LEqual (Arg0, 0x04))
{
Name (PRS4, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared,
,, )
{
0x00000010,
0x00000011,
0x00000012,
0x00000013,
}
})
Return (PRS4)
}
Else
{
Name (PRS3, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared,
,, )
{
0x00000014,
0x00000015,
0x00000016,
0x00000017,
}
})
Return (PRS3)
}
}
}
Name (IITX, Buffer (0x08)
{
/* 0000 */ 0x08, 0x01, 0x02, 0x0D, 0x08, 0x0D, 0x02, 0x01
})
Method (SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x05, IRQW)
Store (IRQW, Local0)
If (LNotEqual (\PICM, Zero))
{
Subtract (Local0, 0x10, Local0)
CreateByteField (\_SB.IITX, Local0, ITXP)
Store (ITXP, Local0)
}
Return (Local0)
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PIRA)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PIRA)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x04))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PIRA, 0x04))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PIRB)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PIRB)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x04))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PIRB, 0x04))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PIRC)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PIRC)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x04))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PIRC, 0x04))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PIRD)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PIRD)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x04))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PIRD, 0x04))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PIRD)
}
}
Device (LNKW)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI2.LPC.PIRW)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI2.LPC.PIRW)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000030,
}
})
}
Method (_CRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000030,
}
})
}
Method (_SRS, 1, NotSerialized)
{
Store (0x08, \_SB.PCI2.LPC.PIRW)
}
}
Device (LNKX)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI2.LPC.PIRX)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI2.LPC.PIRX)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000031,
}
})
}
Method (_CRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000031,
}
})
}
Method (_SRS, 1, NotSerialized)
{
Store (0x01, \_SB.PCI2.LPC.PIRX)
}
}
Device (LNKY)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI2.LPC.PIRY)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI2.LPC.PIRY)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000032,
}
})
}
Method (_CRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000032,
}
})
}
Method (_SRS, 1, NotSerialized)
{
Store (0x02, \_SB.PCI2.LPC.PIRY)
}
}
Device (LNKZ)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI2.LPC.PIRZ)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI2.LPC.PIRZ)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000033,
}
})
}
Method (_CRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000033,
}
})
}
Method (_SRS, 1, NotSerialized)
{
Store (0x0D, \_SB.PCI2.LPC.PIRZ)
}
}
Device (LSMB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x09)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PSMB)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PSMB)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PSMB, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PSMB)
}
}
Device (LSB0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0A)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PSB0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PSB0)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PSB0, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PSB0)
}
}
Device (LSB2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0B)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PSB2)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PSB2)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PSB2, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PSB2)
}
}
Device (LMAC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0C)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PMAC)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PMAC)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PMAC, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PMAC)
}
}
Device (LACI)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0D)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PACI)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PACI)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PACI, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PACI)
}
}
Device (LMCI)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0E)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PMCI)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PMCI)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PMCI, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PMCI)
}
}
Device (LIDE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0F)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PPID)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PPID)
Store (Zero, \_SB.PCI0.LPC.PSID)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PPID, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PPID)
Store (\_SB.PCI0.LPC.PPID, \_SB.PCI0.LPC.PSID)
}
}
Device (LSA0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x10)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PSA0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PSA0)
Store (Zero, \_SB.PCI0.LPC.SSA0)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PSA0, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PSA0)
Store (\_SB.PCI0.LPC.PSA0, \_SB.PCI0.LPC.SSA0)
}
}
Device (LSA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x11)
Method (_STA, 0, NotSerialized)
{
If (\_SB.PCI0.LPC.PSA1)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.LPC.PSA1)
Store (Zero, \_SB.PCI0.LPC.SSA1)
}
Method (_PRS, 0, NotSerialized)
{
Return (\_SB.PRS (0x03))
}
Method (_CRS, 0, NotSerialized)
{
Return (\_SB.CRS (\_SB.PCI0.LPC.PSA1, 0x03))
}
Method (_SRS, 1, NotSerialized)
{
Store (\_SB.SRS (Arg0), \_SB.PCI0.LPC.PSA1)
Store (\_SB.PCI0.LPC.PSA1, \_SB.PCI0.LPC.SSA1)
}
}
Scope (\_SB.PCI0)
{
Device (USB0)
{
Name (_ADR, 0x00020000)
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
}
Device (USB2)
{
Name (_ADR, 0x00020001)
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
}
Device (MAC0)
{
Name (_ADR, 0x000A0000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S5D, 0, NotSerialized)
{
Return (0x03)
}
}
Device (IDE)
{
Name (_ADR, 0x00060000)
Method (PBLK, 1, NotSerialized)
{
Return (Add (Arg0, 0x01F0))
}
Method (SBLK, 1, NotSerialized)
{
Return (Add (Arg0, 0x0170))
}
Method (PCNL, 0, NotSerialized)
{
Return (0x03F6)
}
Method (SCNL, 0, NotSerialized)
{
Return (0x0376)
}
}
}
}
}
_______________________________________________ Discuss mailing list [email protected] http://mail.lesswatts.org/mailman/listinfo/discuss
