[coreboot-gerrit] Patch set updated for coreboot: b7d9261 AMD Brazos/Trinity boards: PlatformGnbPcie.c: Reserve correct amount of memory

Paul Menzel (paulepanter@users.sourceforge.net) gerrit at coreboot.org
Sat May 11 14:20:11 CEST 2013


Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3239

-gerrit

commit b7d9261c1747a4f0b9da768497288cb280141cc0
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date:   Fri May 10 09:23:42 2013 +0200

    AMD Brazos/Trinity boards: PlatformGnbPcie.c: Reserve correct amount of memory
    
    In `PlatformGnbPcie.c` AGESA functions are used to reserve memory
    space to save the PCIe configuration to. This is the
    
    With the following definitions in `AGESA.h`
    
        $ more src/vendorcode/amd/agesa/f14/AGESA.h
        […]
        /// PCIe port descriptor
        typedef struct {
          IN       UINT32               Flags;                    /**< Descriptor flags
                                                                   * @li @b Bit31 - last descriptor in complex
                                                                   */
          IN       PCIe_ENGINE_DATA     EngineData;               ///< Engine data
          IN       PCIe_PORT_DATA       Port;                     ///< PCIe port specific configuration info
        } PCIe_PORT_DESCRIPTOR;
    
        /// DDI descriptor
        typedef struct {
          IN       UINT32               Flags;                    /**< Descriptor flags
                                                                   * @li @b Bit31 - last descriptor in complex
                                                                   */
          IN       PCIe_ENGINE_DATA     EngineData;               ///< Engine data
          IN       PCIe_DDI_DATA        Ddi;                      ///< DDI port specific configuration info
        } PCIe_DDI_DESCRIPTOR;
    
        /// PCIe Complex descriptor
        typedef struct {
          IN       UINT32               Flags;                    /**< Descriptor flags
                                                                   * @li @b Bit31 - last descriptor in topology
                                                                   */
          IN       UINT32               SocketId;                 ///< Socket Id
          IN       PCIe_PORT_DESCRIPTOR *PciePortList;            ///< Pointer to array of PCIe port descriptors or NULL (Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST).
          IN       PCIe_DDI_DESCRIPTOR  *DdiLinkList;             ///< Pointer to array DDI link descriptors (Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST).
          IN       VOID                 *Reserved;                ///< Reserved for future use
        } PCIe_COMPLEX_DESCRIPTOR;
        […]
    
    memory has to be reserved for the `PCIe_COMPLEX_DESCRIPTOR` and,
    as two struct members are pointers to arrays with elements of type
    `PCIe_PORT_DESCRIPTOR` and `PCIe_DDI_DESCRIPTOR`, space for these
    times the number of array elements have to be reserved:
    a + b * 5 + c * 2.
    
          sizeof(PCIe_COMPLEX_DESCRIPTOR)
        + sizeof(PCIe_PORT_DESCRIPTOR) * 5
        + sizeof(PCIe_DDI_DESCRIPTOR) * 2;
    
    But for whatever reason parentheses were put in there making this
    calculation incorrect and reserving too much memory.
    
        (a + b * 5 + c) * 2
    
    So, remove the parentheses to reserve the exact amount of memory
    needed.
    
    The ASRock E350M1 still boots with these changes. No changes were
    observed as expected.
    
    Rudolf Marek made this change as part of his patch »ASUS F2A85-M:
    Correct and clean up PCIe config« [1]. Factor this hunk out as it
    affects all AMD Brazos and Trinity based boards.
    
    [1] http://review.coreboot.org/#/c/3194/
    
    Change-Id: I32e8c8a3dfc5e87eb119eb17719d612e57e0817a
    Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
 src/mainboard/amd/inagua/PlatformGnbPcie.c             | 4 ++--
 src/mainboard/amd/parmer/PlatformGnbPcie.c             | 6 +++---
 src/mainboard/amd/persimmon/PlatformGnbPcie.c          | 4 ++--
 src/mainboard/amd/south_station/PlatformGnbPcie.c      | 6 +++---
 src/mainboard/amd/thatcher/PlatformGnbPcie.c           | 6 +++---
 src/mainboard/amd/torpedo/PlatformGnbPcie.c            | 6 +++---
 src/mainboard/amd/union_station/PlatformGnbPcie.c      | 6 +++---
 src/mainboard/asrock/e350m1/PlatformGnbPcie.c          | 6 +++---
 src/mainboard/asus/f2a85-m/PlatformGnbPcie.c           | 6 +++---
 src/mainboard/lippert/frontrunner-af/PlatformGnbPcie.c | 4 ++--
 src/mainboard/lippert/toucan-af/PlatformGnbPcie.c      | 4 ++--
 11 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/src/mainboard/amd/inagua/PlatformGnbPcie.c b/src/mainboard/amd/inagua/PlatformGnbPcie.c
index 0eea211..ac5eca3 100644
--- a/src/mainboard/amd/inagua/PlatformGnbPcie.c
+++ b/src/mainboard/amd/inagua/PlatformGnbPcie.c
@@ -108,9 +108,9 @@ OemCustomizeInitEarly (
 	//
 	// Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
 	//
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
 			sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-			sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+			sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/amd/parmer/PlatformGnbPcie.c b/src/mainboard/amd/parmer/PlatformGnbPcie.c
index f4382a1..6df9c6d 100644
--- a/src/mainboard/amd/parmer/PlatformGnbPcie.c
+++ b/src/mainboard/amd/parmer/PlatformGnbPcie.c
@@ -138,9 +138,9 @@ OemCustomizeInitEarly (
 	/*  */
 	/* Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR */
 	/*  */
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-					       sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
-					       sizeof (PCIe_DDI_DESCRIPTOR)) * 3;
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+					      sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
+					      sizeof (PCIe_DDI_DESCRIPTOR) * 3;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/amd/persimmon/PlatformGnbPcie.c b/src/mainboard/amd/persimmon/PlatformGnbPcie.c
index 14839c7..fa909d2 100644
--- a/src/mainboard/amd/persimmon/PlatformGnbPcie.c
+++ b/src/mainboard/amd/persimmon/PlatformGnbPcie.c
@@ -117,9 +117,9 @@ PCIe_COMPLEX_DESCRIPTOR Brazos = {
 	//
 	// Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
 	//
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)	+
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)	+
 										 sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-										 sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+										 sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/amd/south_station/PlatformGnbPcie.c b/src/mainboard/amd/south_station/PlatformGnbPcie.c
