public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
@ 2022-06-09 18:19 Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 1/7] Platform/Sgi: Fix ACPI Low Power Idle states for SGI575 Pranav Madhu
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

The DSDT ACPI table used for Neoverse reference design platforms include
the _LPI control method for the kernel to enter idle states. This patch
series fixes bugs in the existing _LPI control method due to which
certain high level OS failed to boot on the supported Neoverse reference
design platforms. For each platform, the fixes include - clearing level
ID value as the platform supports only platform co-ordinated _LPI and
removing residency counter frequency as the platform does not implement
residency counter.

In addition to this, the RD-N2 and RD-N2-Cfg1 platforms are direct
connect platforms and so the _LPI control method for cluster is removed.

Link to github branch with the patches in this series -
https://github.com/Pranav-Madhu/edk2-platforms/tree/topics/lpi_fix_for_rd_platforms

Pranav Madhu (7):
  Platform/Sgi: Fix ACPI Low Power Idle states for SGI575
  Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge
  Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2
  Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1
  Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC
  Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2
  Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1

 Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl   |  8 +-
 Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl |  8 +-
 Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl       | 78 +-------------------
 Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl   | 54 +-------------
 Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl       |  8 +-
 Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl     |  8 +-
 Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl     |  8 +-
 7 files changed, 28 insertions(+), 144 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 1/7] Platform/Sgi: Fix ACPI Low Power Idle states for SGI575
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 2/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge Pranav Madhu
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

SGI-575 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.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl
index a292d20d8afb..a6187995be56 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl
@@ -57,7 +57,7 @@ DefinitionBlock("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI", EFI_ACPI_ARM_OEM
         1150,                 // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context Flags
-        100,                  // Residency Counter Frequency
+        0,                    // Residency Counter Frequency
         0,                    // No Parent State
         0x00000020,           // Integer Entry method
         ResourceTemplate () { // Null Residency Counter
@@ -72,14 +72,14 @@ DefinitionBlock("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI", EFI_ACPI_ARM_OEM
 
     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,
@@ -102,7 +102,7 @@ DefinitionBlock("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI", EFI_ACPI_ARM_OEM
         350,                  // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context lost Flags (Core context lost)
-        100,                  // Residency Counter Frequency
+        0,                    // Residency Counter Frequency
         1,                    // Parent node can be in any shallower state
         ResourceTemplate () { // Register Entry method
           Register (FFixedHW,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 2/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 1/7] Platform/Sgi: Fix ACPI Low Power Idle states for SGI575 Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 3/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2 Pranav Madhu
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

RD-N1-Edge 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.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl
index bd8efa544a59..7b4bbd36d8c0 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl
@@ -58,7 +58,7 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
         1150,                 // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context Flags
-        100,                  // Residency Counter Frequency
+        0,                    // Residency Counter Frequency
         0,                    // No Parent State
         0x00000020,           // Integer Entry method
         ResourceTemplate () { // Null Residency Counter
@@ -73,14 +73,14 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
 
     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,
@@ -103,7 +103,7 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
         350,                  // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context lost Flags (Core context lost)
-        100,                  // Residency Counter Frequency
+        0,                    // Residency Counter Frequency
         1,                    // Parent node can be in any shallower state
         ResourceTemplate () { // Register Entry method
           Register (FFixedHW,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 3/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 1/7] Platform/Sgi: Fix ACPI Low Power Idle states for SGI575 Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 2/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 4/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1 Pranav Madhu
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

RD-N1-Edge-X2 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.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl
index 9cb2b175418c..28e255c6de6e 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl
@@ -60,7 +60,7 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
         1150,                 // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context Flags
-        100,                  // Residency Counter Frequency
+        0,                    // Residency Counter Frequency
         0,                    // No Parent State
         0x00000020,           // Integer Entry method
         ResourceTemplate () { // Null Residency Counter
@@ -75,14 +75,14 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
 
     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,
@@ -105,7 +105,7 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
         350,                  // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context lost Flags (Core context lost)
-        100,                  // Residency Counter Frequency
+        0,                    // Residency Counter Frequency
         1,                    // Parent node can be in any shallower state
         ResourceTemplate () { // Register Entry method
           Register (FFixedHW,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 4/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
                   ` (2 preceding siblings ...)
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 3/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2 Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 5/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC Pranav Madhu
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

RD-V1 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.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl
index db9c19780e16..3c9c878dd880 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl
@@ -64,14 +64,14 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
 
     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,
@@ -94,8 +94,8 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
         350,                  // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context lost Flags (Core context lost)
-        100,                  // Residency Counter Frequency
-        1,                    // Parent node can be in any shallower state
+        0,                    // Residency Counter Frequency
+        0,                    // No parent state
         ResourceTemplate () { // Register Entry method
           Register (FFixedHW,
             32,               // Bit Width
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 5/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
                   ` (3 preceding siblings ...)
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 4/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1 Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 6/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2 Pranav Madhu
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

RD-V1-MC 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.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl
index e084d82de7c0..152a3076fedd 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl
@@ -64,14 +64,14 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
 
     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,
@@ -94,8 +94,8 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
         350,                  // Wake latency (uS)
         1,                    // Flags
         1,                    // Arch Context lost Flags (Core context lost)
-        100,                  // Residency Counter Frequency
-        1,                    // Parent node can be in any shallower state
+        0,                    // Residency Counter Frequency
+        0,                    // No parent state
         ResourceTemplate () { // Register Entry method
           Register (FFixedHW,
             32,               // Bit Width
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 6/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
                   ` (4 preceding siblings ...)
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 5/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 7/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1 Pranav Madhu
  2022-06-11 20:46 ` [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Thomas Abraham
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

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 <pranav.madhu@arm.com>
---
 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)
     }
 
-    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 lost)
-        100,                  // Residency Counter Frequency
-        1,                    // Parent node can be in any shallower state
+        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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       Device (CP15) { // Neoverse N2 core 15
         Name (_HID, "ACPI0007")
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [edk2-platforms][PATCH V1 7/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
                   ` (5 preceding siblings ...)
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 6/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2 Pranav Madhu
@ 2022-06-09 18:19 ` Pranav Madhu
  2022-06-11 20:46 ` [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Thomas Abraham
  7 siblings, 0 replies; 13+ messages in thread
From: Pranav Madhu @ 2022-06-09 18:19 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

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 <pranav.madhu@arm.com>
---
 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)
     }
 
-    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 lost)
-        100,                  // Residency Counter Frequency
-        1,                    // Parent node can be in any shallower state
+        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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       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)
-      }
 
       Device (CP07) { // Neoverse N2 core 7
         Name (_HID, "ACPI0007")
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
  2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
                   ` (6 preceding siblings ...)
  2022-06-09 18:19 ` [edk2-platforms][PATCH V1 7/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1 Pranav Madhu
@ 2022-06-11 20:46 ` Thomas Abraham
  2022-06-20 16:53   ` Pranav Madhu
  7 siblings, 1 reply; 13+ messages in thread
From: Thomas Abraham @ 2022-06-11 20:46 UTC (permalink / raw)
  To: Pranav Madhu, devel

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

On Thu, Jun 9, 2022 at 11:20 AM, Pranav Madhu wrote:

> 
> The DSDT ACPI table used for Neoverse reference design platforms include
> the _LPI control method for the kernel to enter idle states. This patch
> series fixes bugs in the existing _LPI control method due to which
> certain high level OS failed to boot on the supported Neoverse reference
> design platforms. For each platform, the fixes include - clearing level
> ID value as the platform supports only platform co-ordinated _LPI and
> removing residency counter frequency as the platform does not implement
> residency counter.
> 
> In addition to this, the RD-N2 and RD-N2-Cfg1 platforms are direct
> connect platforms and so the _LPI control method for cluster is removed.
> 
> Link to github branch with the patches in this series -
> https://github.com/Pranav-Madhu/edk2-platforms/tree/topics/lpi_fix_for_rd=
> 
> _platforms
> 
> Pranav Madhu (7):
> Platform/Sgi: Fix ACPI Low Power Idle states for SGI575
> Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge
> Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2
> Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1
> Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC
> Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2
> Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1
> 
> Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl | 8 +-
> Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl | 8 +-
> Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl | 78 +---------------=
> ----
> Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl | 54 +-------------
> Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl | 8 +-
> Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl | 8 +-
> Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl | 8 +-
> 7 files changed, 28 insertions(+), 144 deletions(-)
> 
> 

For this series -
Reviewed-by: Thomas Abraham <thomas.abraham@arm.com>

[-- Attachment #2: Type: text/html, Size: 2169 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
  2022-06-11 20:46 ` [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Thomas Abraham
@ 2022-06-20 16:53   ` Pranav Madhu
  2022-06-21  8:44     ` PierreGondois
  0 siblings, 1 reply; 13+ messages in thread
From: Pranav Madhu @ 2022-06-20 16:53 UTC (permalink / raw)
  To: Thomas Abraham, devel@edk2.groups.io; +Cc: Sami Mujawar, Ard Biesheuvel, nd

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

Hi All,



Could you please let me know if any updates required for this series of patch?

Regards,
Pranav

From: Thomas Abraham <thomas.abraham@arm.com>
Sent: Sunday, June 12, 2022 2:16 AM
To: Pranav Madhu <Pranav.Madhu@arm.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms

On Thu, Jun 9, 2022 at 11:20 AM, Pranav Madhu wrote:
The DSDT ACPI table used for Neoverse reference design platforms include
the _LPI control method for the kernel to enter idle states. This patch
series fixes bugs in the existing _LPI control method due to which
certain high level OS failed to boot on the supported Neoverse reference
design platforms. For each platform, the fixes include - clearing level
ID value as the platform supports only platform co-ordinated _LPI and
removing residency counter frequency as the platform does not implement
residency counter.

In addition to this, the RD-N2 and RD-N2-Cfg1 platforms are direct
connect platforms and so the _LPI control method for cluster is removed.

Link to github branch with the patches in this series -
https://github.com/Pranav-Madhu/edk2-platforms/tree/topics/lpi_fix_for_rd=
_platforms

Pranav Madhu (7):
Platform/Sgi: Fix ACPI Low Power Idle states for SGI575
Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge
Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2
Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1
Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC
Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2
Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1

Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl | 8 +-
Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl | 8 +-
Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl | 78 +---------------=
----
Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl | 54 +-------------
Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl | 8 +-
Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl | 8 +-
Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl | 8 +-
7 files changed, 28 insertions(+), 144 deletions(-)

For this series -
Reviewed-by: Thomas Abraham <thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>>

[-- Attachment #2: Type: text/html, Size: 5140 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
  2022-06-20 16:53   ` Pranav Madhu
@ 2022-06-21  8:44     ` PierreGondois
  2022-06-22  5:39       ` Pranav Madhu
  0 siblings, 1 reply; 13+ messages in thread
From: PierreGondois @ 2022-06-21  8:44 UTC (permalink / raw)
  To: devel, pranav.madhu, Thomas Abraham; +Cc: Sami Mujawar, Ard Biesheuvel, nd

Hello Pranav,
Would it be possible to extend this change to the Juno aswell as the
platform has a Null Residency Counter and doesn't support OS Initiated LPI ?

Another remark is that for RdV1MC, RdN2, RdV1 and RdN2Cfg1 platforms,
CPUs don't need to be encapsulated anymore in cluster objects
Cf:
Device (CL00) {   // Cluster 0
   Name (_HID, "ACPI0010")
   Name (_UID, 0)
   ...
}
since Clusters don't have any additional information. But keeping them
is correct aswell.

Regards,
Pierre

On 6/20/22 18:53, Pranav Madhu via groups.io wrote:
> Hi All,
> 
> Could you please let me know if any updates required for this series of patch?
> 
> Regards,
> Pranav
> 
> *From:* Thomas Abraham <thomas.abraham@arm.com>
> *Sent:* Sunday, June 12, 2022 2:16 AM
> *To:* Pranav Madhu <Pranav.Madhu@arm.com>; devel@edk2.groups.io
> *Subject:* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
> 
> On Thu, Jun 9, 2022 at 11:20 AM, Pranav Madhu wrote:
> 
>     The DSDT ACPI table used for Neoverse reference design platforms include
>     the _LPI control method for the kernel to enter idle states. This patch
>     series fixes bugs in the existing _LPI control method due to which
>     certain high level OS failed to boot on the supported Neoverse reference
>     design platforms. For each platform, the fixes include - clearing level
>     ID value as the platform supports only platform co-ordinated _LPI and
>     removing residency counter frequency as the platform does not implement
>     residency counter.
> 
>     In addition to this, the RD-N2 and RD-N2-Cfg1 platforms are direct
>     connect platforms and so the _LPI control method for cluster is removed.
> 
>     Link to github branch with the patches in this series -
>     https://github.com/Pranav-Madhu/edk2-platforms/tree/topics/lpi_fix_for_rd= <https://github.com/Pranav-Madhu/edk2-platforms/tree/topics/lpi_fix_for_rd=>
>     _platforms
> 
>     Pranav Madhu (7):
>     Platform/Sgi: Fix ACPI Low Power Idle states for SGI575
>     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge
>     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2
>     Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1
>     Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC
>     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2
>     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1
> 
>     Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl | 8 +-
>     Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl | 8 +-
>     Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl | 78 +---------------=
>     ----
>     Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl | 54 +-------------
>     Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl | 8 +-
>     Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl | 8 +-
>     Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl | 8 +-
>     7 files changed, 28 insertions(+), 144 deletions(-)
> 
> 
> For this series -
> Reviewed-by: Thomas Abraham <thomas.abraham@arm.com <mailto:thomas.abraham@arm.com>>
> 
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
  2022-06-21  8:44     ` PierreGondois
@ 2022-06-22  5:39       ` Pranav Madhu
  2022-06-23  8:45         ` PierreGondois
  0 siblings, 1 reply; 13+ messages in thread
From: Pranav Madhu @ 2022-06-22  5:39 UTC (permalink / raw)
  To: Pierre Gondois, devel@edk2.groups.io, Thomas Abraham
  Cc: Sami Mujawar, Ard Biesheuvel, nd

Hi Pierre,

Thanks for reviewing this patch series. Please find my reply inline.

Regards,
Pranav

> -----Original Message-----
> From: Pierre Gondois <pierre.gondois@arm.com>
> Sent: Tuesday, June 21, 2022 2:15 PM
> To: devel@edk2.groups.io; Pranav Madhu <Pranav.Madhu@arm.com>;
> Thomas Abraham <thomas.abraham@arm.com>
> Cc: Sami Mujawar <Sami.Mujawar@arm.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>; nd <nd@arm.com>
> Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low
> Power Idle states for RD platforms
> 
> Hello Pranav,
> Would it be possible to extend this change to the Juno aswell as the platform
> has a Null Residency Counter and doesn't support OS Initiated LPI ?

It can be changed for Juno as well, but I do not have access to any Juno boards and this patch series is focusing on RD platforms. The Juno board update can be posted as a separate patch.

> 
> Another remark is that for RdV1MC, RdN2, RdV1 and RdN2Cfg1 platforms,
> CPUs don't need to be encapsulated anymore in cluster objects
> Cf:
> Device (CL00) {   // Cluster 0
>    Name (_HID, "ACPI0010")
>    Name (_UID, 0)
>    ...
> }
> since Clusters don't have any additional information. But keeping them is
> correct aswell.

These platforms have a minimal cluster logic but does not support low power states. But the cluster encapsulation represents the platform topology accurately. So it would be better to keep the cluster encapsulation.

> 
> Regards,
> Pierre
> 
> On 6/20/22 18:53, Pranav Madhu via groups.io wrote:
> > Hi All,
> >
> > Could you please let me know if any updates required for this series of
> patch?
> >
> > Regards,
> > Pranav
> >
> > *From:* Thomas Abraham <thomas.abraham@arm.com>
> > *Sent:* Sunday, June 12, 2022 2:16 AM
> > *To:* Pranav Madhu <Pranav.Madhu@arm.com>; devel@edk2.groups.io
> > *Subject:* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI
> > Low Power Idle states for RD platforms
> >
> > On Thu, Jun 9, 2022 at 11:20 AM, Pranav Madhu wrote:
> >
> >     The DSDT ACPI table used for Neoverse reference design platforms
> include
> >     the _LPI control method for the kernel to enter idle states. This patch
> >     series fixes bugs in the existing _LPI control method due to which
> >     certain high level OS failed to boot on the supported Neoverse reference
> >     design platforms. For each platform, the fixes include - clearing level
> >     ID value as the platform supports only platform co-ordinated _LPI and
> >     removing residency counter frequency as the platform does not
> implement
> >     residency counter.
> >
> >     In addition to this, the RD-N2 and RD-N2-Cfg1 platforms are direct
> >     connect platforms and so the _LPI control method for cluster is removed.
> >
> >     Link to github branch with the patches in this series -
> >     https://github.com/Pranav-Madhu/edk2-
> platforms/tree/topics/lpi_fix_for_rd= <https://github.com/Pranav-
> Madhu/edk2-platforms/tree/topics/lpi_fix_for_rd=>
> >     _platforms
> >
> >     Pranav Madhu (7):
> >     Platform/Sgi: Fix ACPI Low Power Idle states for SGI575
> >     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge
> >     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2
> >     Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1
> >     Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC
> >     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2
> >     Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1
> >
> >     Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl | 8 +-
> >     Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl | 8 +-
> >     Platform/ARM/SgiPkg/AcpiTables/RdN2/Dsdt.asl | 78 +---------------=
> >     ----
> >     Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/Dsdt.asl | 54 +-------------
> >     Platform/ARM/SgiPkg/AcpiTables/RdV1/Dsdt.asl | 8 +-
> >     Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Dsdt.asl | 8 +-
> >     Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dsdt.asl | 8 +-
> >     7 files changed, 28 insertions(+), 144 deletions(-)
> >
> >
> > For this series -
> > Reviewed-by: Thomas Abraham <thomas.abraham@arm.com
> > <mailto:thomas.abraham@arm.com>>
> >
> > 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms
  2022-06-22  5:39       ` Pranav Madhu
@ 2022-06-23  8:45         ` PierreGondois
  0 siblings, 0 replies; 13+ messages in thread
From: PierreGondois @ 2022-06-23  8:45 UTC (permalink / raw)
  To: Pranav Madhu, devel@edk2.groups.io, Thomas Abraham
  Cc: Sami Mujawar, Ard Biesheuvel, nd



On 6/22/22 07:39, Pranav Madhu wrote:
> Hi Pierre,
> 
> Thanks for reviewing this patch series. Please find my reply inline.
> 
> Regards,
> Pranav
> 
>> -----Original Message-----
>> From: Pierre Gondois <pierre.gondois@arm.com>
>> Sent: Tuesday, June 21, 2022 2:15 PM
>> To: devel@edk2.groups.io; Pranav Madhu <Pranav.Madhu@arm.com>;
>> Thomas Abraham <thomas.abraham@arm.com>
>> Cc: Sami Mujawar <Sami.Mujawar@arm.com>; Ard Biesheuvel
>> <ardb+tianocore@kernel.org>; nd <nd@arm.com>
>> Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low
>> Power Idle states for RD platforms
>>
>> Hello Pranav,
>> Would it be possible to extend this change to the Juno aswell as the platform
>> has a Null Residency Counter and doesn't support OS Initiated LPI ?
> 
> It can be changed for Juno as well, but I do not have access to any Juno boards and this patch series is focusing on RD platforms. The Juno board update can be posted as a separate patch.
> 

Ok sure.

>>
>> Another remark is that for RdV1MC, RdN2, RdV1 and RdN2Cfg1 platforms,
>> CPUs don't need to be encapsulated anymore in cluster objects
>> Cf:
>> Device (CL00) {   // Cluster 0
>>     Name (_HID, "ACPI0010")
>>     Name (_UID, 0)
>>     ...
>> }
>> since Clusters don't have any additional information. But keeping them is
>> correct aswell.
> 
> These platforms have a minimal cluster logic but does not support low power states. But the cluster encapsulation represents the platform topology accurately. So it would be better to keep the cluster encapsulation.

Ok yes, this was just so other people are aware of this.

Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>

Regards,
Pierre

>>> ----------
>>> Groups.io Links:
>>>
>>> You receive all messages sent to this group.
>>>
>>> View/Reply Online (#90633)
>>> <https://edk2.groups.io/g/devel/message/90633> | | Mute This Topic
>>> <https://groups.io/mt/91652410/1821310> | New Topic
>>> <https://edk2.groups.io/g/devel/post>
>>> Your Subscription <https://edk2.groups.io/g/devel/editsub/1821310> |
>>> Contact Group Owner <mailto:devel+owner@edk2.groups.io> |
>> Unsubscribe
>>> <https://edk2.groups.io/g/devel/unsub> [pierre.gondois@arm.com]
>>>
>>> _._,_._,_

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-06-23  8:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-09 18:19 [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 1/7] Platform/Sgi: Fix ACPI Low Power Idle states for SGI575 Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 2/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 3/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N1-Edge-X2 Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 4/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1 Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 5/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-V1-MC Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 6/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2 Pranav Madhu
2022-06-09 18:19 ` [edk2-platforms][PATCH V1 7/7] Platform/Sgi: Fix ACPI Low Power Idle states for RD-N2-Cfg1 Pranav Madhu
2022-06-11 20:46 ` [edk2-devel] [edk2-platforms][PATCH V1 0/7] Fix ACPI Low Power Idle states for RD platforms Thomas Abraham
2022-06-20 16:53   ` Pranav Madhu
2022-06-21  8:44     ` PierreGondois
2022-06-22  5:39       ` Pranav Madhu
2022-06-23  8:45         ` PierreGondois

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox