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.web12.1748.1656440433869903548 for ; Tue, 28 Jun 2022 11:20:34 -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 CE6C1153B; Tue, 28 Jun 2022 11:20:33 -0700 (PDT) Received: from usa.arm.com (unknown [10.162.16.33]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 02C883F792; Tue, 28 Jun 2022 11:20:31 -0700 (PDT) From: "Pranav Madhu" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar , Pierre Gondois , Thomas Abraham Subject: [edk2-platforms][PATCH V2 7/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1 Date: Tue, 28 Jun 2022 23:50:12 +0530 Message-Id: <20220628182012.1179982-8-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-Cfg1 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/RdN2Cfg1/Dsdt.asl | 54 ++----------------= -- 1 file changed, 4 insertions(+), 50 deletions(-) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl b/Platform/= ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl index b6decc77f480..2e9e588806c6 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl @@ -68,38 +68,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, @@ -122,8 +100,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 @@ -145,9 +123,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") @@ -172,9 +147,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") @@ -199,9 +171,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") @@ -226,9 +195,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") @@ -253,9 +219,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") @@ -280,9 +243,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") @@ -307,9 +267,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") @@ -334,9 +291,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") --=20 2.25.1