/** @file\r
\r
-Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>\r
- \r
+Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>\r
+\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions\r
of the BSD License which accompanies this distribution. The\r
}\r
\r
ZeroMem ((VOID*)(UINTN)TempPtr, sizeof(UFS_PEIM_MEM_BLOCK));\r
- \r
+\r
//\r
// each bit in the bit array represents UFS_PEIM_MEM_UNIT\r
// bytes of memory in the memory block.\r
//\r
ASSERT (UFS_PEIM_MEM_UNIT * 8 <= EFI_PAGE_SIZE);\r
- \r
+\r
Block = (UFS_PEIM_MEM_BLOCK*)(UINTN)TempPtr;\r
Block->BufLen = EFI_PAGES_TO_SIZE (Pages);\r
Block->BitsLen = Block->BufLen / (UFS_PEIM_MEM_UNIT * 8);\r
- \r
+\r
Status = PeiServicesAllocatePool (Block->BitsLen, &TempPtr);\r
if (EFI_ERROR (Status)) {\r
return NULL;\r
if (Available < Units) {\r
return NULL;\r
}\r
- \r
+\r
//\r
// Mark the memory as allocated\r
//\r
{\r
UINTN Index;\r
\r
- \r
+\r
for (Index = 0; Index < Block->BitsLen; Index++) {\r
if (Block->Bits[Index] != 0) {\r
return FALSE;\r
\r
/**\r
Initialize the memory management pool for the host controller.\r
- \r
+\r
@param Private The Ufs Peim driver private data.\r
\r
@retval EFI_SUCCESS The memory pool is initialized.\r
\r
TempPtr = NULL;\r
Pool = NULL;\r
- \r
+\r
Status = PeiServicesAllocatePool (sizeof (UFS_PEIM_MEM_POOL), &TempPtr);\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
\r
/**\r
Release the memory management pool.\r
- \r
+\r
@param Pool The memory pool to free.\r
\r
@retval EFI_DEVICE_ERROR Fail to free the memory pool.\r
/**\r
Allocate some memory from the host controller's memory pool\r
which can be used to communicate with host controller.\r
- \r
+\r
@param Pool The host controller's memory pool.\r
@param Size Size of the memory to allocate.\r
\r
if (NewBlock == NULL) {\r
return NULL;\r
}\r
- \r
+\r
//\r
// Add the new memory block to the pool, then allocate memory from it\r
//\r