http://bugzilla.kernel.org/show_bug.cgi?id=7985





------- Comment #8 from [EMAIL PROTECTED]  2007-10-09 03:51 -------
PART TWO:


                OperationRegion (SIDE, SystemIO, 0x0376, 0x01)
                Field (SIDE, ByteAcc, NoLock, Preserve)
                {
                        ,   3, 
                    RMMM,   1, 
                        ,   3, 
                    SBSY,   1
                }
            }

            Device (IDE0)
            {
                Name (_ADR, 0x00110001)
                Name (PIOT, Package (0x05)
                {
                    0x0258, 
                    0x017C, 
                    0xF0, 
                    0xB4, 
                    0x78
                })
                Name (UDMT, Package (0x07)
                {
                    0x78, 
                    0x50, 
                    0x3C, 
                    0x2D, 
                    0x1E, 
                    0x14, 
                    0x0F
                })
                Method (CVDR, 3, NotSerialized)
                {
                    Name (GTFB, Buffer (0x0E)
                    {
                        0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x03, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                    })
                    CreateByteField (GTFB, 0x01, MDDM)
                    CreateByteField (GTFB, 0x05, DRDM)
                    CreateByteField (GTFB, 0x08, MDPI)
                    CreateByteField (GTFB, 0x0C, DRPI)
                    If (LNot (LEqual (Arg1, 0x0F)))
                    {
                        Or (Arg1, 0x40, MDDM)
                    }
                    Else
                    {
                        Store (Arg0, Local0)
                        Subtract (Local0, 0x02, Local0)
                        Or (Local0, 0x20, MDDM)
                    }

                    Store (Arg2, DRDM)
                    Or (Arg0, 0x08, MDPI)
                    Store (Arg2, DRPI)
                    Return (GTFB)
                }

                Method (SUDM, 3, NotSerialized)
                {
                    And (Arg2, 0x01, Local0)
                    If (Local0)
                    {
                        Store (0x04, Local0)
                    }
                    Else
                    {
                        Store (0x01, Local0)
                    }

                    And (Arg0, Local0, Local0)
                    If (Local0)
                    {
                        Store (Match (UDMT, MEQ, Arg1, MTR, 0x00, 0x00),
Local0)
                        If (LNot (LEqual (Local0, Ones)))
                        {
                            Store (Arg2, TRD0)
                            Store (Local0, TRD1)
                            ISMI (0x08)
                        }
                    }
                    Else
                    {
                        Store (Arg2, TRD0)
                        Store (0xFF, TRD1)
                        ISMI (0x08)
                    }
                }

                Method (GTMC, 4, NotSerialized)
                {
                    Name (BU00, Buffer (0x14)
                    {
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (BU00, 0x00, PIO0)
                    CreateDWordField (BU00, 0x04, DMA0)
                    CreateDWordField (BU00, 0x08, PIO1)
                    CreateDWordField (BU00, 0x0C, DMA1)
                    CreateDWordField (BU00, 0x10, FLAG)
                    Store (0x10, FLAG)
                    If (LNot (LEqual (Arg0, 0x0F)))
                    {
                        Store (DerefOf (Index (PIOT, Arg0)), PIO0)
                        Or (FLAG, 0x02, FLAG)
                    }

                    If (LNot (LEqual (Arg1, 0x0F)))
                    {
                        Store (DerefOf (Index (UDMT, Arg1)), DMA0)
                        Or (FLAG, 0x01, FLAG)
                    }
                    Else
                    {
                        Store (PIO0, DMA0)
                    }

                    If (LNot (LEqual (Arg2, 0x0F)))
                    {
                        Store (DerefOf (Index (PIOT, Arg2)), PIO1)
                        Or (FLAG, 0x08, FLAG)
                    }

                    If (LNot (LEqual (Arg3, 0x0F)))
                    {
                        Store (DerefOf (Index (UDMT, Arg3)), DMA1)
                        Or (FLAG, 0x04, FLAG)
                    }
                    Else
                    {
                        Store (PIO1, DMA1)
                    }

                    Return (BU00)
                }

                Device (CHN0)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTMC (HCPI, HCUD, HDPI, HDUD))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        SUDM (FLAG, DMA0, 0x00)
                        SUDM (FLAG, DMA1, 0x01)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.PBSY, 0x01), LEqual
(\_SB.HMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HCPI, HCUD, 0xA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.PBSY, 0x01), LEqual
(\_SB.HMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HDPI, HDUD, 0xB0))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, 0x01)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (GTMC (HEPI, HEUD, HFPI, HFUD))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        CreateDWordField (Arg0, 0x00, PIO0)
                        CreateDWordField (Arg0, 0x04, DMA0)
                        CreateDWordField (Arg0, 0x08, PIO1)
                        CreateDWordField (Arg0, 0x0C, DMA1)
                        CreateDWordField (Arg0, 0x10, FLAG)
                        SUDM (FLAG, DMA0, 0x02)
                        SUDM (FLAG, DMA1, 0x03)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.SBSY, 0x01), LEqual
(\_SB.RMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HEPI, HEUD, 0xA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            While (LOr (LEqual (\_SB.SBSY, 0x01), LEqual
(\_SB.RMMM, 0x01)))
                            {
                                Sleep (0x64)
                            }

                            Return (CVDR (HFPI, HFUD, 0xB0))
                        }
                    }
                }
            }

            Device (PX40)
            {
                Name (_ADR, 0x00110000)
                OperationRegion (SIRQ, PCI_Config, 0x44, 0x01)
                Field (SIRQ, ByteAcc, NoLock, Preserve)
                {
                    RSCI,   3
                }

                OperationRegion (USBE, PCI_Config, 0x50, 0x02)
                Field (USBE, ByteAcc, NoLock, Preserve)
                {
                    SAUD,   1, 
                    SU20,   1, 
                    UPT2,   1, 
                    SIDE,   1, 
                    UPT0,   1, 
                    UPT1,   1, 
                    FNC5,   1, 
                    FNC6,   1, 
                        ,   4, 
                    SLEN,   1
                }

                OperationRegion (PIRQ, PCI_Config, 0x55, 0x03)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                        ,   4, 
                    PIRA,   4, 
                    PIRB,   4, 
                    PIRC,   4, 
                        ,   4, 
                    PIRD,   4
                }

                Method (SPIC, 0, NotSerialized)
                {
                }

                Device (SBIO)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x04)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0xE400, 0xE400, 0x01, 0x80)
                            IO (Decode16, 0xE800, 0xE800, 0x01, 0x20)
                            Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
                            Memory32Fixed (ReadOnly, 0xFFB80000, 0x00080000)
                        })
                        Return (BUF1)
                    }
                }

                Device (SYS1)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x01)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
                            IO (Decode16, 0x0022, 0x0022, 0x00, 0x0C)
                            IO (Decode16, 0x0030, 0x0030, 0x00, 0x10)
                            IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
                            IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
                            IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
                            IO (Decode16, 0x0074, 0x0074, 0x00, 0x0C)
                            IO (Decode16, 0x0091, 0x0091, 0x00, 0x03)
                            IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
                            IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
                            IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
                        })
                        Return (BUF1)
                    }
                }

                Device (SYS3)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x10, Local0)
                        And (NPS2, 0x08, Local1)
                        If (LEqual (Local1, 0x08))
                        {
                            If (LEqual (Local0, 0x10))
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            And (FLG0, 0x04, Local1)
                            If (LEqual (Local1, 0x04))
                            {
                                Return (0x00)
                            }
                            Else
                            {
                                If (LEqual (Local0, 0x10))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (0x00)
                                }
                            }
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IRQ (Edge, ActiveHigh, Exclusive) {12}
                        })
                        Return (BUF1)
                    }
                }

                Device (PSMR)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x06)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x01, Local0)
                        And (NPS2, 0x08, Local1)
                        If (LEqual (Local0, Zero))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            If (LEqual (Local1, 0x00))
                            {
                                If (LEqual (SCMP (\_OS, "Microsoft Windows"),
Zero))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    If (LEqual (SCMP (\_OS, "Microsoft Windows
NT"), Zero))
                                    {
                                        Return (0x00)
                                    }
                                    Else
                                    {
                                        Return (0x0F)
                                    }
                                }
                            }
                            Else
                            {
                                Return (0x0F)
                            }
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                            IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        })
                        Return (BUF1)
                    }
                }

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
                        IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
                        IRQNoFlags () {2}
                    })
                }

                Device (DMA1)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        DMA (Compatibility, BusMaster, Transfer8) {4}
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
                        IO (Decode16, 0x0080, 0x0080, 0x01, 0x11)
                        IO (Decode16, 0x0094, 0x0094, 0x01, 0x0C)
                        IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
                    })
                }

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
                        IRQNoFlags () {0}
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0070, 0x0070, 0x01, 0x04)
                        IRQNoFlags () {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
                        IRQNoFlags () {13}
                    })
                }

                Device (FDC0)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x0A)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x0B)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
                            IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
                            IRQ (Edge, ActiveHigh, Exclusive) {6}
                            DMA (Compatibility, NotBusMaster, Transfer8) {2}
                        })
                        Return (BUF0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
                        IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
                        IRQ (Edge, ActiveHigh, Exclusive) {6}
                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x0E)
                        Release (PSMX)
                    }
                }

                Device (LPT)
                {
                    Name (_HID, EisaId ("PNP0400"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x0F)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x10)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {7}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x11)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0278, 0x0278, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03BC, 0x03BC, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x13)
                        Release (PSMX)
                    }
                }

                Device (ECP)
                {
                    Name (_HID, EisaId ("PNP0401"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x14)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x10)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IO (Decode16, 0x0778, 0x0778, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {7}
                            DMA (Compatibility, NotBusMaster, Transfer8) {1}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x16)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x00, 0x08)
                            IO (Decode16, 0x0778, 0x0778, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                            DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0278, 0x0278, 0x00, 0x08)
                            IO (Decode16, 0x0678, 0x0678, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                            DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03BC, 0x03BC, 0x00, 0x04)
                            IO (Decode16, 0x07BC, 0x07BC, 0x00, 0x04)
                            IRQ (Edge, ActiveHigh, Exclusive) {5,7}
                            DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,3}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x18)
                        Release (PSMX)
                    }
                }

                Device (UAR1)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x01)
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x19)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x1A)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x1B)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {10}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x1D)
                        Release (PSMX)
                    }
                }

                Device (UAR2)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x1E)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x1F)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x20)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {10}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x22)
                        Release (PSMX)
                    }
                }

                Device (IRDA)
                {
                    Name (_HID, EisaId ("PNP0510"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x23)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x24)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x25)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {3}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {4}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x00, 0x08)
                            IRQ (Edge, ActiveHigh, Exclusive) {10}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x27)
                        Release (PSMX)
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, 0x0B03D041)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x01, Local0)
                        If (LEqual (Local0, 0x01))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                            IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                            IRQ (Edge, ActiveHigh, Exclusive) {1}
                        })
                        Return (BUF0)
                    }
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F03"))
                    Name (_CID, 0x130FD041)
                    Method (_STA, 0, NotSerialized)
                    {
                        And (NPS2, 0x08, Local0)
                        If (LEqual (Local0, 0x08))
                        {
                            Return (0x00)
                        }

                        And (FLG0, 0x04, Local1)
                        If (LEqual (Local1, 0x04))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                            IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                            IRQ (Edge, ActiveHigh, Exclusive) {12}
                        })
                        Name (BUF2, ResourceTemplate ()
                        {
                            IRQ (Edge, ActiveHigh, Exclusive) {12}
                        })
                        And (NPS2, 0x01, Local0)
                        If (LEqual (Local0, 0x01))
                        {
                            If (LEqual (SCMP (\_OS, "Microsoft Windows"),
Zero))
                            {
                                Return (BUF2)
                            }
                            Else
                            {
                                If (LEqual (SCMP (\_OS, "Microsoft Windows
NT"), Zero))
                                {
                                    Return (BUF1)
                                }
                                Else
                                {
                                    Return (BUF2)
                                }
                            }
                        }
                        Else
                        {
                            Return (BUF2)
                        }
                    }
                }

                Device (MIDI)
                {
                    Name (_HID, EisaId ("PNPB006"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x28)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x29)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0300, 0x0300, 0x00, 0x02)
                            IRQ (Edge, ActiveHigh, Exclusive) {5}
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x2A)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0330, 0x0330, 0x00, 0x02)
                            IRQ (Edge, ActiveHigh, Exclusive) {3,4,5,7,10,12}
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0300, 0x0300, 0x00, 0x02)
                            IRQ (Edge, ActiveHigh, Exclusive) {3,4,5,7,10,12}
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x2C)
                        Release (PSMX)
                    }
                }

                Device (GAME)
                {
                    Name (_HID, EisaId ("PNPB02F"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x2D)
                        Store (INFO, Local0)
                        Release (PSMX)
                        CreateByteField (Local0, 0x00, FSTA)
                        Return (FSTA)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        ISMI (0x2E)
                        Release (PSMX)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0208, 0x0208, 0x00, 0x08)
                        })
                        Acquire (PSMX, 0xFFFF)
                        Store (BUF0, INFO)
                        ISMI (0x2F)
                        Store (INFO, Local0)
                        Release (PSMX)
                        Return (Local0)
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0208, 0x0208, 0x00, 0x08)
                        }
                        StartDependentFn (0x01, 0x01)
                        {
                            IO (Decode16, 0x0200, 0x0200, 0x00, 0x08)
                        }
                        EndDependentFn ()
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        Acquire (PSMX, 0xFFFF)
                        Store (Arg0, INFO)
                        ISMI (0x31)
                        Release (PSMX)
                    }
                }

                Device (SYS2)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x03)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, ResourceTemplate ()
                        {
                            IO (Decode16, 0x002E, 0x002E, 0x00, 0x02)
                            IO (Decode16, 0x0290, 0x0290, 0x00, 0x02)
                            IO (Decode16, 0x0370, 0x0370, 0x00, 0x03)
                        })
                        Return (BUF1)
                    }
                }
            }

            Device (USB0)
            {
                Name (_ADR, 0x00100000)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0E, 
                        0x04
                    })
                }
            }

            Device (USB1)
            {
                Name (_ADR, 0x00100001)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0E, 
                        0x04
                    })
                }
            }

            Device (USB2)
            {
                Name (_ADR, 0x00100002)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0E, 
                        0x04
                    })
                }
            }

            Device (SU20)
            {
                Name (_ADR, 0x00100003)
                OperationRegion (PIRQ, PCI_Config, 0x3C, 0x01)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    UIRQ,   4
                }

                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0E, 
                        0x04
                    })
                }
            }

            Device (AC97)
            {
                Name (_ADR, 0x00110005)
                OperationRegion (AIRQ, PCI_Config, 0x3C, 0x01)
                Field (AIRQ, ByteAcc, NoLock, Preserve)
                {
                    PIRF,   4
                }
            }

            Device (MC97)
            {
                Name (_ADR, 0x00110006)
                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }
            }

            Method (S_3D, 0, NotSerialized)
            {
                If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                {
                    Return (0x03)
                }

                If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                {
                    Return (0x03)
                }
                Else
                {
                    Return (0x02)
                }
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (Package (0x02)
                {
                    0x0B, 
                    0x04
                })
            }

            Device (LAN)
            {
                Name (_ADR, 0x00090000)
                Method (S_3D, 0, NotSerialized)
                {
                    If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
                    {
                        Return (0x03)
                    }

                    If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (0x02)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0B, 
                        0x04
                    })
                }
            }
        }
    }

    Scope (\_GPE)
    {
        Method (_L0E, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
            Notify (\_SB.PCI0.USB1, 0x02)
        }

        Method (_L0B, 0, NotSerialized)
        {
            Notify (\_SB.PCI0, 0x02)
        }

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.MC97, 0x02)
        }
    }
}


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to