Reviewed-by: Nate DeSimone <nathaniel.l.desim...@intel.com> -----Original Message----- From: mikub...@linux.microsoft.com <mikub...@linux.microsoft.com> Sent: Thursday, October 28, 2021 3:09 PM To: devel@edk2.groups.io Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L <nathaniel.l.desim...@intel.com>; Benjamin Doron <benjamin.doro...@gmail.com> Subject: [PATCH v6 46/52] KabylakeOpenBoardPkg/PeiSerialPortLibSpiFlash: Update for new SPI PPI API
From: Michael Kubacki <michael.kuba...@microsoft.com> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3307 Updates usage of gPchSpiPpiGuid to use the new interface that identifies SPI flash regions by GUID. Cc: Chasel Chiu <chasel.c...@intel.com> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> Reviewed-by: Chasel Chiu <chasel.c...@intel.com> Tested-by: Benjamin Doron <benjamin.doro...@gmail.com> --- Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.c | 46 ++++++++++---------- Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.inf | 3 +- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.c b/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.c index fc48bdc6fccb..17fa328add1c 100644 --- a/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.c +++ b/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFla +++ sh/PeiSerialPortLibSpiFlash.c @@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include <Base.h> -#include <Ppi/Spi.h> +#include <Ppi/Spi2.h> #include <Library/BaseLib.h> #include <Library/BaseMemoryLib.h> #include <Library/HobLib.h> @@ -24,29 +24,29 @@ typedef struct { /** Returns a pointer to the PCH SPI PPI. - @return Pointer to PCH_SPI_PPI If an instance of the PCH SPI PPI is found + @return Pointer to PCH_SPI2_PPI If an instance of the PCH SPI PPI is found @return NULL If an instance of the PCH SPI PPI is not found **/ -PCH_SPI_PPI * +PCH_SPI2_PPI * GetSpiPpi ( VOID ) { EFI_STATUS Status; - PCH_SPI_PPI *PchSpiPpi; + PCH_SPI2_PPI *PchSpi2Ppi; Status = PeiServicesLocatePpi ( - &gPchSpiPpiGuid, + &gPchSpi2PpiGuid, 0, NULL, - (VOID **) &PchSpiPpi + (VOID **) &PchSpi2Ppi ); if (EFI_ERROR (Status)) { return NULL; } - return PchSpiPpi; + return PchSpi2Ppi; } /** @@ -67,7 +67,7 @@ SerialPortWrite ( EFI_STATUS Status; EFI_HOB_GUID_TYPE *GuidHob; SPI_FLASH_DEBUG_CONTEXT *Context; - PCH_SPI_PPI *PchSpiPpi; + PCH_SPI2_PPI *PchSpi2Ppi; UINT32 BytesWritten; UINT32 SourceBufferOffset; UINT32 NvMessageAreaSize; @@ -89,19 +89,19 @@ SerialPortWrite ( if (Context == NULL || Context->CurrentWriteOffset >= NvMessageAreaSize) { return 0; } - PchSpiPpi = GetSpiPpi (); - if (PchSpiPpi == NULL) { + PchSpi2Ppi = GetSpiPpi (); + if (PchSpi2Ppi == NULL) { return 0; } if ((Context->CurrentWriteOffset + NumberOfBytes) / NvMessageAreaSize > 0) { LinearOffset = (UINT32) (FixedPcdGet32 (PcdFlashNvDebugMessageBase) - FixedPcdGet32 (PcdFlashAreaBaseAddress)); - Status = PchSpiPpi->FlashErase ( - PchSpiPpi, - FlashRegionBios, - LinearOffset, - NvMessageAreaSize - ); + Status = PchSpi2Ppi->FlashErase ( + PchSpi2Ppi, + &gFlashRegionBiosGuid, + LinearOffset, + NvMessageAreaSize + ); if (!EFI_ERROR (Status)) { Context->CurrentWriteOffset = 0; } else { @@ -116,13 +116,13 @@ SerialPortWrite ( LinearOffset = (FixedPcdGet32 (PcdFlashNvDebugMessageBase) + Context->CurrentWriteOffset) - FixedPcdGet32 (PcdFlashAreaBaseAddress); - Status = PchSpiPpi->FlashWrite ( - PchSpiPpi, - FlashRegionBios, - LinearOffset, - BytesWritten, - (UINT8 *) &Buffer[SourceBufferOffset] - ); + Status = PchSpi2Ppi->FlashWrite ( + PchSpi2Ppi, + &gFlashRegionBiosGuid, + LinearOffset, + BytesWritten, + (UINT8 *) &Buffer[SourceBufferOffset] + ); if (!EFI_ERROR (Status)) { Context->CurrentWriteOffset += BytesWritten; return BytesWritten; diff --git a/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.inf b/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.inf index b959cd1f4612..651bf93faf62 100644 --- a/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFlash/PeiSerialPortLibSpiFlash.inf +++ b/Platform/Intel/KabylakeOpenBoardPkg/Library/PeiSerialPortLibSpiFla +++ sh/PeiSerialPortLibSpiFlash.inf @@ -40,9 +40,10 @@ [Sources] PeiSerialPortLibSpiFlash.c [Ppis] - gPchSpiPpiGuid + gPchSpi2PpiGuid [Guids] + gFlashRegionBiosGuid gSpiFlashDebugHobGuid [Pcd] -- 2.28.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83189): https://edk2.groups.io/g/devel/message/83189 Mute This Topic: https://groups.io/mt/86664068/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-