From bfde902ae7bf4a4612e7f7dd3009304fc4d6ea0b Mon Sep 17 00:00:00 2001 From: Pipat Methavanitpong Date: Wed, 15 Nov 2017 18:17:26 +0900 Subject: Silicon/Fip006Dxe: map NOR_FLASH_INFO FSR flag with instance flag Now that we incorporated NorFlashInfoLib into the Fip006Dxe driver, replace the code that explicitly enables flag status register polling for Micron NOR flash with a test of the flags field provided by NorFlashInfoLib, which carries the same information. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pipat Methavanitpong Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm --- .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'Silicon') diff --git a/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c b/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c index a521b1f3..8d6bca87 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c +++ b/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c @@ -1129,6 +1129,7 @@ NorFlashCreateInstance ( { EFI_STATUS Status; NOR_FLASH_INSTANCE* Instance; + NOR_FLASH_INFO *FlashInfo; UINT8 JedecId[3]; ASSERT(NorFlashInstance != NULL); @@ -1157,23 +1158,15 @@ NorFlashCreateInstance ( NorFlashReset (Instance); NorFlashReadID (Instance, JedecId); + Status = NorFlashGetInfo (JedecId, &FlashInfo, FALSE); + if (EFI_ERROR (Status)) { + goto FreeInstance; + } - DEBUG_CODE_BEGIN (); - { - NOR_FLASH_INFO *FlashInfo; - - Status = NorFlashGetInfo (JedecId, &FlashInfo, FALSE); - if (EFI_ERROR (Status)) { - goto FreeInstance; - } - - NorFlashPrintInfo (FlashInfo); - FreePool (FlashInfo); - } - DEBUG_CODE_END (); + NorFlashPrintInfo (FlashInfo); Instance->Flags = 0; - if (JedecId[0] == NOR_FLASH_ID_STMICRO) { + if (FlashInfo->Flags & NOR_FLASH_WRITE_FSR) { Instance->Flags = NOR_FLASH_POLL_FSR; } @@ -1198,6 +1191,7 @@ NorFlashCreateInstance ( } *NorFlashInstance = Instance; + FreePool (FlashInfo); return EFI_SUCCESS; FreeInstance: -- cgit v1.2.3