index ee66532..d0fd71b 100644
--- a/src/mainboard/amd/south_station/PlatformGnbPcie.c
+++ b/src/mainboard/amd/south_station/PlatformGnbPcie.c
@@ -116,9 +116,9 @@ PCIe_COMPLEX_DESCRIPTOR Brazos = {
   //
   // Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
   //
-  AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-                                         sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-                                         sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+  AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+                                        sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
+                                        sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
   AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
   AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/amd/thatcher/PlatformGnbPcie.c b/src/mainboard/amd/thatcher/PlatformGnbPcie.c
index 153b13d..2aee86e 100644
--- a/src/mainboard/amd/thatcher/PlatformGnbPcie.c
+++ b/src/mainboard/amd/thatcher/PlatformGnbPcie.c
@@ -137,9 +137,9 @@ OemCustomizeInitEarly (
 	//
 	// Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
 	//
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-					       sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
-					       sizeof (PCIe_DDI_DESCRIPTOR)) * 3;
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+					      sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
+					      sizeof (PCIe_DDI_DESCRIPTOR) * 3;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/amd/torpedo/PlatformGnbPcie.c b/src/mainboard/amd/torpedo/PlatformGnbPcie.c
index 459a342..a42d056 100644
--- a/src/mainboard/amd/torpedo/PlatformGnbPcie.c
+++ b/src/mainboard/amd/torpedo/PlatformGnbPcie.c
@@ -126,9 +126,9 @@ OemCustomizeInitEarly (
   //
   // Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
   //
-  AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-                                         sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
-                                         sizeof (PCIe_DDI_DESCRIPTOR)) * 6;
+  AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+                                        sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
+                                        sizeof (PCIe_DDI_DESCRIPTOR) * 6;
 
   AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
   AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/amd/union_station/PlatformGnbPcie.c b/src/mainboard/amd/union_station/PlatformGnbPcie.c
index 8b100dc..98dd995 100644
--- a/src/mainboard/amd/union_station/PlatformGnbPcie.c
+++ b/src/mainboard/amd/union_station/PlatformGnbPcie.c
@@ -118,9 +118,9 @@ PCIe_COMPLEX_DESCRIPTOR Brazos = {
   //
   // Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
   //
-  AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-                                         sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-                                         sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+  AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+                                        sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
+                                        sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
   AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
   AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/asrock/e350m1/PlatformGnbPcie.c b/src/mainboard/asrock/e350m1/PlatformGnbPcie.c
index cef3e37..ee25ac9 100644
--- a/src/mainboard/asrock/e350m1/PlatformGnbPcie.c
+++ b/src/mainboard/asrock/e350m1/PlatformGnbPcie.c
@@ -118,9 +118,9 @@ PCIe_COMPLEX_DESCRIPTOR Brazos = {
   //
   // Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
   //
-  AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-                                         sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-                                         sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+  AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+                                        sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
+                                        sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
   AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
   AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/asus/f2a85-m/PlatformGnbPcie.c b/src/mainboard/asus/f2a85-m/PlatformGnbPcie.c
index 8ee6707..62ba984 100644
--- a/src/mainboard/asus/f2a85-m/PlatformGnbPcie.c
+++ b/src/mainboard/asus/f2a85-m/PlatformGnbPcie.c
@@ -159,9 +159,9 @@ OemCustomizeInitEarly (
 	//
 	// Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
 	//
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
-					       sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
-					       sizeof (PCIe_DDI_DESCRIPTOR)) * 6;
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)  +
+					      sizeof (PCIe_PORT_DESCRIPTOR) * 7 +
+					      sizeof (PCIe_DDI_DESCRIPTOR) * 6;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/lippert/frontrunner-af/PlatformGnbPcie.c b/src/mainboard/lippert/frontrunner-af/PlatformGnbPcie.c
index e9e482d..9bd9958 100644
--- a/src/mainboard/lippert/frontrunner-af/PlatformGnbPcie.c
+++ b/src/mainboard/lippert/frontrunner-af/PlatformGnbPcie.c
@@ -117,9 +117,9 @@ PCIe_COMPLEX_DESCRIPTOR Brazos = {
 	//
 	// Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
 	//
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)	+
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)	+
 										 sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-										 sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+										 sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;
diff --git a/src/mainboard/lippert/toucan-af/PlatformGnbPcie.c b/src/mainboard/lippert/toucan-af/PlatformGnbPcie.c
index ea59c44..772ea53 100644
--- a/src/mainboard/lippert/toucan-af/PlatformGnbPcie.c
+++ b/src/mainboard/lippert/toucan-af/PlatformGnbPcie.c
@@ -117,9 +117,9 @@ PCIe_COMPLEX_DESCRIPTOR Brazos = {
 	//
 	// Allocate buffer for PCIe_COMPLEX_DESCRIPTOR , PCIe_PORT_DESCRIPTOR and PCIe_DDI_DESCRIPTOR
 	//
-	AllocHeapParams.RequestedBufferSize = (sizeof (PCIe_COMPLEX_DESCRIPTOR)	+
+	AllocHeapParams.RequestedBufferSize = sizeof (PCIe_COMPLEX_DESCRIPTOR)	+
 										 sizeof (PCIe_PORT_DESCRIPTOR) * 5 +
-										 sizeof (PCIe_DDI_DESCRIPTOR)) * 2;
+										 sizeof (PCIe_DDI_DESCRIPTOR) * 2;
 
 	AllocHeapParams.BufferHandle = AMD_MEM_MISC_HANDLES_START;
 	AllocHeapParams.Persist = HEAP_LOCAL_CACHE;



More information about the coreboot-gerrit mailing list