MdeModulePkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
committed by
mergify[bot]
parent
7c7184e201
commit
1436aea4d5
@@ -32,11 +32,11 @@ EDKII_IOMMU_PPI *mIoMmu;
|
||||
**/
|
||||
EFI_STATUS
|
||||
IoMmuMap (
|
||||
IN EDKII_IOMMU_OPERATION Operation,
|
||||
IN VOID *HostAddress,
|
||||
IN OUT UINTN *NumberOfBytes,
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
IN EDKII_IOMMU_OPERATION Operation,
|
||||
IN VOID *HostAddress,
|
||||
IN OUT UINTN *NumberOfBytes,
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@@ -54,23 +54,25 @@ IoMmuMap (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
switch (Operation) {
|
||||
case EdkiiIoMmuOperationBusMasterRead:
|
||||
case EdkiiIoMmuOperationBusMasterRead64:
|
||||
Attribute = EDKII_IOMMU_ACCESS_READ;
|
||||
break;
|
||||
case EdkiiIoMmuOperationBusMasterWrite:
|
||||
case EdkiiIoMmuOperationBusMasterWrite64:
|
||||
Attribute = EDKII_IOMMU_ACCESS_WRITE;
|
||||
break;
|
||||
case EdkiiIoMmuOperationBusMasterCommonBuffer:
|
||||
case EdkiiIoMmuOperationBusMasterCommonBuffer64:
|
||||
Attribute = EDKII_IOMMU_ACCESS_READ | EDKII_IOMMU_ACCESS_WRITE;
|
||||
break;
|
||||
default:
|
||||
ASSERT(FALSE);
|
||||
return EFI_INVALID_PARAMETER;
|
||||
case EdkiiIoMmuOperationBusMasterRead:
|
||||
case EdkiiIoMmuOperationBusMasterRead64:
|
||||
Attribute = EDKII_IOMMU_ACCESS_READ;
|
||||
break;
|
||||
case EdkiiIoMmuOperationBusMasterWrite:
|
||||
case EdkiiIoMmuOperationBusMasterWrite64:
|
||||
Attribute = EDKII_IOMMU_ACCESS_WRITE;
|
||||
break;
|
||||
case EdkiiIoMmuOperationBusMasterCommonBuffer:
|
||||
case EdkiiIoMmuOperationBusMasterCommonBuffer64:
|
||||
Attribute = EDKII_IOMMU_ACCESS_READ | EDKII_IOMMU_ACCESS_WRITE;
|
||||
break;
|
||||
default:
|
||||
ASSERT (FALSE);
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
Status = mIoMmu->SetAttribute (
|
||||
mIoMmu,
|
||||
*Mapping,
|
||||
@@ -81,9 +83,10 @@ IoMmuMap (
|
||||
}
|
||||
} else {
|
||||
*DeviceAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)HostAddress;
|
||||
*Mapping = NULL;
|
||||
Status = EFI_SUCCESS;
|
||||
*Mapping = NULL;
|
||||
Status = EFI_SUCCESS;
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -98,7 +101,7 @@ IoMmuMap (
|
||||
**/
|
||||
EFI_STATUS
|
||||
IoMmuUnmap (
|
||||
IN VOID *Mapping
|
||||
IN VOID *Mapping
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@@ -109,6 +112,7 @@ IoMmuUnmap (
|
||||
} else {
|
||||
Status = EFI_SUCCESS;
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -142,7 +146,7 @@ IoMmuAllocateBuffer (
|
||||
UINTN NumberOfBytes;
|
||||
EFI_PHYSICAL_ADDRESS HostPhyAddress;
|
||||
|
||||
*HostAddress = NULL;
|
||||
*HostAddress = NULL;
|
||||
*DeviceAddress = 0;
|
||||
|
||||
if (mIoMmu != NULL) {
|
||||
@@ -157,18 +161,19 @@ IoMmuAllocateBuffer (
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
NumberOfBytes = EFI_PAGES_TO_SIZE(Pages);
|
||||
Status = mIoMmu->Map (
|
||||
mIoMmu,
|
||||
EdkiiIoMmuOperationBusMasterCommonBuffer,
|
||||
*HostAddress,
|
||||
&NumberOfBytes,
|
||||
DeviceAddress,
|
||||
Mapping
|
||||
);
|
||||
NumberOfBytes = EFI_PAGES_TO_SIZE (Pages);
|
||||
Status = mIoMmu->Map (
|
||||
mIoMmu,
|
||||
EdkiiIoMmuOperationBusMasterCommonBuffer,
|
||||
*HostAddress,
|
||||
&NumberOfBytes,
|
||||
DeviceAddress,
|
||||
Mapping
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
Status = mIoMmu->SetAttribute (
|
||||
mIoMmu,
|
||||
*Mapping,
|
||||
@@ -186,10 +191,12 @@ IoMmuAllocateBuffer (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
*HostAddress = (VOID *)(UINTN)HostPhyAddress;
|
||||
|
||||
*HostAddress = (VOID *)(UINTN)HostPhyAddress;
|
||||
*DeviceAddress = HostPhyAddress;
|
||||
*Mapping = NULL;
|
||||
*Mapping = NULL;
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -207,9 +214,9 @@ IoMmuAllocateBuffer (
|
||||
**/
|
||||
EFI_STATUS
|
||||
IoMmuFreeBuffer (
|
||||
IN UINTN Pages,
|
||||
IN VOID *HostAddress,
|
||||
IN VOID *Mapping
|
||||
IN UINTN Pages,
|
||||
IN VOID *HostAddress,
|
||||
IN VOID *Mapping
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@@ -221,6 +228,7 @@ IoMmuFreeBuffer (
|
||||
} else {
|
||||
Status = EFI_SUCCESS;
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -239,4 +247,3 @@ IoMmuInit (
|
||||
(VOID **)&mIoMmu
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
//
|
||||
// Template for SD HC Slot Data.
|
||||
//
|
||||
SD_PEIM_HC_SLOT gSdHcSlotTemplate = {
|
||||
SD_PEIM_HC_SLOT gSdHcSlotTemplate = {
|
||||
SD_PEIM_SLOT_SIG, // Signature
|
||||
{ // Media
|
||||
MSG_SD_DP,
|
||||
@@ -34,7 +34,7 @@ SD_PEIM_HC_SLOT gSdHcSlotTemplate = {
|
||||
//
|
||||
// Template for SD HC Private Data.
|
||||
//
|
||||
SD_PEIM_HC_PRIVATE_DATA gSdHcPrivateTemplate = {
|
||||
SD_PEIM_HC_PRIVATE_DATA gSdHcPrivateTemplate = {
|
||||
SD_PEIM_SIG, // Signature
|
||||
NULL, // Pool
|
||||
{ // BlkIoPpi
|
||||
@@ -86,6 +86,7 @@ SD_PEIM_HC_PRIVATE_DATA gSdHcPrivateTemplate = {
|
||||
0, // SlotNum
|
||||
0 // TotalBlkIoDevices
|
||||
};
|
||||
|
||||
/**
|
||||
Gets the count of block I/O devices that one specific block driver detects.
|
||||
|
||||
@@ -113,9 +114,9 @@ SdBlockIoPeimGetDeviceNo (
|
||||
OUT UINTN *NumberBlockDevices
|
||||
)
|
||||
{
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);
|
||||
*NumberBlockDevices = Private->TotalBlkIoDevices;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -170,9 +171,9 @@ SdBlockIoPeimGetMediaInfo (
|
||||
OUT EFI_PEI_BLOCK_IO_MEDIA *MediaInfo
|
||||
)
|
||||
{
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices) || (DeviceIndex > SD_PEIM_MAX_SLOTS)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@@ -231,12 +232,12 @@ SdBlockIoPeimReadBlocks (
|
||||
OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINT32 BlockSize;
|
||||
UINTN NumberOfBlocks;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
UINTN Remaining;
|
||||
UINT32 MaxBlock;
|
||||
EFI_STATUS Status;
|
||||
UINT32 BlockSize;
|
||||
UINTN NumberOfBlocks;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
UINTN Remaining;
|
||||
UINT32 MaxBlock;
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);
|
||||
@@ -286,14 +287,16 @@ SdBlockIoPeimReadBlocks (
|
||||
} else {
|
||||
Status = SdPeimRwSingleBlock (&Private->Slot[DeviceIndex - 1], StartLBA, BlockSize, Buffer, BufferSize, TRUE);
|
||||
}
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
StartLBA += NumberOfBlocks;
|
||||
Buffer = (UINT8*)Buffer + BufferSize;
|
||||
Buffer = (UINT8 *)Buffer + BufferSize;
|
||||
Remaining -= NumberOfBlocks;
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -319,14 +322,14 @@ SdBlockIoPeimReadBlocks (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SdBlockIoPeimGetDeviceNo2 (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
OUT UINTN *NumberBlockDevices
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
OUT UINTN *NumberBlockDevices
|
||||
)
|
||||
{
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);
|
||||
*NumberBlockDevices = Private->TotalBlkIoDevices;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@@ -376,24 +379,24 @@ SdBlockIoPeimGetDeviceNo2 (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SdBlockIoPeimGetMediaInfo2 (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
EFI_PEI_BLOCK_IO_MEDIA Media;
|
||||
EFI_STATUS Status;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
EFI_PEI_BLOCK_IO_MEDIA Media;
|
||||
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);
|
||||
|
||||
Status = SdBlockIoPeimGetMediaInfo (
|
||||
PeiServices,
|
||||
&Private->BlkIoPpi,
|
||||
DeviceIndex,
|
||||
&Media
|
||||
);
|
||||
Status = SdBlockIoPeimGetMediaInfo (
|
||||
PeiServices,
|
||||
&Private->BlkIoPpi,
|
||||
DeviceIndex,
|
||||
&Media
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
@@ -439,28 +442,28 @@ SdBlockIoPeimGetMediaInfo2 (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SdBlockIoPeimReadBlocks2 (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
IN EFI_PEI_LBA StartLBA,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
IN EFI_PEI_LBA StartLBA,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
EFI_STATUS Status;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);
|
||||
Status = EFI_SUCCESS;
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2 (This);
|
||||
|
||||
Status = SdBlockIoPeimReadBlocks (
|
||||
PeiServices,
|
||||
&Private->BlkIoPpi,
|
||||
DeviceIndex,
|
||||
StartLBA,
|
||||
BufferSize,
|
||||
Buffer
|
||||
);
|
||||
Status = SdBlockIoPeimReadBlocks (
|
||||
PeiServices,
|
||||
&Private->BlkIoPpi,
|
||||
DeviceIndex,
|
||||
StartLBA,
|
||||
BufferSize,
|
||||
Buffer
|
||||
);
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -483,7 +486,7 @@ SdBlockIoPeimEndOfPei (
|
||||
IN VOID *Ppi
|
||||
)
|
||||
{
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
|
||||
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS_NOTIFY (NotifyDescriptor);
|
||||
|
||||
@@ -507,26 +510,26 @@ SdBlockIoPeimEndOfPei (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitializeSdBlockIoPeim (
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
EDKII_SD_MMC_HOST_CONTROLLER_PPI *SdMmcHcPpi;
|
||||
UINT32 Index;
|
||||
UINTN *MmioBase;
|
||||
UINT8 BarNum;
|
||||
UINT8 SlotNum;
|
||||
UINT8 Controller;
|
||||
UINT64 Capacity;
|
||||
SD_HC_SLOT_CAP Capability;
|
||||
SD_PEIM_HC_SLOT *Slot;
|
||||
SD_CSD *Csd;
|
||||
SD_CSD2 *Csd2;
|
||||
UINT32 CSize;
|
||||
UINT32 CSizeMul;
|
||||
UINT32 ReadBlLen;
|
||||
EFI_STATUS Status;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
EDKII_SD_MMC_HOST_CONTROLLER_PPI *SdMmcHcPpi;
|
||||
UINT32 Index;
|
||||
UINTN *MmioBase;
|
||||
UINT8 BarNum;
|
||||
UINT8 SlotNum;
|
||||
UINT8 Controller;
|
||||
UINT64 Capacity;
|
||||
SD_HC_SLOT_CAP Capability;
|
||||
SD_PEIM_HC_SLOT *Slot;
|
||||
SD_CSD *Csd;
|
||||
SD_CSD2 *Csd2;
|
||||
UINT32 CSize;
|
||||
UINT32 CSizeMul;
|
||||
UINT32 ReadBlLen;
|
||||
|
||||
//
|
||||
// Shadow this PEIM to run from memory
|
||||
@@ -542,7 +545,7 @@ InitializeSdBlockIoPeim (
|
||||
&gEdkiiPeiSdMmcHostControllerPpiGuid,
|
||||
0,
|
||||
NULL,
|
||||
(VOID **) &SdMmcHcPpi
|
||||
(VOID **)&SdMmcHcPpi
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_DEVICE_ERROR;
|
||||
@@ -571,8 +574,9 @@ InitializeSdBlockIoPeim (
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
break;
|
||||
}
|
||||
Private->BlkIoPpiList.Ppi = (VOID*)&Private->BlkIoPpi;
|
||||
Private->BlkIo2PpiList.Ppi = (VOID*)&Private->BlkIo2Ppi;
|
||||
|
||||
Private->BlkIoPpiList.Ppi = (VOID *)&Private->BlkIoPpi;
|
||||
Private->BlkIo2PpiList.Ppi = (VOID *)&Private->BlkIo2Ppi;
|
||||
//
|
||||
// Initialize the memory pool which will be used in all transactions.
|
||||
//
|
||||
@@ -587,6 +591,7 @@ InitializeSdBlockIoPeim (
|
||||
if (EFI_ERROR (Status)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Capability.SlotType != 0x1) {
|
||||
DEBUG ((DEBUG_INFO, "The slot at 0x%x is not embedded slot type\n", MmioBase[Index]));
|
||||
Status = EFI_UNSUPPORTED;
|
||||
@@ -597,10 +602,12 @@ InitializeSdBlockIoPeim (
|
||||
if (EFI_ERROR (Status)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Status = SdPeimHcCardDetect (MmioBase[Index]);
|
||||
if (EFI_ERROR (Status)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Status = SdPeimHcInitHost (MmioBase[Index]);
|
||||
if (EFI_ERROR (Status)) {
|
||||
continue;
|
||||
@@ -621,15 +628,15 @@ InitializeSdBlockIoPeim (
|
||||
Csd = &Slot->Csd;
|
||||
if (Csd->CsdStructure == 0) {
|
||||
Slot->SectorAddressing = FALSE;
|
||||
CSize = (Csd->CSizeHigh << 2 | Csd->CSizeLow) + 1;
|
||||
CSizeMul = (1 << (Csd->CSizeMul + 2));
|
||||
ReadBlLen = (1 << (Csd->ReadBlLen));
|
||||
Capacity = MultU64x32 (MultU64x32 ((UINT64)CSize, CSizeMul), ReadBlLen);
|
||||
CSize = (Csd->CSizeHigh << 2 | Csd->CSizeLow) + 1;
|
||||
CSizeMul = (1 << (Csd->CSizeMul + 2));
|
||||
ReadBlLen = (1 << (Csd->ReadBlLen));
|
||||
Capacity = MultU64x32 (MultU64x32 ((UINT64)CSize, CSizeMul), ReadBlLen);
|
||||
} else {
|
||||
Slot->SectorAddressing = TRUE;
|
||||
Csd2 = (SD_CSD2*)(VOID*)Csd;
|
||||
CSize = (Csd2->CSizeHigh << 16 | Csd2->CSizeLow) + 1;
|
||||
Capacity = MultU64x32 ((UINT64)CSize, SIZE_512KB);
|
||||
Csd2 = (SD_CSD2 *)(VOID *)Csd;
|
||||
CSize = (Csd2->CSizeHigh << 16 | Csd2->CSizeLow) + 1;
|
||||
Capacity = MultU64x32 ((UINT64)CSize, SIZE_512KB);
|
||||
}
|
||||
|
||||
Slot->Media.LastBlock = DivU64x32 (Capacity, Slot->Media.BlockSize) - 1;
|
||||
|
@@ -26,27 +26,27 @@
|
||||
|
||||
#include <IndustryStandard/Sd.h>
|
||||
|
||||
typedef struct _SD_PEIM_HC_PRIVATE_DATA SD_PEIM_HC_PRIVATE_DATA;
|
||||
typedef struct _SD_PEIM_HC_SLOT SD_PEIM_HC_SLOT;
|
||||
typedef struct _SD_TRB SD_TRB;
|
||||
typedef struct _SD_PEIM_HC_PRIVATE_DATA SD_PEIM_HC_PRIVATE_DATA;
|
||||
typedef struct _SD_PEIM_HC_SLOT SD_PEIM_HC_SLOT;
|
||||
typedef struct _SD_TRB SD_TRB;
|
||||
|
||||
#include "SdHci.h"
|
||||
#include "SdHcMem.h"
|
||||
|
||||
#define SD_PEIM_SIG SIGNATURE_32 ('S', 'D', 'C', 'P')
|
||||
#define SD_PEIM_SLOT_SIG SIGNATURE_32 ('S', 'D', 'C', 'S')
|
||||
#define SD_PEIM_SIG SIGNATURE_32 ('S', 'D', 'C', 'P')
|
||||
#define SD_PEIM_SLOT_SIG SIGNATURE_32 ('S', 'D', 'C', 'S')
|
||||
|
||||
#define SD_PEIM_MAX_SLOTS 6
|
||||
#define SD_PEIM_MAX_SLOTS 6
|
||||
|
||||
struct _SD_PEIM_HC_SLOT {
|
||||
UINT32 Signature;
|
||||
EFI_PEI_BLOCK_IO2_MEDIA Media;
|
||||
UINT32 Signature;
|
||||
EFI_PEI_BLOCK_IO2_MEDIA Media;
|
||||
|
||||
UINTN SdHcBase;
|
||||
SD_HC_SLOT_CAP Capability;
|
||||
SD_CSD Csd;
|
||||
BOOLEAN SectorAddressing;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
UINTN SdHcBase;
|
||||
SD_HC_SLOT_CAP Capability;
|
||||
SD_CSD Csd;
|
||||
BOOLEAN SectorAddressing;
|
||||
SD_PEIM_HC_PRIVATE_DATA *Private;
|
||||
};
|
||||
|
||||
struct _SD_PEIM_HC_PRIVATE_DATA {
|
||||
@@ -67,27 +67,27 @@ struct _SD_PEIM_HC_PRIVATE_DATA {
|
||||
UINT8 TotalBlkIoDevices;
|
||||
};
|
||||
|
||||
#define SD_TIMEOUT MultU64x32((UINT64)(3), 1000000)
|
||||
#define GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS(a) CR (a, SD_PEIM_HC_PRIVATE_DATA, BlkIoPpi, SD_PEIM_SIG)
|
||||
#define GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2(a) CR (a, SD_PEIM_HC_PRIVATE_DATA, BlkIo2Ppi, SD_PEIM_SIG)
|
||||
#define GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS_NOTIFY(a) CR (a, SD_PEIM_HC_PRIVATE_DATA, EndOfPeiNotifyList, SD_PEIM_SIG)
|
||||
#define SD_TIMEOUT MultU64x32((UINT64)(3), 1000000)
|
||||
#define GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS(a) CR (a, SD_PEIM_HC_PRIVATE_DATA, BlkIoPpi, SD_PEIM_SIG)
|
||||
#define GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS2(a) CR (a, SD_PEIM_HC_PRIVATE_DATA, BlkIo2Ppi, SD_PEIM_SIG)
|
||||
#define GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS_NOTIFY(a) CR (a, SD_PEIM_HC_PRIVATE_DATA, EndOfPeiNotifyList, SD_PEIM_SIG)
|
||||
|
||||
struct _SD_TRB {
|
||||
SD_PEIM_HC_SLOT *Slot;
|
||||
UINT16 BlockSize;
|
||||
SD_PEIM_HC_SLOT *Slot;
|
||||
UINT16 BlockSize;
|
||||
|
||||
SD_COMMAND_PACKET *Packet;
|
||||
VOID *Data;
|
||||
UINT32 DataLen;
|
||||
BOOLEAN Read;
|
||||
EFI_PHYSICAL_ADDRESS DataPhy;
|
||||
VOID *DataMap;
|
||||
SD_HC_TRANSFER_MODE Mode;
|
||||
SD_COMMAND_PACKET *Packet;
|
||||
VOID *Data;
|
||||
UINT32 DataLen;
|
||||
BOOLEAN Read;
|
||||
EFI_PHYSICAL_ADDRESS DataPhy;
|
||||
VOID *DataMap;
|
||||
SD_HC_TRANSFER_MODE Mode;
|
||||
|
||||
UINT64 Timeout;
|
||||
UINT64 Timeout;
|
||||
|
||||
SD_HC_ADMA_DESC_LINE *AdmaDesc;
|
||||
UINTN AdmaDescSize;
|
||||
SD_HC_ADMA_DESC_LINE *AdmaDesc;
|
||||
UINTN AdmaDescSize;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -234,9 +234,9 @@ SdBlockIoPeimReadBlocks (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SdBlockIoPeimGetDeviceNo2 (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
OUT UINTN *NumberBlockDevices
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
OUT UINTN *NumberBlockDevices
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -283,10 +283,10 @@ SdBlockIoPeimGetDeviceNo2 (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SdBlockIoPeimGetMediaInfo2 (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -326,12 +326,12 @@ SdBlockIoPeimGetMediaInfo2 (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SdBlockIoPeimReadBlocks2 (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
IN EFI_PEI_LBA StartLBA,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *This,
|
||||
IN UINTN DeviceIndex,
|
||||
IN EFI_PEI_LBA StartLBA,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -345,7 +345,7 @@ SdBlockIoPeimReadBlocks2 (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimInitMemPool (
|
||||
IN SD_PEIM_HC_PRIVATE_DATA *Private
|
||||
IN SD_PEIM_HC_PRIVATE_DATA *Private
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -359,7 +359,7 @@ SdPeimInitMemPool (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimFreeMemPool (
|
||||
IN SD_PEIM_MEM_POOL *Pool
|
||||
IN SD_PEIM_MEM_POOL *Pool
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -374,8 +374,8 @@ SdPeimFreeMemPool (
|
||||
**/
|
||||
VOID *
|
||||
SdPeimAllocateMem (
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN UINTN Size
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -388,9 +388,9 @@ SdPeimAllocateMem (
|
||||
**/
|
||||
VOID
|
||||
SdPeimFreeMem (
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN VOID *Mem,
|
||||
IN UINTN Size
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN VOID *Mem,
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -422,11 +422,11 @@ IoMmuInit (
|
||||
**/
|
||||
EFI_STATUS
|
||||
IoMmuMap (
|
||||
IN EDKII_IOMMU_OPERATION Operation,
|
||||
IN VOID *HostAddress,
|
||||
IN OUT UINTN *NumberOfBytes,
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
IN EDKII_IOMMU_OPERATION Operation,
|
||||
IN VOID *HostAddress,
|
||||
IN OUT UINTN *NumberOfBytes,
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -440,7 +440,7 @@ IoMmuMap (
|
||||
**/
|
||||
EFI_STATUS
|
||||
IoMmuUnmap (
|
||||
IN VOID *Mapping
|
||||
IN VOID *Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -483,9 +483,9 @@ IoMmuAllocateBuffer (
|
||||
**/
|
||||
EFI_STATUS
|
||||
IoMmuFreeBuffer (
|
||||
IN UINTN Pages,
|
||||
IN VOID *HostAddress,
|
||||
IN VOID *Mapping
|
||||
IN UINTN Pages,
|
||||
IN VOID *HostAddress,
|
||||
IN VOID *Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
|
@@ -18,25 +18,25 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
SD_PEIM_MEM_BLOCK *
|
||||
SdPeimAllocMemBlock (
|
||||
IN UINTN Pages
|
||||
IN UINTN Pages
|
||||
)
|
||||
{
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
VOID *BufHost;
|
||||
VOID *Mapping;
|
||||
EFI_PHYSICAL_ADDRESS MappedAddr;
|
||||
EFI_STATUS Status;
|
||||
VOID *TempPtr;
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
VOID *BufHost;
|
||||
VOID *Mapping;
|
||||
EFI_PHYSICAL_ADDRESS MappedAddr;
|
||||
EFI_STATUS Status;
|
||||
VOID *TempPtr;
|
||||
|
||||
TempPtr = NULL;
|
||||
Block = NULL;
|
||||
|
||||
Status = PeiServicesAllocatePool (sizeof(SD_PEIM_MEM_BLOCK), &TempPtr);
|
||||
Status = PeiServicesAllocatePool (sizeof (SD_PEIM_MEM_BLOCK), &TempPtr);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ZeroMem ((VOID*)(UINTN)TempPtr, sizeof(SD_PEIM_MEM_BLOCK));
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, sizeof (SD_PEIM_MEM_BLOCK));
|
||||
|
||||
//
|
||||
// each bit in the bit array represents SD_PEIM_MEM_UNIT
|
||||
@@ -44,18 +44,18 @@ SdPeimAllocMemBlock (
|
||||
//
|
||||
ASSERT (SD_PEIM_MEM_UNIT * 8 <= EFI_PAGE_SIZE);
|
||||
|
||||
Block = (SD_PEIM_MEM_BLOCK*)(UINTN)TempPtr;
|
||||
Block->BufLen = EFI_PAGES_TO_SIZE (Pages);
|
||||
Block->BitsLen = Block->BufLen / (SD_PEIM_MEM_UNIT * 8);
|
||||
Block = (SD_PEIM_MEM_BLOCK *)(UINTN)TempPtr;
|
||||
Block->BufLen = EFI_PAGES_TO_SIZE (Pages);
|
||||
Block->BitsLen = Block->BufLen / (SD_PEIM_MEM_UNIT * 8);
|
||||
|
||||
Status = PeiServicesAllocatePool (Block->BitsLen, &TempPtr);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ZeroMem ((VOID*)(UINTN)TempPtr, Block->BitsLen);
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, Block->BitsLen);
|
||||
|
||||
Block->Bits = (UINT8*)(UINTN)TempPtr;
|
||||
Block->Bits = (UINT8 *)(UINTN)TempPtr;
|
||||
|
||||
Status = IoMmuAllocateBuffer (
|
||||
Pages,
|
||||
@@ -67,10 +67,10 @@ SdPeimAllocMemBlock (
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ZeroMem ((VOID*)(UINTN)BufHost, EFI_PAGES_TO_SIZE (Pages));
|
||||
ZeroMem ((VOID *)(UINTN)BufHost, EFI_PAGES_TO_SIZE (Pages));
|
||||
|
||||
Block->BufHost = (UINT8 *) (UINTN) BufHost;
|
||||
Block->Buf = (UINT8 *) (UINTN) MappedAddr;
|
||||
Block->BufHost = (UINT8 *)(UINTN)BufHost;
|
||||
Block->Buf = (UINT8 *)(UINTN)MappedAddr;
|
||||
Block->Mapping = Mapping;
|
||||
Block->Next = NULL;
|
||||
|
||||
@@ -86,8 +86,8 @@ SdPeimAllocMemBlock (
|
||||
**/
|
||||
VOID
|
||||
SdPeimFreeMemBlock (
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN SD_PEIM_MEM_BLOCK *Block
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN SD_PEIM_MEM_BLOCK *Block
|
||||
)
|
||||
{
|
||||
ASSERT ((Pool != NULL) && (Block != NULL));
|
||||
@@ -107,22 +107,22 @@ SdPeimFreeMemBlock (
|
||||
**/
|
||||
VOID *
|
||||
SdPeimAllocMemFromBlock (
|
||||
IN SD_PEIM_MEM_BLOCK *Block,
|
||||
IN UINTN Units
|
||||
IN SD_PEIM_MEM_BLOCK *Block,
|
||||
IN UINTN Units
|
||||
)
|
||||
{
|
||||
UINTN Byte;
|
||||
UINT8 Bit;
|
||||
UINTN StartByte;
|
||||
UINT8 StartBit;
|
||||
UINTN Available;
|
||||
UINTN Count;
|
||||
UINTN Byte;
|
||||
UINT8 Bit;
|
||||
UINTN StartByte;
|
||||
UINT8 StartBit;
|
||||
UINTN Available;
|
||||
UINTN Count;
|
||||
|
||||
ASSERT ((Block != 0) && (Units != 0));
|
||||
|
||||
StartByte = 0;
|
||||
StartBit = 0;
|
||||
Available = 0;
|
||||
StartByte = 0;
|
||||
StartBit = 0;
|
||||
Available = 0;
|
||||
|
||||
for (Byte = 0, Bit = 0; Byte < Block->BitsLen;) {
|
||||
//
|
||||
@@ -138,13 +138,12 @@ SdPeimAllocMemFromBlock (
|
||||
}
|
||||
|
||||
SD_PEIM_NEXT_BIT (Byte, Bit);
|
||||
|
||||
} else {
|
||||
SD_PEIM_NEXT_BIT (Byte, Bit);
|
||||
|
||||
Available = 0;
|
||||
StartByte = Byte;
|
||||
StartBit = Bit;
|
||||
Available = 0;
|
||||
StartByte = Byte;
|
||||
StartBit = Bit;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,13 +154,13 @@ SdPeimAllocMemFromBlock (
|
||||
//
|
||||
// Mark the memory as allocated
|
||||
//
|
||||
Byte = StartByte;
|
||||
Bit = StartBit;
|
||||
Byte = StartByte;
|
||||
Bit = StartBit;
|
||||
|
||||
for (Count = 0; Count < Units; Count++) {
|
||||
ASSERT (!SD_PEIM_MEM_BIT_IS_SET (Block->Bits[Byte], Bit));
|
||||
|
||||
Block->Bits[Byte] = (UINT8) (Block->Bits[Byte] | (UINT8) SD_PEIM_MEM_BIT (Bit));
|
||||
Block->Bits[Byte] = (UINT8)(Block->Bits[Byte] | (UINT8)SD_PEIM_MEM_BIT (Bit));
|
||||
SD_PEIM_NEXT_BIT (Byte, Bit);
|
||||
}
|
||||
|
||||
@@ -177,8 +176,8 @@ SdPeimAllocMemFromBlock (
|
||||
**/
|
||||
VOID
|
||||
SdPeimInsertMemBlockToPool (
|
||||
IN SD_PEIM_MEM_BLOCK *Head,
|
||||
IN SD_PEIM_MEM_BLOCK *Block
|
||||
IN SD_PEIM_MEM_BLOCK *Head,
|
||||
IN SD_PEIM_MEM_BLOCK *Block
|
||||
)
|
||||
{
|
||||
ASSERT ((Head != NULL) && (Block != NULL));
|
||||
@@ -197,11 +196,10 @@ SdPeimInsertMemBlockToPool (
|
||||
**/
|
||||
BOOLEAN
|
||||
SdPeimIsMemBlockEmpty (
|
||||
IN SD_PEIM_MEM_BLOCK *Block
|
||||
IN SD_PEIM_MEM_BLOCK *Block
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
|
||||
UINTN Index;
|
||||
|
||||
for (Index = 0; Index < Block->BitsLen; Index++) {
|
||||
if (Block->Bits[Index] != 0) {
|
||||
@@ -212,8 +210,6 @@ SdPeimIsMemBlockEmpty (
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Initialize the memory management pool for the host controller.
|
||||
|
||||
@@ -228,9 +224,9 @@ SdPeimInitMemPool (
|
||||
IN SD_PEIM_HC_PRIVATE_DATA *Private
|
||||
)
|
||||
{
|
||||
SD_PEIM_MEM_POOL *Pool;
|
||||
EFI_STATUS Status;
|
||||
VOID *TempPtr;
|
||||
SD_PEIM_MEM_POOL *Pool;
|
||||
EFI_STATUS Status;
|
||||
VOID *TempPtr;
|
||||
|
||||
TempPtr = NULL;
|
||||
Pool = NULL;
|
||||
@@ -240,7 +236,7 @@ SdPeimInitMemPool (
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
ZeroMem ((VOID*)(UINTN)TempPtr, sizeof (SD_PEIM_MEM_POOL));
|
||||
ZeroMem ((VOID *)(UINTN)TempPtr, sizeof (SD_PEIM_MEM_POOL));
|
||||
|
||||
Pool = (SD_PEIM_MEM_POOL *)((UINTN)TempPtr);
|
||||
|
||||
@@ -265,10 +261,10 @@ SdPeimInitMemPool (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimFreeMemPool (
|
||||
IN SD_PEIM_MEM_POOL *Pool
|
||||
IN SD_PEIM_MEM_POOL *Pool
|
||||
)
|
||||
{
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
|
||||
ASSERT (Pool->Head != NULL);
|
||||
|
||||
@@ -296,16 +292,16 @@ SdPeimFreeMemPool (
|
||||
**/
|
||||
VOID *
|
||||
SdPeimAllocateMem (
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN UINTN Size
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
SD_PEIM_MEM_BLOCK *Head;
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
SD_PEIM_MEM_BLOCK *NewBlock;
|
||||
VOID *Mem;
|
||||
UINTN AllocSize;
|
||||
UINTN Pages;
|
||||
SD_PEIM_MEM_BLOCK *Head;
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
SD_PEIM_MEM_BLOCK *NewBlock;
|
||||
VOID *Mem;
|
||||
UINTN AllocSize;
|
||||
UINTN Pages;
|
||||
|
||||
Mem = NULL;
|
||||
AllocSize = SD_PEIM_MEM_ROUND (Size);
|
||||
@@ -368,22 +364,22 @@ SdPeimAllocateMem (
|
||||
**/
|
||||
VOID
|
||||
SdPeimFreeMem (
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN VOID *Mem,
|
||||
IN UINTN Size
|
||||
IN SD_PEIM_MEM_POOL *Pool,
|
||||
IN VOID *Mem,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
SD_PEIM_MEM_BLOCK *Head;
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
UINT8 *ToFree;
|
||||
UINTN AllocSize;
|
||||
UINTN Byte;
|
||||
UINTN Bit;
|
||||
UINTN Count;
|
||||
SD_PEIM_MEM_BLOCK *Head;
|
||||
SD_PEIM_MEM_BLOCK *Block;
|
||||
UINT8 *ToFree;
|
||||
UINTN AllocSize;
|
||||
UINTN Byte;
|
||||
UINTN Bit;
|
||||
UINTN Count;
|
||||
|
||||
Head = Pool->Head;
|
||||
AllocSize = SD_PEIM_MEM_ROUND (Size);
|
||||
ToFree = (UINT8 *) Mem;
|
||||
ToFree = (UINT8 *)Mem;
|
||||
|
||||
for (Block = Head; Block != NULL; Block = Block->Next) {
|
||||
//
|
||||
@@ -394,8 +390,8 @@ SdPeimFreeMem (
|
||||
//
|
||||
// compute the start byte and bit in the bit array
|
||||
//
|
||||
Byte = ((ToFree - Block->Buf) / SD_PEIM_MEM_UNIT) / 8;
|
||||
Bit = ((ToFree - Block->Buf) / SD_PEIM_MEM_UNIT) % 8;
|
||||
Byte = ((ToFree - Block->Buf) / SD_PEIM_MEM_UNIT) / 8;
|
||||
Bit = ((ToFree - Block->Buf) / SD_PEIM_MEM_UNIT) % 8;
|
||||
|
||||
//
|
||||
// reset associated bits in bit array
|
||||
@@ -403,7 +399,7 @@ SdPeimFreeMem (
|
||||
for (Count = 0; Count < (AllocSize / SD_PEIM_MEM_UNIT); Count++) {
|
||||
ASSERT (SD_PEIM_MEM_BIT_IS_SET (Block->Bits[Byte], Bit));
|
||||
|
||||
Block->Bits[Byte] = (UINT8) (Block->Bits[Byte] ^ SD_PEIM_MEM_BIT (Bit));
|
||||
Block->Bits[Byte] = (UINT8)(Block->Bits[Byte] ^ SD_PEIM_MEM_BIT (Bit));
|
||||
SD_PEIM_NEXT_BIT (Byte, Bit);
|
||||
}
|
||||
|
||||
@@ -425,5 +421,5 @@ SdPeimFreeMem (
|
||||
SdPeimFreeMemBlock (Pool, Block);
|
||||
}
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
@@ -9,7 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#ifndef _SD_PEIM_MEM_H_
|
||||
#define _SD_PEIM_MEM_H_
|
||||
|
||||
#define SD_PEIM_MEM_BIT(a) ((UINTN)(1 << (a)))
|
||||
#define SD_PEIM_MEM_BIT(a) ((UINTN)(1 << (a)))
|
||||
|
||||
#define SD_PEIM_MEM_BIT_IS_SET(Data, Bit) \
|
||||
((BOOLEAN)(((Data) & SD_PEIM_MEM_BIT(Bit)) == SD_PEIM_MEM_BIT(Bit)))
|
||||
@@ -17,28 +17,28 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
typedef struct _SD_PEIM_MEM_BLOCK SD_PEIM_MEM_BLOCK;
|
||||
|
||||
struct _SD_PEIM_MEM_BLOCK {
|
||||
UINT8 *Bits; // Bit array to record which unit is allocated
|
||||
UINTN BitsLen;
|
||||
UINT8 *Buf;
|
||||
UINT8 *BufHost;
|
||||
UINTN BufLen; // Memory size in bytes
|
||||
VOID *Mapping;
|
||||
SD_PEIM_MEM_BLOCK *Next;
|
||||
UINT8 *Bits; // Bit array to record which unit is allocated
|
||||
UINTN BitsLen;
|
||||
UINT8 *Buf;
|
||||
UINT8 *BufHost;
|
||||
UINTN BufLen; // Memory size in bytes
|
||||
VOID *Mapping;
|
||||
SD_PEIM_MEM_BLOCK *Next;
|
||||
};
|
||||
|
||||
typedef struct _SD_PEIM_MEM_POOL {
|
||||
SD_PEIM_MEM_BLOCK *Head;
|
||||
SD_PEIM_MEM_BLOCK *Head;
|
||||
} SD_PEIM_MEM_POOL;
|
||||
|
||||
//
|
||||
// Memory allocation unit, note that the value must meet SD spec alignment requirement.
|
||||
//
|
||||
#define SD_PEIM_MEM_UNIT 128
|
||||
#define SD_PEIM_MEM_UNIT 128
|
||||
|
||||
#define SD_PEIM_MEM_UNIT_MASK (SD_PEIM_MEM_UNIT - 1)
|
||||
#define SD_PEIM_MEM_DEFAULT_PAGES 16
|
||||
|
||||
#define SD_PEIM_MEM_ROUND(Len) (((Len) + SD_PEIM_MEM_UNIT_MASK) & (~SD_PEIM_MEM_UNIT_MASK))
|
||||
#define SD_PEIM_MEM_ROUND(Len) (((Len) + SD_PEIM_MEM_UNIT_MASK) & (~SD_PEIM_MEM_UNIT_MASK))
|
||||
|
||||
//
|
||||
// Advance the byte and bit to the next bit, adjust byte accordingly.
|
||||
@@ -53,4 +53,3 @@ typedef struct _SD_PEIM_MEM_POOL {
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -61,9 +61,9 @@ typedef enum {
|
||||
//
|
||||
// The maximum data length of each descriptor line
|
||||
//
|
||||
#define ADMA_MAX_DATA_PER_LINE 0x10000
|
||||
#define SD_SDMA_BOUNDARY 512 * 1024
|
||||
#define SD_SDMA_ROUND_UP(x, n) (((x) + n) & ~(n - 1))
|
||||
#define ADMA_MAX_DATA_PER_LINE 0x10000
|
||||
#define SD_SDMA_BOUNDARY 512 * 1024
|
||||
#define SD_SDMA_ROUND_UP(x, n) (((x) + n) & ~(n - 1))
|
||||
|
||||
typedef enum {
|
||||
SdCommandTypeBc, // Broadcast commands, no response
|
||||
@@ -85,76 +85,76 @@ typedef enum {
|
||||
} SD_RESPONSE_TYPE;
|
||||
|
||||
typedef struct _SD_COMMAND_BLOCK {
|
||||
UINT16 CommandIndex;
|
||||
UINT32 CommandArgument;
|
||||
UINT32 CommandType; // One of the SD_COMMAND_TYPE values
|
||||
UINT32 ResponseType; // One of the SD_RESPONSE_TYPE values
|
||||
UINT16 CommandIndex;
|
||||
UINT32 CommandArgument;
|
||||
UINT32 CommandType; // One of the SD_COMMAND_TYPE values
|
||||
UINT32 ResponseType; // One of the SD_RESPONSE_TYPE values
|
||||
} SD_COMMAND_BLOCK;
|
||||
|
||||
typedef struct _SD_STATUS_BLOCK {
|
||||
UINT32 Resp0;
|
||||
UINT32 Resp1;
|
||||
UINT32 Resp2;
|
||||
UINT32 Resp3;
|
||||
UINT32 Resp0;
|
||||
UINT32 Resp1;
|
||||
UINT32 Resp2;
|
||||
UINT32 Resp3;
|
||||
} SD_STATUS_BLOCK;
|
||||
|
||||
typedef struct _SD_COMMAND_PACKET {
|
||||
UINT64 Timeout;
|
||||
SD_COMMAND_BLOCK *SdCmdBlk;
|
||||
SD_STATUS_BLOCK *SdStatusBlk;
|
||||
VOID *InDataBuffer;
|
||||
VOID *OutDataBuffer;
|
||||
UINT32 InTransferLength;
|
||||
UINT32 OutTransferLength;
|
||||
UINT64 Timeout;
|
||||
SD_COMMAND_BLOCK *SdCmdBlk;
|
||||
SD_STATUS_BLOCK *SdStatusBlk;
|
||||
VOID *InDataBuffer;
|
||||
VOID *OutDataBuffer;
|
||||
UINT32 InTransferLength;
|
||||
UINT32 OutTransferLength;
|
||||
} SD_COMMAND_PACKET;
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT32 Valid:1;
|
||||
UINT32 End:1;
|
||||
UINT32 Int:1;
|
||||
UINT32 Reserved:1;
|
||||
UINT32 Act:2;
|
||||
UINT32 Reserved1:10;
|
||||
UINT32 Length:16;
|
||||
UINT32 Address;
|
||||
UINT32 Valid : 1;
|
||||
UINT32 End : 1;
|
||||
UINT32 Int : 1;
|
||||
UINT32 Reserved : 1;
|
||||
UINT32 Act : 2;
|
||||
UINT32 Reserved1 : 10;
|
||||
UINT32 Length : 16;
|
||||
UINT32 Address;
|
||||
} SD_HC_ADMA_DESC_LINE;
|
||||
|
||||
typedef struct {
|
||||
UINT32 TimeoutFreq:6; // bit 0:5
|
||||
UINT32 Reserved:1; // bit 6
|
||||
UINT32 TimeoutUnit:1; // bit 7
|
||||
UINT32 BaseClkFreq:8; // bit 8:15
|
||||
UINT32 MaxBlkLen:2; // bit 16:17
|
||||
UINT32 BusWidth8:1; // bit 18
|
||||
UINT32 Adma2:1; // bit 19
|
||||
UINT32 Reserved2:1; // bit 20
|
||||
UINT32 HighSpeed:1; // bit 21
|
||||
UINT32 Sdma:1; // bit 22
|
||||
UINT32 SuspRes:1; // bit 23
|
||||
UINT32 Voltage33:1; // bit 24
|
||||
UINT32 Voltage30:1; // bit 25
|
||||
UINT32 Voltage18:1; // bit 26
|
||||
UINT32 Reserved3:1; // bit 27
|
||||
UINT32 SysBus64:1; // bit 28
|
||||
UINT32 AsyncInt:1; // bit 29
|
||||
UINT32 SlotType:2; // bit 30:31
|
||||
UINT32 Sdr50:1; // bit 32
|
||||
UINT32 Sdr104:1; // bit 33
|
||||
UINT32 Ddr50:1; // bit 34
|
||||
UINT32 Reserved4:1; // bit 35
|
||||
UINT32 DriverTypeA:1; // bit 36
|
||||
UINT32 DriverTypeC:1; // bit 37
|
||||
UINT32 DriverTypeD:1; // bit 38
|
||||
UINT32 DriverType4:1; // bit 39
|
||||
UINT32 TimerCount:4; // bit 40:43
|
||||
UINT32 Reserved5:1; // bit 44
|
||||
UINT32 TuningSDR50:1; // bit 45
|
||||
UINT32 RetuningMod:2; // bit 46:47
|
||||
UINT32 ClkMultiplier:8; // bit 48:55
|
||||
UINT32 Reserved6:7; // bit 56:62
|
||||
UINT32 Hs400:1; // bit 63
|
||||
UINT32 TimeoutFreq : 6; // bit 0:5
|
||||
UINT32 Reserved : 1; // bit 6
|
||||
UINT32 TimeoutUnit : 1; // bit 7
|
||||
UINT32 BaseClkFreq : 8; // bit 8:15
|
||||
UINT32 MaxBlkLen : 2; // bit 16:17
|
||||
UINT32 BusWidth8 : 1; // bit 18
|
||||
UINT32 Adma2 : 1; // bit 19
|
||||
UINT32 Reserved2 : 1; // bit 20
|
||||
UINT32 HighSpeed : 1; // bit 21
|
||||
UINT32 Sdma : 1; // bit 22
|
||||
UINT32 SuspRes : 1; // bit 23
|
||||
UINT32 Voltage33 : 1; // bit 24
|
||||
UINT32 Voltage30 : 1; // bit 25
|
||||
UINT32 Voltage18 : 1; // bit 26
|
||||
UINT32 Reserved3 : 1; // bit 27
|
||||
UINT32 SysBus64 : 1; // bit 28
|
||||
UINT32 AsyncInt : 1; // bit 29
|
||||
UINT32 SlotType : 2; // bit 30:31
|
||||
UINT32 Sdr50 : 1; // bit 32
|
||||
UINT32 Sdr104 : 1; // bit 33
|
||||
UINT32 Ddr50 : 1; // bit 34
|
||||
UINT32 Reserved4 : 1; // bit 35
|
||||
UINT32 DriverTypeA : 1; // bit 36
|
||||
UINT32 DriverTypeC : 1; // bit 37
|
||||
UINT32 DriverTypeD : 1; // bit 38
|
||||
UINT32 DriverType4 : 1; // bit 39
|
||||
UINT32 TimerCount : 4; // bit 40:43
|
||||
UINT32 Reserved5 : 1; // bit 44
|
||||
UINT32 TuningSDR50 : 1; // bit 45
|
||||
UINT32 RetuningMod : 2; // bit 46:47
|
||||
UINT32 ClkMultiplier : 8; // bit 48:55
|
||||
UINT32 Reserved6 : 7; // bit 56:62
|
||||
UINT32 Hs400 : 1; // bit 63
|
||||
} SD_HC_SLOT_CAP;
|
||||
|
||||
#pragma pack()
|
||||
@@ -170,7 +170,7 @@ typedef struct {
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimHcReset (
|
||||
IN UINTN Bar
|
||||
IN UINTN Bar
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -185,7 +185,7 @@ SdPeimHcReset (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimHcEnableInterrupt (
|
||||
IN UINTN Bar
|
||||
IN UINTN Bar
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -200,8 +200,8 @@ SdPeimHcEnableInterrupt (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimHcGetCapability (
|
||||
IN UINTN Bar,
|
||||
OUT SD_HC_SLOT_CAP *Capability
|
||||
IN UINTN Bar,
|
||||
OUT SD_HC_SLOT_CAP *Capability
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -219,7 +219,7 @@ SdPeimHcGetCapability (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimHcCardDetect (
|
||||
IN UINTN Bar
|
||||
IN UINTN Bar
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -234,7 +234,7 @@ SdPeimHcCardDetect (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimHcInitHost (
|
||||
IN UINTN Bar
|
||||
IN UINTN Bar
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -256,13 +256,13 @@ SdPeimHcInitHost (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimSwitch (
|
||||
IN SD_PEIM_HC_SLOT *Slot,
|
||||
IN UINT8 AccessMode,
|
||||
IN UINT8 CommandSystem,
|
||||
IN UINT8 DriveStrength,
|
||||
IN UINT8 PowerLimit,
|
||||
IN BOOLEAN Mode,
|
||||
OUT UINT8 *SwitchResp
|
||||
IN SD_PEIM_HC_SLOT *Slot,
|
||||
IN UINT8 AccessMode,
|
||||
IN UINT8 CommandSystem,
|
||||
IN UINT8 DriveStrength,
|
||||
IN UINT8 PowerLimit,
|
||||
IN BOOLEAN Mode,
|
||||
OUT UINT8 *SwitchResp
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -284,12 +284,12 @@ SdPeimSwitch (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimRwSingleBlock (
|
||||
IN SD_PEIM_HC_SLOT *Slot,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINT32 BlockSize,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
IN BOOLEAN IsRead
|
||||
IN SD_PEIM_HC_SLOT *Slot,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINT32 BlockSize,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
IN BOOLEAN IsRead
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -311,12 +311,12 @@ SdPeimRwSingleBlock (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimRwMultiBlocks (
|
||||
IN SD_PEIM_HC_SLOT *Slot,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINT32 BlockSize,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
IN BOOLEAN IsRead
|
||||
IN SD_PEIM_HC_SLOT *Slot,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINT32 BlockSize,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
IN BOOLEAN IsRead
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -332,7 +332,7 @@ SdPeimRwMultiBlocks (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdPeimIdentification (
|
||||
IN SD_PEIM_HC_SLOT *Slot
|
||||
IN SD_PEIM_HC_SLOT *Slot
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -343,8 +343,7 @@ SdPeimIdentification (
|
||||
**/
|
||||
VOID
|
||||
SdPeimFreeTrb (
|
||||
IN SD_TRB *Trb
|
||||
IN SD_TRB *Trb
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user