https://bugzilla.kernel.org/show_bug.cgi?id=206859
--- Comment #3 from Kai-Heng Feng (kai.heng.f...@canonical.com) --- Take 00:01.0 as example, the _DSM looks good however we doesn't get what we expected from the method: dsdt.dsl: Device (PEG0) { Name (_ADR, 0x00010000) // _ADR: Address Device (PEGP) { Name (_ADR, Zero) // _ADR: Address } } ssdt10.dsl: Scope (\_SB.PCI0.PEG0) { Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { Switch (ToInteger (Arg2)) { Case (Zero) { Name (DSMF, Buffer (0x02) { 0x00, 0x00 // .. }) CreateBitField (DSMF, Zero, FUN0) CreateBitField (DSMF, 0x04, FUN4) CreateBitField (DSMF, 0x06, FUN6) CreateBitField (DSMF, 0x08, FUN8) CreateBitField (DSMF, 0x09, FUN9) CreateBitField (DSMF, 0x0A, FUNA) CreateBitField (DSMF, 0x0B, FUNB) FUN0 = One If ((Arg1 >= 0x02)) { If (LTRS) { FUN6 = One } If (OBFS) { FUN4 = One } } If ((Arg1 >= 0x03)) { If (ECR1) { FUN8 = One } If (ECR1) { FUN9 = One } } If ((Arg1 >= 0x04)) { If (CondRefOf (PPBA)) { FUNA = One } FUNB = One FUNB = One } Return (DSMF) /* \_SB_.PCI0.PEG0._DSM.DSMF */ } Case (0x04) { If ((Arg1 >= 0x02)) { If (OBFS) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ }) } } } Case (0x06) { If ((Arg1 >= 0x02)) { If (LTRS) { LTRV [Zero] = ((SMSL >> 0x0A) & 0x07) LTRV [One] = (SMSL & 0x03FF) LTRV [0x02] = ((SNSL >> 0x0A) & 0x07) LTRV [0x03] = (SNSL & 0x03FF) Return (LTRV) /* \_SB_.PCI0.PEG0.LTRV */ } Else { Return (Zero) } } } Case (0x08) { If ((ECR1 == One)) { If ((Arg1 >= 0x03)) { Return (One) } } } Case (0x09) { If ((ECR1 == One)) { If ((Arg1 >= 0x03)) { Return (Package (0x05) { 0xC350, Ones, Ones, 0xC350, Ones }) } } } Case (0x0A) { If (CondRefOf (PPBA)) { Return (PPBA (Arg3)) } } Case (0x0B) { Return (UPRD (Arg3)) } } } Return (Buffer (One) { 0x00 // . }) } -- You are receiving this mail because: You are watching the assignee of the bug. _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla