//\r
// Template for SD HC Slot Data.\r
//\r
-SD_PEIM_HC_SLOT gSdHcSlotTemplate = {\r
+SD_PEIM_HC_SLOT gSdHcSlotTemplate = {\r
SD_PEIM_SLOT_SIG, // Signature\r
{ // Media\r
MSG_SD_DP,\r
//\r
// Template for SD HC Private Data.\r
//\r
-SD_PEIM_HC_PRIVATE_DATA gSdHcPrivateTemplate = {\r
+SD_PEIM_HC_PRIVATE_DATA gSdHcPrivateTemplate = {\r
SD_PEIM_SIG, // Signature\r
NULL, // Pool\r
{ // BlkIoPpi\r
0, // SlotNum\r
0 // TotalBlkIoDevices\r
};\r
+\r
/**\r
Gets the count of block I/O devices that one specific block driver detects.\r
\r
OUT UINTN *NumberBlockDevices\r
)\r
{\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
\r
- Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);\r
+ Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);\r
*NumberBlockDevices = Private->TotalBlkIoDevices;\r
return EFI_SUCCESS;\r
}\r
OUT EFI_PEI_BLOCK_IO_MEDIA *MediaInfo\r
)\r
{\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
\r
- Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);\r
+ Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);\r
\r
if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices) || (DeviceIndex > SD_PEIM_MAX_SLOTS)) {\r
return EFI_INVALID_PARAMETER;\r
OUT VOID *Buffer\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT32 BlockSize;\r
- UINTN NumberOfBlocks;\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
- UINTN Remaining;\r
- UINT32 MaxBlock;\r
+ EFI_STATUS Status;\r
+ UINT32 BlockSize;\r
+ UINTN NumberOfBlocks;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ UINTN Remaining;\r
+ UINT32 MaxBlock;\r
\r
Status = EFI_SUCCESS;\r
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);\r
} else {\r
Status = SdPeimRwSingleBlock (&Private->Slot[DeviceIndex - 1], StartLBA, BlockSize, Buffer, BufferSize, TRUE);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
StartLBA += NumberOfBlocks;\r
- Buffer = (UINT8*)Buffer + BufferSize;\r
+ Buffer = (UINT8 *)Buffer + BufferSize;\r
Remaining -= NumberOfBlocks;\r
}\r
+\r
return Status;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
SdBlockIoPeimGetDeviceNo2 (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,\r
- OUT UINTN *NumberBlockDevices\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,\r
+ OUT UINTN *NumberBlockDevices\r
)\r
{\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
\r
- Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);\r
+ Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);\r
*NumberBlockDevices = Private->TotalBlkIoDevices;\r
\r
return EFI_SUCCESS;\r
EFI_STATUS\r
EFIAPI\r
SdBlockIoPeimGetMediaInfo2 (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,\r
- IN UINTN DeviceIndex,\r
- OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,\r
+ IN UINTN DeviceIndex,\r
+ OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo\r
)\r
{\r
- EFI_STATUS Status;\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
- EFI_PEI_BLOCK_IO_MEDIA Media;\r
+ EFI_STATUS Status;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ EFI_PEI_BLOCK_IO_MEDIA Media;\r
\r
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);\r
\r
- Status = SdBlockIoPeimGetMediaInfo (\r
- PeiServices,\r
- &Private->BlkIoPpi,\r
- DeviceIndex,\r
- &Media\r
- );\r
+ Status = SdBlockIoPeimGetMediaInfo (\r
+ PeiServices,\r
+ &Private->BlkIoPpi,\r
+ DeviceIndex,\r
+ &Media\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
EFI_STATUS\r
EFIAPI\r
SdBlockIoPeimReadBlocks2 (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,\r
- IN UINTN DeviceIndex,\r
- IN EFI_PEI_LBA StartLBA,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,\r
+ IN UINTN DeviceIndex,\r
+ IN EFI_PEI_LBA StartLBA,\r
+ IN UINTN BufferSize,\r
+ OUT VOID *Buffer\r
)\r
{\r
- EFI_STATUS Status;\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
-\r
- Status = EFI_SUCCESS;\r
- Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);\r
-\r
- Status = SdBlockIoPeimReadBlocks (\r
- PeiServices,\r
- &Private->BlkIoPpi,\r
- DeviceIndex,\r
- StartLBA,\r
- BufferSize,\r
- Buffer\r
- );\r
+ EFI_STATUS Status;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
+\r
+ Status = EFI_SUCCESS;\r
+ Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);\r
+\r
+ Status = SdBlockIoPeimReadBlocks (\r
+ PeiServices,\r
+ &Private->BlkIoPpi,\r
+ DeviceIndex,\r
+ StartLBA,\r
+ BufferSize,\r
+ Buffer\r
+ );\r
return Status;\r
}\r
\r
IN VOID *Ppi\r
)\r
{\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
\r
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS_NOTIFY (NotifyDescriptor);\r
\r
EFI_STATUS\r
EFIAPI\r
InitializeSdBlockIoPeim (\r
- IN EFI_PEI_FILE_HANDLE FileHandle,\r
- IN CONST EFI_PEI_SERVICES **PeiServices\r
+ IN EFI_PEI_FILE_HANDLE FileHandle,\r
+ IN CONST EFI_PEI_SERVICES **PeiServices\r
)\r
{\r
- EFI_STATUS Status;\r
- SD_PEIM_HC_PRIVATE_DATA *Private;\r
- EDKII_SD_MMC_HOST_CONTROLLER_PPI *SdMmcHcPpi;\r
- UINT32 Index;\r
- UINTN *MmioBase;\r
- UINT8 BarNum;\r
- UINT8 SlotNum;\r
- UINT8 Controller;\r
- UINT64 Capacity;\r
- SD_HC_SLOT_CAP Capability;\r
- SD_PEIM_HC_SLOT *Slot;\r
- SD_CSD *Csd;\r
- SD_CSD2 *Csd2;\r
- UINT32 CSize;\r
- UINT32 CSizeMul;\r
- UINT32 ReadBlLen;\r
+ EFI_STATUS Status;\r
+ SD_PEIM_HC_PRIVATE_DATA *Private;\r
+ EDKII_SD_MMC_HOST_CONTROLLER_PPI *SdMmcHcPpi;\r
+ UINT32 Index;\r
+ UINTN *MmioBase;\r
+ UINT8 BarNum;\r
+ UINT8 SlotNum;\r
+ UINT8 Controller;\r
+ UINT64 Capacity;\r
+ SD_HC_SLOT_CAP Capability;\r
+ SD_PEIM_HC_SLOT *Slot;\r
+ SD_CSD *Csd;\r
+ SD_CSD2 *Csd2;\r
+ UINT32 CSize;\r
+ UINT32 CSizeMul;\r
+ UINT32 ReadBlLen;\r
\r
//\r
// Shadow this PEIM to run from memory\r
&gEdkiiPeiSdMmcHostControllerPpiGuid,\r
0,\r
NULL,\r
- (VOID **) &SdMmcHcPpi\r
+ (VOID **)&SdMmcHcPpi\r
);\r
if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
Status = EFI_OUT_OF_RESOURCES;\r
break;\r
}\r
- Private->BlkIoPpiList.Ppi = (VOID*)&Private->BlkIoPpi;\r
- Private->BlkIo2PpiList.Ppi = (VOID*)&Private->BlkIo2Ppi;\r
+\r
+ Private->BlkIoPpiList.Ppi = (VOID *)&Private->BlkIoPpi;\r
+ Private->BlkIo2PpiList.Ppi = (VOID *)&Private->BlkIo2Ppi;\r
//\r
// Initialize the memory pool which will be used in all transactions.\r
//\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
+\r
if (Capability.SlotType != 0x1) {\r
DEBUG ((DEBUG_INFO, "The slot at 0x%x is not embedded slot type\n", MmioBase[Index]));\r
Status = EFI_UNSUPPORTED;\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
+\r
Status = SdPeimHcCardDetect (MmioBase[Index]);\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
+\r
Status = SdPeimHcInitHost (MmioBase[Index]);\r
if (EFI_ERROR (Status)) {\r
continue;\r
Csd = &Slot->Csd;\r
if (Csd->CsdStructure == 0) {\r
Slot->SectorAddressing = FALSE;\r
- CSize = (Csd->CSizeHigh << 2 | Csd->CSizeLow) + 1;\r
- CSizeMul = (1 << (Csd->CSizeMul + 2));\r
- ReadBlLen = (1 << (Csd->ReadBlLen));\r
- Capacity = MultU64x32 (MultU64x32 ((UINT64)CSize, CSizeMul), ReadBlLen);\r
+ CSize = (Csd->CSizeHigh << 2 | Csd->CSizeLow) + 1;\r
+ CSizeMul = (1 << (Csd->CSizeMul + 2));\r
+ ReadBlLen = (1 << (Csd->ReadBlLen));\r
+ Capacity = MultU64x32 (MultU64x32 ((UINT64)CSize, CSizeMul), ReadBlLen);\r
} else {\r
Slot->SectorAddressing = TRUE;\r
- Csd2 = (SD_CSD2*)(VOID*)Csd;\r
- CSize = (Csd2->CSizeHigh << 16 | Csd2->CSizeLow) + 1;\r
- Capacity = MultU64x32 ((UINT64)CSize, SIZE_512KB);\r
+ Csd2 = (SD_CSD2 *)(VOID *)Csd;\r
+ CSize = (Csd2->CSizeHigh << 16 | Csd2->CSizeLow) + 1;\r
+ Capacity = MultU64x32 ((UINT64)CSize, SIZE_512KB);\r
}\r
\r
Slot->Media.LastBlock = DivU64x32 (Capacity, Slot->Media.BlockSize) - 1;\r