SBBR requires platforms to provide the _STA ACPI method for each
defined device. This patch implements a stub method that always
indicates devices are present and functional.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Leif Lindholm <quic_llind...@quicinc.com>
Cc: Graeme Gregory <gra...@nuviainc.com>
Cc: Radoslaw Biernacki <r...@semihalf.com>
Cc: Jeff Booher-Kaeding <jeff.booher-kaed...@arm.com>
Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahm...@arm.com>
Cc: Sunny Wang <sunny.w...@arm.com>
Cc: Jeremy Linton <jeremy.lin...@arm.com>

Signed-off-by: Dimitrije Pavlov <dimitrije.pav...@arm.com>
---
 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl | 38 +++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl 
b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
index 1bf9fbb99e75..3357916571fe 100644
--- a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
+++ b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
@@ -16,6 +16,9 @@
             Name (_PRS, ResourceTemplate() {                                   
\
                 Interrupt (ResourceProducer, Level, ActiveHigh, Exclusive) { 
Irq } \
             })                                                                 
\
+            Method (_STA) {                                                    
\
+              Return (0xF)                                                     
\
+            }                                                                  
\
             Method (_CRS, 0) { Return (_PRS) }                                 
\
             Method (_SRS, 1) { }                                               
\
             Method (_DIS) { }                                                  
\
@@ -40,6 +43,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                        0x00001000)
         Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 33 }
       })
+      Method (_STA) {
+        Return (0xF)
+      }
     }

     // AHCI Host Controller
@@ -57,13 +63,18 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                        FixedPcdGet32 (PcdPlatformAhciSize))
         Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 42 }
       })
+      Method (_STA) {
+        Return (0xF)
+      }
     }

     // USB EHCI Host Controller
     Device (USB0) {
         Name (_HID, "LNRO0D20")
         Name (_CID, "PNP0D20")
-
+        Method (_STA) {
+          Return (0xF)
+        }
         Method (_CRS, 0x0, Serialized) {
             Name (RBUF, ResourceTemplate() {
                 Memory32Fixed (ReadWrite,
@@ -77,6 +88,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
         // Root Hub
         Device (RHUB) {
             Name (_ADR, 0x00000000)  // Address of Root Hub should be 0 as per 
ACPI 5.0 spec
+            Method (_STA) {
+              Return (0xF)
+            }

             // Ports connected to Root Hub
             Device (HUB1) {
@@ -87,6 +101,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                     0x00000000, // Reserved 0 must be zero
                     0x00000000  // Reserved 1 must be zero
                 })
+                Method (_STA) {
+                  Return (0xF)
+                }

                 Device (PRT1) {
                     Name (_ADR, 0x00000001)
@@ -102,6 +119,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                             0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                         }
                     })
+                    Method (_STA) {
+                      Return (0xF)
+                    }
                 } // USB0_RHUB_HUB1_PRT1
                 Device (PRT2) {
                     Name (_ADR, 0x00000002)
@@ -117,6 +137,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                             0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                         }
                     })
+                    Method (_STA) {
+                      Return (0xF)
+                    }
                 } // USB0_RHUB_HUB1_PRT2

                 Device (PRT3) {
@@ -133,6 +156,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                             0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                         }
                     })
+                    Method (_STA) {
+                      Return (0xF)
+                    }
                 } // USB0_RHUB_HUB1_PRT3

                 Device (PRT4) {
@@ -149,6 +175,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
                             0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                         }
                     })
+                    Method (_STA) {
+                      Return (0xF)
+                    }
                 } // USB0_RHUB_HUB1_PRT4
             } // USB0_RHUB_HUB1
         } // USB0_RHUB
@@ -164,6 +193,10 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
       Name (_UID, "PCI0")
       Name (_CCA, One)    // Initially mark the PCI coherent (for JunoR1)

+      Method (_STA) {
+        Return (0xF)
+      }
+
       Method (_CBA, 0, NotSerialized) {
           return (FixedPcdGet32 (PcdPciExpressBaseAddress))
       }
@@ -402,6 +435,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
            FixedPcdGet64 (PcdPciExpressBarSize),     // Length
            ,, , AddressRangeMemory, TypeStatic)
         })
+        Method (_STA) {
+          Return (0xF)
+        }
       }

       // OS Control Handoff
--
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#90811): https://edk2.groups.io/g/devel/message/90811
Mute This Topic: https://groups.io/mt/92048259/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to