public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Oliver Schinagl <oliver@schinagl.nl>
To: linux-acpi@vger.kernel.org
Subject: Re: [Bug 42502] PROBLEM: USB 1.1 (and up) not working on AMD R900 Series chipset
Date: Mon, 28 Nov 2011 21:45:11 +0100	[thread overview]
Message-ID: <4ED3F2D7.2020504@schinagl.nl> (raw)
In-Reply-To: <4E9E916A.4050007@schinagl.nl>

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

Replying to my own thread once more.

I've taken the time to fix the DSDT and removed all warnings and errors.
But even with this override, USB does not work at all. Unfortunately I
was not able to boot the same kernel as previous times so I booted my
own 3.1.1 gentoo kernel. Find attached the output of my dmesg using the
custom dsdt, the diff to my dsdt (would love some comments if the fixes
I googled ;) are reasonably porper.

Thanks for any pointers on what to try next.

Oliver

P.S. i bziped tmy dmesg as this message was 101kb and not allowed on the
list. Don't think it mentions anything much interesting new though :(

[-- Attachment #2: dsdt_Asus_M5A97.diff --]
[-- Type: text/x-patch, Size: 32453 bytes --]

--- dsdt.dsl	2011-11-28 00:00:45.470292170 +0100
+++ dsdt_M5A97.dsl	2011-11-27 23:58:04.724297733 +0100
@@ -3,7 +3,7 @@
  * AML Disassembler version 20110922-64 [Nov 27 2011]
  * Copyright (c) 2000 - 2011 Intel Corporation
  * 
- * Disassembly of dsdt.dat, Mon Nov 28 00:00:45 2011
+ * Disassembly of dsdt_m5.dat, Sun Nov 27 22:47:37 2011
  *
  * Original Table Header:
  *     Signature        "DSDT"
@@ -17,7 +17,7 @@
  *     Compiler Version 0x20051117 (537202967)
  */
 
-DefinitionBlock ("dsdt.aml", "DSDT", 2, "ALASKA", "A M I", 0x00000000)
+DefinitionBlock ("dsdt_m5.aml", "DSDT", 2, "ALASKA", "A M I", 0x00000000)
 {
     Name (SP1O, 0x2E)
     Name (IO1B, 0x0290)
@@ -2277,7 +2277,7 @@
                     0x02000000,         // Range Minimum
                     0xFFDFFFFF,         // Range Maximum
                     0x00000000,         // Translation Offset
-                    0xFDFC0000,         // Length
+                    0xFDE00000,         // Length
                     ,, _Y04, AddressRangeMemory, TypeStatic)
                 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                     0x0000000000000000, // Granularity
@@ -2391,15 +2391,15 @@
                     Add (MIN3, Decrement (Local0), MAX3)
                     If (LOr (MALH, MALL))
                     {
-                        CreateDWordField (CRS1, \_SB.PCI0._Y05._MIN, MN8L)
+                        CreateQWordField (CRS1, \_SB.PCI0._Y05._MIN, MN8L)
                         Add (0xB4, 0x04, Local0)
                         CreateDWordField (CRS1, Local0, MN8H)
                         Store (MABL, MN8L)
                         Store (MABH, MN8H)
-                        CreateDWordField (CRS1, \_SB.PCI0._Y05._MAX, MX8L)
+                        CreateQWordField (CRS1, \_SB.PCI0._Y05._MAX, MX8L)
                         Add (0xBC, 0x04, Local1)
                         CreateDWordField (CRS1, Local1, MX8H)
-                        CreateDWordField (CRS1, \_SB.PCI0._Y05._LEN, LN8L)
+                        CreateQWordField (CRS1, \_SB.PCI0._Y05._LEN, LN8L)
                         Add (0xCC, 0x04, Local2)
                         CreateDWordField (CRS1, Local2, LN8H)
                         Store (MABL, MN8L)
@@ -2453,13 +2453,13 @@
                     Add (MIN5, Decrement (Local1), MAX5)
                     If (LOr (MALH, MALL))
                     {
-                        CreateDWordField (CRS2, \_SB.PCI0._Y0B._MIN, MN9L)
+                        CreateQWordField (CRS2, \_SB.PCI0._Y0B._MIN, MN9L)
                         Add (0x72, 0x04, Local0)
                         CreateDWordField (CRS2, Local0, MN9H)
-                        CreateDWordField (CRS2, \_SB.PCI0._Y0B._MAX, MX9L)
+                        CreateQWordField (CRS2, \_SB.PCI0._Y0B._MAX, MX9L)
                         Add (0x7A, 0x04, Local1)
                         CreateDWordField (CRS2, Local1, MX9H)
-                        CreateDWordField (CRS2, \_SB.PCI0._Y0B._LEN, LN9L)
+                        CreateQWordField (CRS2, \_SB.PCI0._Y0B._LEN, LN9L)
                         Add (0x8A, 0x04, Local2)
                         CreateDWordField (CRS2, Local2, LN9H)
                         Store (MABL, MN9L)
@@ -3549,7 +3549,7 @@
                     Mutex (MUT0, 0x00)
                     Method (ENFG, 1, NotSerialized)
                     {
-                        Acquire (MUT0, 0x0FFF)
+                        Acquire (MUT0, 0x0FFFF)
                         Store (0x87, INDX)
                         Store (One, INDX)
                         Store (0x55, INDX)
@@ -3743,7 +3743,7 @@
                             {}
                     })
                     CreateWordField (CRS4, \_SB.PCI0.SBRG.SIO1._Y1F._INT, IRQL)
-                    CreateByteField (CRS4, \_SB.PCI0.SBRG.SIO1._Y1F._HE, IRQS)
+                    CreateBitField (CRS4, \_SB.PCI0.SBRG.SIO1._Y1F._HE, IRQS)
                     CreateWordField (CRS4, \_SB.PCI0.SBRG.SIO1._Y20._MIN, IOHL)
                     CreateWordField (CRS4, \_SB.PCI0.SBRG.SIO1._Y20._MAX, IORL)
                     CreateByteField (CRS4, \_SB.PCI0.SBRG.SIO1._Y20._ALN, ALMN)
@@ -6467,57 +6467,57 @@
             Method (WMBC, 3, NotSerialized)
             {
                 Store (One, Local0)
-                Name (_T_0, Zero)
-                Store (Arg1, _T_0)
-                If (LEqual (_T_0, 0x43455053))
+                Name (T_0, Zero)
+                Store (Arg1, T_0)
+                If (LEqual (T_0, 0x43455053))
                 {
                     Return (SPEC (Arg2))
                 }
                 Else
                 {
-                    If (LEqual (_T_0, 0x50564544))
+                    If (LEqual (T_0, 0x50564544))
                     {
                         Return (DEVP (Arg2))
                     }
                     Else
                     {
-                        If (LEqual (_T_0, 0x50534453))
+                        If (LEqual (T_0, 0x50534453))
                         {
                             Return (SDSP (Arg2))
                         }
                         Else
                         {
-                            If (LEqual (_T_0, 0x50534447))
+                            If (LEqual (T_0, 0x50534447))
                             {
                                 Return (GDSP (Arg2))
                             }
                             Else
                             {
-                                If (LEqual (_T_0, 0x53564544))
+                                If (LEqual (T_0, 0x53564544))
                                 {
                                     Return (DEVS (Arg2))
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_0, 0x53544344))
+                                    If (LEqual (T_0, 0x53544344))
                                     {
                                         Return (DSTS (Arg2))
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_0, 0x44495047))
+                                        If (LEqual (T_0, 0x44495047))
                                         {
                                             Return (GPID ())
                                         }
                                         Else
                                         {
-                                            If (LEqual (_T_0, 0x5446424B))
+                                            If (LEqual (T_0, 0x5446424B))
                                             {
                                                 Return (KBFT (Arg2))
                                             }
                                             Else
                                             {
-                                                If (LEqual (_T_0, 0x59454B48))
+                                                If (LEqual (T_0, 0x59454B48))
                                                 {
                                                     Return (HKEY ())
                                                 }
@@ -6570,39 +6570,39 @@
             Method (WMBD, 3, NotSerialized)
             {
                 Store (One, Local0)
-                Name (_T_0, Zero)
-                Store (Arg1, _T_0)
-                If (LEqual (_T_0, 0x424D5352))
+                Name (T_0, Zero)
+                Store (Arg1, T_0)
+                If (LEqual (T_0, 0x424D5352))
                 {
                     Return (RSMB (Arg2))
                 }
                 Else
                 {
-                    If (LEqual (_T_0, 0x424D5357))
+                    If (LEqual (T_0, 0x424D5357))
                     {
                         Return (WSMB (Arg2))
                     }
                     Else
                     {
-                        If (LEqual (_T_0, 0x574D5352))
+                        If (LEqual (T_0, 0x574D5352))
                         {
                             Return (RSMW (Arg2))
                         }
                         Else
                         {
-                            If (LEqual (_T_0, 0x574D5357))
+                            If (LEqual (T_0, 0x574D5357))
                             {
                                 Return (WSMW (Arg2))
                             }
                             Else
                             {
-                                If (LEqual (_T_0, 0x4B4D5352))
+                                If (LEqual (T_0, 0x4B4D5352))
                                 {
                                     Return (RSMK (Arg2))
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_0, 0x4B4D5357))
+                                    If (LEqual (T_0, 0x4B4D5357))
                                     {
                                         Return (WSMK (Arg2))
                                     }
@@ -6974,123 +6974,123 @@
                 CreateDWordField (Arg0, 0x04, PARA)
                 If (LEqual (PARA, One))
                 {
-                    Name (_T_0, Zero)
-                    Store (DVID, _T_0)
-                    If (LEqual (_T_0, 0x00010011))
+                    Name (T_0, Zero)
+                    Store (DVID, T_0)
+                    If (LEqual (T_0, 0x00010011))
                     {
                         Or (\_SB.DSAF, One, \_SB.DSAF)
                     }
                     Else
                     {
-                        If (LEqual (_T_0, 0x00010013))
+                        If (LEqual (T_0, 0x00010013))
                         {
                             Or (\_SB.DSAF, 0x02, \_SB.DSAF)
                         }
                         Else
                         {
-                            If (LEqual (_T_0, 0x00010023))
+                            If (LEqual (T_0, 0x00010023))
                             {
                                 Or (\_SB.DSAF, 0x04, \_SB.DSAF)
                             }
                             Else
                             {
-                                If (LEqual (_T_0, 0x00060013))
+                                If (LEqual (T_0, 0x00060013))
                                 {
                                     Or (\_SB.DSAF, 0x08, \_SB.DSAF)
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_0, 0x00060015))
+                                    If (LEqual (T_0, 0x00060015))
                                     {
                                         Or (\_SB.DSAF, 0x10, \_SB.DSAF)
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_0, 0x00010015))
+                                        If (LEqual (T_0, 0x00010015))
                                         {
                                             Or (\_SB.DSAF, 0x20, \_SB.DSAF)
                                         }
                                         Else
                                         {
-                                            If (LEqual (_T_0, 0x00090011))
+                                            If (LEqual (T_0, 0x00090011))
                                             {
                                                 Or (\_SB.DSAF, 0x40, \_SB.DSAF)
                                             }
                                             Else
                                             {
-                                                If (LEqual (_T_0, 0x00070011))
+                                                If (LEqual (T_0, 0x00070011))
                                                 {
                                                     Or (\_SB.DSAF, 0x80, \_SB.DSAF)
                                                 }
                                                 Else
                                                 {
-                                                    If (LEqual (_T_0, 0x00080013))
+                                                    If (LEqual (T_0, 0x00080013))
                                                     {
                                                         Or (\_SB.DSAF, 0x0100, \_SB.DSAF)
                                                     }
                                                     Else
                                                     {
-                                                        If (LEqual (_T_0, 0x00010019))
+                                                        If (LEqual (T_0, 0x00010019))
                                                         {
                                                             Or (\_SB.DSAF, 0x0200, \_SB.DSAF)
                                                         }
                                                         Else
                                                         {
-                                                            If (LEqual (_T_0, 0x00010017))
+                                                            If (LEqual (T_0, 0x00010017))
                                                             {
                                                                 Or (\_SB.DSAF, 0x0400, \_SB.DSAF)
                                                             }
                                                             Else
                                                             {
-                                                                If (LEqual (_T_0, 0x00050011))
+                                                                If (LEqual (T_0, 0x00050011))
                                                                 {
                                                                     Or (\_SB.DSAF, 0x0800, \_SB.DSAF)
                                                                 }
                                                                 Else
                                                                 {
-                                                                    If (LEqual (_T_0, 0x00050012))
+                                                                    If (LEqual (T_0, 0x00050012))
                                                                     {
                                                                         Or (\_SB.DSAF, 0x1000, \_SB.DSAF)
                                                                     }
                                                                     Else
                                                                     {
-                                                                        If (LEqual (_T_0, 0x00060017))
+                                                                        If (LEqual (T_0, 0x00060017))
                                                                         {
                                                                             Or (\_SB.DSAF, 0x2000, \_SB.DSAF)
                                                                         }
                                                                         Else
                                                                         {
-                                                                            If (LEqual (_T_0, 0x00080021))
+                                                                            If (LEqual (T_0, 0x00080021))
                                                                             {
                                                                                 Or (\_SB.DSAF, 0x4000, \_SB.DSAF)
                                                                             }
                                                                             Else
                                                                             {
-                                                                                If (LEqual (_T_0, 0x00100011))
+                                                                                If (LEqual (T_0, 0x00100011))
                                                                                 {
                                                                                     Or (\_SB.DSAF, 0x8000, \_SB.DSAF)
                                                                                 }
                                                                                 Else
                                                                                 {
-                                                                                    If (LEqual (_T_0, 0x00050001))
+                                                                                    If (LEqual (T_0, 0x00050001))
                                                                                     {
                                                                                         Or (\_SB.DSAF, 0x00010000, \_SB.DSAF)
                                                                                     }
                                                                                     Else
                                                                                     {
-                                                                                        If (LEqual (_T_0, 0x00120000))
+                                                                                        If (LEqual (T_0, 0x00120000))
                                                                                         {
                                                                                             Or (\_SB.DSAF, 0x00020000, \_SB.DSAF)
                                                                                         }
                                                                                         Else
                                                                                         {
-                                                                                            If (LEqual (_T_0, 0x00120021))
+                                                                                            If (LEqual (T_0, 0x00120021))
                                                                                             {
                                                                                                 Or (\_SB.DSAF, 0x00040000, \_SB.DSAF)
                                                                                             }
                                                                                             Else
                                                                                             {
-                                                                                                If (LEqual (_T_0, 0x00120011))
+                                                                                                If (LEqual (T_0, 0x00120011))
                                                                                                 {
                                                                                                     Or (\_SB.DSAF, 0x00080000, \_SB.DSAF)
                                                                                                 }
@@ -7122,123 +7122,123 @@
                 {
                     If (LEqual (PARA, Zero))
                     {
-                        Name (_T_1, Zero)
-                        Store (DVID, _T_1)
-                        If (LEqual (_T_1, 0x00010011))
+                        Name (T_1, Zero)
+                        Store (DVID, T_1)
+                        If (LEqual (T_1, 0x00010011))
                         {
                             And (\_SB.DSAF, 0xFFFFFFFFFFFFFFFE, \_SB.DSAF)
                         }
                         Else
                         {
-                            If (LEqual (_T_1, 0x00010013))
+                            If (LEqual (T_1, 0x00010013))
                             {
                                 And (\_SB.DSAF, 0xFFFFFFFFFFFFFFFD, \_SB.DSAF)
                             }
                             Else
                             {
-                                If (LEqual (_T_1, 0x00010023))
+                                If (LEqual (T_1, 0x00010023))
                                 {
                                     And (\_SB.DSAF, 0xFFFFFFFFFFFFFFFB, \_SB.DSAF)
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_1, 0x00060013))
+                                    If (LEqual (T_1, 0x00060013))
                                     {
                                         And (\_SB.DSAF, 0xFFFFFFFFFFFFFFF7, \_SB.DSAF)
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_1, 0x00060015))
+                                        If (LEqual (T_1, 0x00060015))
                                         {
                                             And (\_SB.DSAF, 0xFFFFFFFFFFFFFFEF, \_SB.DSAF)
                                         }
                                         Else
                                         {
-                                            If (LEqual (_T_1, 0x00010015))
+                                            If (LEqual (T_1, 0x00010015))
                                             {
                                                 And (\_SB.DSAF, 0xFFFFFFFFFFFFFFDF, \_SB.DSAF)
                                             }
                                             Else
                                             {
-                                                If (LEqual (_T_1, 0x00090011))
+                                                If (LEqual (T_1, 0x00090011))
                                                 {
                                                     And (\_SB.DSAF, 0xFFFFFFFFFFFFFFBF, \_SB.DSAF)
                                                 }
                                                 Else
                                                 {
-                                                    If (LEqual (_T_1, 0x00070011))
+                                                    If (LEqual (T_1, 0x00070011))
                                                     {
                                                         And (\_SB.DSAF, 0xFFFFFFFFFFFFFF7F, \_SB.DSAF)
                                                     }
                                                     Else
                                                     {
-                                                        If (LEqual (_T_1, 0x00080013))
+                                                        If (LEqual (T_1, 0x00080013))
                                                         {
                                                             And (\_SB.DSAF, 0xFFFFFFFFFFFFFEFF, \_SB.DSAF)
                                                         }
                                                         Else
                                                         {
-                                                            If (LEqual (_T_1, 0x00010019))
+                                                            If (LEqual (T_1, 0x00010019))
                                                             {
                                                                 And (\_SB.DSAF, 0xFFFFFFFFFFFFFDFF, \_SB.DSAF)
                                                             }
                                                             Else
                                                             {
-                                                                If (LEqual (_T_1, 0x00010017))
+                                                                If (LEqual (T_1, 0x00010017))
                                                                 {
                                                                     And (\_SB.DSAF, 0xFFFFFFFFFFFFFBFF, \_SB.DSAF)
                                                                 }
                                                                 Else
                                                                 {
-                                                                    If (LEqual (_T_1, 0x00050011))
+                                                                    If (LEqual (T_1, 0x00050011))
                                                                     {
                                                                         And (\_SB.DSAF, 0xFFFFFFFFFFFFF7FF, \_SB.DSAF)
                                                                     }
                                                                     Else
                                                                     {
-                                                                        If (LEqual (_T_1, 0x00050012))
+                                                                        If (LEqual (T_1, 0x00050012))
                                                                         {
                                                                             And (\_SB.DSAF, 0xFFFFFFFFFFFFEFFF, \_SB.DSAF)
                                                                         }
                                                                         Else
                                                                         {
-                                                                            If (LEqual (_T_1, 0x00060017))
+                                                                            If (LEqual (T_1, 0x00060017))
                                                                             {
                                                                                 And (\_SB.DSAF, 0xFFFFFFFFFFFFDFFF, \_SB.DSAF)
                                                                             }
                                                                             Else
                                                                             {
-                                                                                If (LEqual (_T_1, 0x00080021))
+                                                                                If (LEqual (T_1, 0x00080021))
                                                                                 {
                                                                                     And (\_SB.DSAF, 0xFFFFFFFFFFFFBFFF, \_SB.DSAF)
                                                                                 }
                                                                                 Else
                                                                                 {
-                                                                                    If (LEqual (_T_1, 0x00100011))
+                                                                                    If (LEqual (T_1, 0x00100011))
                                                                                     {
                                                                                         And (\_SB.DSAF, 0xFFFFFFFFFFFF7FFF, \_SB.DSAF)
                                                                                     }
                                                                                     Else
                                                                                     {
-                                                                                        If (LEqual (_T_1, 0x00050001))
+                                                                                        If (LEqual (T_1, 0x00050001))
                                                                                         {
                                                                                             And (\_SB.DSAF, 0xFFFFFFFFFFFEFFFF, \_SB.DSAF)
                                                                                         }
                                                                                         Else
                                                                                         {
-                                                                                            If (LEqual (_T_1, 0x00120000))
+                                                                                            If (LEqual (T_1, 0x00120000))
                                                                                             {
                                                                                                 And (\_SB.DSAF, 0xFFFFFFFFFFFDFFFF, \_SB.DSAF)
                                                                                             }
                                                                                             Else
                                                                                             {
-                                                                                                If (LEqual (_T_1, 0x00120021))
+                                                                                                If (LEqual (T_1, 0x00120021))
                                                                                                 {
                                                                                                     And (\_SB.DSAF, 0xFFFFFFFFFFFBFFFF, \_SB.DSAF)
                                                                                                 }
                                                                                                 Else
                                                                                                 {
-                                                                                                    If (LEqual (_T_1, 0x00120011))
+                                                                                                    If (LEqual (T_1, 0x00120011))
                                                                                                     {
                                                                                                         And (\_SB.DSAF, 0xFFFFFFFFFFF7FFFF, \_SB.DSAF)
                                                                                                     }
@@ -7287,9 +7287,9 @@
             {
                 CreateDWordField (Arg0, Zero, DVID)
                 CreateDWordField (Arg0, 0x04, CPAR)
-                Name (_T_0, Zero)
-                Store (DVID, _T_0)
-                If (LEqual (_T_0, Zero))
+                Name (T_0, Zero)
+                Store (DVID, T_0)
+                If (LEqual (T_0, Zero))
                 {
                     Return (Zero)
                 }
@@ -7302,15 +7302,15 @@
             Method (DSTS, 1, Serialized)
             {
                 CreateDWordField (Arg0, Zero, DVID)
-                Name (_T_0, Zero)
-                Store (DVID, _T_0)
-                If (LEqual (_T_0, 0xA0000000))
+                Name (T_0, Zero)
+                Store (DVID, T_0)
+                If (LEqual (T_0, 0xA0000000))
                 {
                     Store (One, Local0)
                 }
                 Else
                 {
-                    If (LEqual (_T_0, Zero))
+                    If (LEqual (T_0, Zero))
                     {
                         Return (Zero)
                     }
@@ -7497,7 +7497,6 @@
                     Store (CDW3, CTRL)
                     If (LNotEqual (And (SUPP, 0x16), 0x16))
                     {
-                        And (CTRL, 0x1E)
                     }
 
                     And (CTRL, 0x1D, CTRL)



[-- Attachment #3: dmesg_(gentoo)_64.bit.bz2 --]
[-- Type: application/x-bzip, Size: 15629 bytes --]

  parent reply	other threads:[~2011-11-28 20:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-19  8:59 [Bug 42502] PROBLEM: USB 1.1 (and up) not working on AMD R900 Series chipset Oliver Schinagl
2011-10-19 15:39 ` Bjorn Helgaas
2011-10-20  7:01   ` oliver
2011-11-28 20:45 ` Oliver Schinagl [this message]
     [not found] <bug-42502-20552@https.bugzilla.kernel.org/>
     [not found] ` <201109072200.p87M0G5V011358@demeter1.kernel.org>
2011-09-08  0:00   ` Oliver Schinagl
2011-09-13 17:54     ` Bjorn Helgaas
2011-09-22 18:17       ` Oliver Schinagl
2011-09-22 18:17       ` Oliver Schinagl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ED3F2D7.2020504@schinagl.nl \
    --to=oliver@schinagl.nl \
    --cc=linux-acpi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox