From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.1748.1656440431850760016 for ; Tue, 28 Jun 2022 11:20:32 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: pranav.madhu@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C08A1152B; Tue, 28 Jun 2022 11:20:31 -0700 (PDT) Received: from usa.arm.com (unknown [10.162.16.33]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E90D83F792; Tue, 28 Jun 2022 11:20:29 -0700 (PDT) From: "Pranav Madhu" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar , Pierre Gondois , Thomas Abraham Subject: [edk2-platforms][PATCH V2 6/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2 Date: Tue, 28 Jun 2022 23:50:11 +0530 Message-Id: <20220628182012.1179982-7-pranav.madhu@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220628182012.1179982-1-pranav.madhu@arm.com> References: <20220628182012.1179982-1-pranav.madhu@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable RD-N2 platform supports only the platform co-ordinated LPI. So fix the LPI Level ID value accordingly. Additionally, as this platform does not support residency counter, clear the residency counter frequency from _LPI object's control method. As the cpus are directly connected to the interconnect on this platform, remove the cluster _LPI control method as well. Signed-off-by: Pranav Madhu Reviewed-by: Pierre Gondois Reviewed-by: Thomas Abraham --- Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl | 78 +------------------- 1 file changed, 4 insertions(+), 74 deletions(-) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl b/Platform/ARM/= SgiPkg/AcpiTables/RdN2/Dsdt.asl index ccd98f829652..0f63ca42d505 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl @@ -62,38 +62,16 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Return (Arg3) } =20 - Name (CLPI, Package () { /* LPI for Cluster, support 1 LPI state */ - 0, // Version - 0, // Level Index - 1, // Count - Package () { // Power Gating state for Cluster - 2500, // Min residency (uS) - 1150, // Wake latency (uS) - 1, // Flags - 1, // Arch Context Flags - 100, // Residency Counter Frequency - 0, // No Parent State - 0x00000020, // Integer Entry method - ResourceTemplate () { // Null Residency Counter - Register (SystemMemory, 0, 0, 0, 0) - }, - ResourceTemplate () { // Null Usage Counter - Register (SystemMemory, 0, 0, 0, 0) - }, - "LPI2-Cluster" - }, - }) - Name (PLPI, Package () { /* LPI for Processor, support 2 LPI states= */ 0, // Version - 1, // Level Index + 0, // Level Index 2, // Count Package () { // WFI for CPU 1, // Min residency (uS) 1, // Wake latency (uS) 1, // Flags 0, // Arch Context lost Flags (no loss) - 100, // Residency Counter Frequency + 0, // Residency Counter Frequency 0, // No parent state ResourceTemplate () { // Register Entry method Register (FFixedHW, @@ -116,8 +94,8 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD",= "ARMSGI", 350, // Wake latency (uS) 1, // Flags 1, // Arch Context lost Flags (Core context l= ost) - 100, // Residency Counter Frequency - 1, // Parent node can be in any shallower sta= te + 0, // Residency Counter Frequency + 0, // No parent state ResourceTemplate () { // Register Entry method Register (FFixedHW, 32, // Bit Width @@ -139,9 +117,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL00) { // Cluster 0 Name (_HID, "ACPI0010") Name (_UID, 0) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP00) { // Neoverse N2 core 0 Name (_HID, "ACPI0007") @@ -166,9 +141,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL01) { // Cluster 1 Name (_HID, "ACPI0010") Name (_UID, 1) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP01) { // Neoverse N2 core 1 Name (_HID, "ACPI0007") @@ -193,9 +165,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL02) { // Cluster 2 Name (_HID, "ACPI0010") Name (_UID, 2) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP02) { // Neoverse N2 core 2 Name (_HID, "ACPI0007") @@ -220,9 +189,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL03) { // Cluster 3 Name (_HID, "ACPI0010") Name (_UID, 3) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP03) { // Neoverse N2 core 3 Name (_HID, "ACPI0007") @@ -247,9 +213,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL04) { // Cluster 4 Name (_HID, "ACPI0010") Name (_UID, 4) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP04) { // Neoverse N2 core 4 Name (_HID, "ACPI0007") @@ -274,9 +237,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL05) { // Cluster 5 Name (_HID, "ACPI0010") Name (_UID, 5) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP05) { // Neoverse N2 core 5 Name (_HID, "ACPI0007") @@ -301,9 +261,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL06) { // Cluster 6 Name (_HID, "ACPI0010") Name (_UID, 6) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP06) { // Neoverse N2 core 6 Name (_HID, "ACPI0007") @@ -328,9 +285,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL07) { // Cluster 7 Name (_HID, "ACPI0010") Name (_UID, 7) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP07) { // Neoverse N2 core 7 Name (_HID, "ACPI0007") @@ -355,9 +309,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL08) { // Cluster 8 Name (_HID, "ACPI0010") Name (_UID, 8) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP08) { // Neoverse N2 core 8 Name (_HID, "ACPI0007") @@ -382,9 +333,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL09) { // Cluster 9 Name (_HID, "ACPI0010") Name (_UID, 9) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP09) { // Neoverse N2 core 9 Name (_HID, "ACPI0007") @@ -409,9 +357,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL10) { // Cluster 10 Name (_HID, "ACPI0010") Name (_UID, 10) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP10) { // Neoverse N2 core 10 Name (_HID, "ACPI0007") @@ -436,9 +381,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL11) { // Cluster 11 Name (_HID, "ACPI0010") Name (_UID, 11) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP11) { // Neoverse N2 core 11 Name (_HID, "ACPI0007") @@ -463,9 +405,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL12) { // Cluster 12 Name (_HID, "ACPI0010") Name (_UID, 12) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP12) { // Neoverse N2 core 12 Name (_HID, "ACPI0007") @@ -490,9 +429,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL13) { // Cluster 13 Name (_HID, "ACPI0010") Name (_UID, 13) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP13) { // Neoverse N2 core 13 Name (_HID, "ACPI0007") @@ -517,9 +453,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL14) { // Cluster 14 Name (_HID, "ACPI0010") Name (_UID, 14) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP14) { // Neoverse N2 core 14 Name (_HID, "ACPI0007") @@ -544,9 +477,6 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD"= , "ARMSGI", Device (CL15) { // Cluster 15 Name (_HID, "ACPI0010") Name (_UID, 15) - Method (_LPI, 0, NotSerialized) { - Return (\_SB.CLPI) - } =20 Device (CP15) { // Neoverse N2 core 15 Name (_HID, "ACPI0007") --=20 2.25.1