**/\r
VOID\r
NvmeDumpStatus (\r
- IN NVME_CQ *Cq\r
+ IN NVME_CQ *Cq\r
)\r
{\r
DEBUG ((DEBUG_VERBOSE, "Dump NVMe Completion Entry Status from [0x%x]:\n", Cq));\r
DEBUG ((DEBUG_VERBOSE, "Reservation Conflict\n"));\r
break;\r
}\r
+\r
break;\r
\r
case 0x1:\r
DEBUG ((DEBUG_VERBOSE, "Attempted Write to Read Only Range\n"));\r
break;\r
}\r
+\r
break;\r
\r
case 0x2:\r
DEBUG ((DEBUG_VERBOSE, "Access Denied\n"));\r
break;\r
}\r
+\r
break;\r
\r
default:\r
@retval The pointer to the first PRP List of the PRP lists.\r
\r
**/\r
-VOID*\r
+VOID *\r
NvmeCreatePrpList (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN EFI_PHYSICAL_ADDRESS PhysicalAddr,\r
- IN UINTN Pages,\r
- OUT VOID **PrpListHost,\r
- IN OUT UINTN *PrpListNo,\r
- OUT VOID **Mapping\r
+ IN EFI_PCI_IO_PROTOCOL *PciIo,\r
+ IN EFI_PHYSICAL_ADDRESS PhysicalAddr,\r
+ IN UINTN Pages,\r
+ OUT VOID **PrpListHost,\r
+ IN OUT UINTN *PrpListNo,\r
+ OUT VOID **Mapping\r
)\r
{\r
- UINTN PrpEntryNo;\r
- UINT64 PrpListBase;\r
- UINTN PrpListIndex;\r
- UINTN PrpEntryIndex;\r
- UINT64 Remainder;\r
- EFI_PHYSICAL_ADDRESS PrpListPhyAddr;\r
- UINTN Bytes;\r
- EFI_STATUS Status;\r
+ UINTN PrpEntryNo;\r
+ UINT64 PrpListBase;\r
+ UINTN PrpListIndex;\r
+ UINTN PrpEntryIndex;\r
+ UINT64 Remainder;\r
+ EFI_PHYSICAL_ADDRESS PrpListPhyAddr;\r
+ UINTN Bytes;\r
+ EFI_STATUS Status;\r
\r
//\r
// The number of Prp Entry in a memory page.\r
return NULL;\r
}\r
\r
- Bytes = EFI_PAGES_TO_SIZE (*PrpListNo);\r
+ Bytes = EFI_PAGES_TO_SIZE (*PrpListNo);\r
Status = PciIo->Map (\r
PciIo,\r
EfiPciIoOperationBusMasterCommonBuffer,\r
DEBUG ((DEBUG_ERROR, "NvmeCreatePrpList: create PrpList failure!\n"));\r
goto EXIT;\r
}\r
+\r
//\r
// Fill all PRP lists except of last one.\r
//\r
ZeroMem (*PrpListHost, Bytes);\r
for (PrpListIndex = 0; PrpListIndex < *PrpListNo - 1; ++PrpListIndex) {\r
- PrpListBase = *(UINT64*)PrpListHost + PrpListIndex * EFI_PAGE_SIZE;\r
+ PrpListBase = *(UINT64 *)PrpListHost + PrpListIndex * EFI_PAGE_SIZE;\r
\r
for (PrpEntryIndex = 0; PrpEntryIndex < PrpEntryNo; ++PrpEntryIndex) {\r
if (PrpEntryIndex != PrpEntryNo - 1) {\r
//\r
// Fill all PRP entries except of last one.\r
//\r
- *((UINT64*)(UINTN)PrpListBase + PrpEntryIndex) = PhysicalAddr;\r
- PhysicalAddr += EFI_PAGE_SIZE;\r
+ *((UINT64 *)(UINTN)PrpListBase + PrpEntryIndex) = PhysicalAddr;\r
+ PhysicalAddr += EFI_PAGE_SIZE;\r
} else {\r
//\r
// Fill last PRP entries with next PRP List pointer.\r
//\r
- *((UINT64*)(UINTN)PrpListBase + PrpEntryIndex) = PrpListPhyAddr + (PrpListIndex + 1) * EFI_PAGE_SIZE;\r
+ *((UINT64 *)(UINTN)PrpListBase + PrpEntryIndex) = PrpListPhyAddr + (PrpListIndex + 1) * EFI_PAGE_SIZE;\r
}\r
}\r
}\r
+\r
//\r
// Fill last PRP list.\r
//\r
- PrpListBase = *(UINT64*)PrpListHost + PrpListIndex * EFI_PAGE_SIZE;\r
+ PrpListBase = *(UINT64 *)PrpListHost + PrpListIndex * EFI_PAGE_SIZE;\r
for (PrpEntryIndex = 0; PrpEntryIndex < Remainder; ++PrpEntryIndex) {\r
- *((UINT64*)(UINTN)PrpListBase + PrpEntryIndex) = PhysicalAddr;\r
- PhysicalAddr += EFI_PAGE_SIZE;\r
+ *((UINT64 *)(UINTN)PrpListBase + PrpEntryIndex) = PhysicalAddr;\r
+ PhysicalAddr += EFI_PAGE_SIZE;\r
}\r
\r
- return (VOID*)(UINTN)PrpListPhyAddr;\r
+ return (VOID *)(UINTN)PrpListPhyAddr;\r
\r
EXIT:\r
PciIo->FreeBuffer (PciIo, *PrpListNo, *PrpListHost);\r
return NULL;\r
}\r
\r
-\r
/**\r
Aborts the asynchronous PassThru requests.\r
\r
**/\r
EFI_STATUS\r
AbortAsyncPassThruTasks (\r
- IN NVME_CONTROLLER_PRIVATE_DATA *Private\r
+ IN NVME_CONTROLLER_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_PCI_IO_PROTOCOL *PciIo;\r
- LIST_ENTRY *Link;\r
- LIST_ENTRY *NextLink;\r
- NVME_BLKIO2_SUBTASK *Subtask;\r
- NVME_BLKIO2_REQUEST *BlkIo2Request;\r
- NVME_PASS_THRU_ASYNC_REQ *AsyncRequest;\r
- EFI_BLOCK_IO2_TOKEN *Token;\r
- EFI_TPL OldTpl;\r
- EFI_STATUS Status;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ LIST_ENTRY *Link;\r
+ LIST_ENTRY *NextLink;\r
+ NVME_BLKIO2_SUBTASK *Subtask;\r
+ NVME_BLKIO2_REQUEST *BlkIo2Request;\r
+ NVME_PASS_THRU_ASYNC_REQ *AsyncRequest;\r
+ EFI_BLOCK_IO2_TOKEN *Token;\r
+ EFI_TPL OldTpl;\r
+ EFI_STATUS Status;\r
\r
PciIo = Private->PciIo;\r
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
//\r
for (Link = GetFirstNode (&Private->UnsubmittedSubtasks);\r
!IsNull (&Private->UnsubmittedSubtasks, Link);\r
- Link = NextLink) {\r
+ Link = NextLink)\r
+ {\r
NextLink = GetNextNode (&Private->UnsubmittedSubtasks, Link);\r
Subtask = NVME_BLKIO2_SUBTASK_FROM_LINK (Link);\r
BlkIo2Request = Subtask->BlockIo2Request;\r
if (Subtask->IsLast) {\r
BlkIo2Request->LastSubtaskSubmitted = TRUE;\r
}\r
+\r
Token->TransactionStatus = EFI_ABORTED;\r
\r
RemoveEntryList (Link);\r
//\r
for (Link = GetFirstNode (&Private->AsyncPassThruQueue);\r
!IsNull (&Private->AsyncPassThruQueue, Link);\r
- Link = NextLink) {\r
- NextLink = GetNextNode (&Private->AsyncPassThruQueue, Link);\r
+ Link = NextLink)\r
+ {\r
+ NextLink = GetNextNode (&Private->AsyncPassThruQueue, Link);\r
AsyncRequest = NVME_PASS_THRU_ASYNC_REQ_FROM_THIS (Link);\r
\r
if (AsyncRequest->MapData != NULL) {\r
PciIo->Unmap (PciIo, AsyncRequest->MapData);\r
}\r
+\r
if (AsyncRequest->MapMeta != NULL) {\r
PciIo->Unmap (PciIo, AsyncRequest->MapMeta);\r
}\r
+\r
if (AsyncRequest->MapPrpList != NULL) {\r
PciIo->Unmap (PciIo, AsyncRequest->MapPrpList);\r
}\r
+\r
if (AsyncRequest->PrpListHost != NULL) {\r
PciIo->FreeBuffer (\r
PciIo,\r
}\r
\r
if (IsListEmpty (&Private->AsyncPassThruQueue) &&\r
- IsListEmpty (&Private->UnsubmittedSubtasks)) {\r
+ IsListEmpty (&Private->UnsubmittedSubtasks))\r
+ {\r
Status = EFI_SUCCESS;\r
} else {\r
Status = EFI_DEVICE_ERROR;\r
return Status;\r
}\r
\r
-\r
/**\r
Sends an NVM Express Command Packet to an NVM Express controller or namespace. This function supports\r
both blocking I/O and non-blocking I/O. The blocking I/O functionality is required, and the non-blocking\r
EFI_STATUS\r
EFIAPI\r
NvmExpressPassThru (\r
- IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
- IN UINT32 NamespaceId,\r
- IN OUT EFI_NVM_EXPRESS_PASS_THRU_COMMAND_PACKET *Packet,\r
- IN EFI_EVENT Event OPTIONAL\r
+ IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
+ IN UINT32 NamespaceId,\r
+ IN OUT EFI_NVM_EXPRESS_PASS_THRU_COMMAND_PACKET *Packet,\r
+ IN EFI_EVENT Event OPTIONAL\r
)\r
{\r
NVME_CONTROLLER_PRIVATE_DATA *Private;\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (Packet->QueueType != NVME_ADMIN_QUEUE && Packet->QueueType != NVME_IO_QUEUE) {\r
+ if ((Packet->QueueType != NVME_ADMIN_QUEUE) && (Packet->QueueType != NVME_IO_QUEUE)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_PHYSICAL set is an illegal\r
// configuration.\r
//\r
- Attributes = This->Mode->Attributes;\r
+ Attributes = This->Mode->Attributes;\r
if ((Attributes & (EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_PHYSICAL |\r
- EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_LOGICAL)) == 0) {\r
+ EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_LOGICAL)) == 0)\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Buffer alignment check for TransferBuffer & MetadataBuffer.\r
//\r
- IoAlign = This->Mode->IoAlign;\r
- if (IoAlign > 0 && (((UINTN) Packet->TransferBuffer & (IoAlign - 1)) != 0)) {\r
+ IoAlign = This->Mode->IoAlign;\r
+ if ((IoAlign > 0) && (((UINTN)Packet->TransferBuffer & (IoAlign - 1)) != 0)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (IoAlign > 0 && (((UINTN) Packet->MetadataBuffer & (IoAlign - 1)) != 0)) {\r
+ if ((IoAlign > 0) && (((UINTN)Packet->MetadataBuffer & (IoAlign - 1)) != 0)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- Private = NVME_CONTROLLER_PRIVATE_DATA_FROM_PASS_THRU (This);\r
+ Private = NVME_CONTROLLER_PRIVATE_DATA_FROM_PASS_THRU (This);\r
\r
//\r
// Check NamespaceId is valid or not.\r
//\r
if ((NamespaceId > Private->ControllerData->Nn) &&\r
- (NamespaceId != (UINT32) -1)) {\r
+ (NamespaceId != (UINT32)-1))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// Submission queue full check.\r
//\r
if ((Private->SqTdbl[QueueId].Sqt + 1) % QueueSize ==\r
- Private->AsyncSqHead) {\r
+ Private->AsyncSqHead)\r
+ {\r
return EFI_NOT_READY;\r
}\r
}\r
}\r
- Sq = Private->SqBuffer[QueueId] + Private->SqTdbl[QueueId].Sqt;\r
- Cq = Private->CqBuffer[QueueId] + Private->CqHdbl[QueueId].Cqh;\r
+\r
+ Sq = Private->SqBuffer[QueueId] + Private->SqTdbl[QueueId].Sqt;\r
+ Cq = Private->CqBuffer[QueueId] + Private->CqHdbl[QueueId].Cqh;\r
\r
if (Packet->NvmeCmd->Nsid != NamespaceId) {\r
return EFI_INVALID_PARAMETER;\r
\r
Sq->Prp[0] = (UINT64)(UINTN)Packet->TransferBuffer;\r
if ((Packet->QueueType == NVME_ADMIN_QUEUE) &&\r
- ((Sq->Opc == NVME_ADMIN_CRIOCQ_CMD) || (Sq->Opc == NVME_ADMIN_CRIOSQ_CMD))) {\r
+ ((Sq->Opc == NVME_ADMIN_CRIOCQ_CMD) || (Sq->Opc == NVME_ADMIN_CRIOSQ_CMD)))\r
+ {\r
//\r
// Currently, we only use the IO Completion/Submission queues created internally\r
// by this driver during controller initialization. Any other IO queues created\r
// If the NVMe cmd has data in or out, then mapping the user buffer to the PCI controller specific addresses.\r
//\r
if (((Packet->TransferLength != 0) && (Packet->TransferBuffer == NULL)) ||\r
- ((Packet->TransferLength == 0) && (Packet->TransferBuffer != NULL))) {\r
+ ((Packet->TransferLength == 0) && (Packet->TransferBuffer != NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
\r
if ((Packet->TransferLength != 0) && (Packet->TransferBuffer != NULL)) {\r
MapLength = Packet->TransferLength;\r
- Status = PciIo->Map (\r
- PciIo,\r
- Flag,\r
- Packet->TransferBuffer,\r
- &MapLength,\r
- &PhyAddr,\r
- &MapData\r
- );\r
+ Status = PciIo->Map (\r
+ PciIo,\r
+ Flag,\r
+ Packet->TransferBuffer,\r
+ &MapLength,\r
+ &PhyAddr,\r
+ &MapData\r
+ );\r
if (EFI_ERROR (Status) || (Packet->TransferLength != MapLength)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
Sq->Prp[1] = 0;\r
}\r
\r
- if((Packet->MetadataLength != 0) && (Packet->MetadataBuffer != NULL)) {\r
+ if ((Packet->MetadataLength != 0) && (Packet->MetadataBuffer != NULL)) {\r
MapLength = Packet->MetadataLength;\r
- Status = PciIo->Map (\r
- PciIo,\r
- Flag,\r
- Packet->MetadataBuffer,\r
- &MapLength,\r
- &PhyAddr,\r
- &MapMeta\r
- );\r
+ Status = PciIo->Map (\r
+ PciIo,\r
+ Flag,\r
+ Packet->MetadataBuffer,\r
+ &MapLength,\r
+ &PhyAddr,\r
+ &MapMeta\r
+ );\r
if (EFI_ERROR (Status) || (Packet->MetadataLength != MapLength)) {\r
PciIo->Unmap (\r
PciIo,\r
\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
Sq->Mptr = PhyAddr;\r
}\r
}\r
+\r
//\r
// If the buffer size spans more than two memory pages (page size as defined in CC.Mps),\r
// then build a PRP list in the second PRP submission queue entry.\r
// Create PrpList for remaining data buffer.\r
//\r
PhyAddr = (Sq->Prp[0] + EFI_PAGE_SIZE) & ~(EFI_PAGE_SIZE - 1);\r
- Prp = NvmeCreatePrpList (PciIo, PhyAddr, EFI_SIZE_TO_PAGES(Offset + Bytes) - 1, &PrpListHost, &PrpListNo, &MapPrpList);\r
+ Prp = NvmeCreatePrpList (PciIo, PhyAddr, EFI_SIZE_TO_PAGES (Offset + Bytes) - 1, &PrpListHost, &PrpListNo, &MapPrpList);\r
if (Prp == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto EXIT;\r
Sq->Prp[1] = (Sq->Prp[0] + EFI_PAGE_SIZE) & ~(EFI_PAGE_SIZE - 1);\r
}\r
\r
- if(Packet->NvmeCmd->Flags & CDW2_VALID) {\r
+ if (Packet->NvmeCmd->Flags & CDW2_VALID) {\r
Sq->Rsvd2 = (UINT64)Packet->NvmeCmd->Cdw2;\r
}\r
- if(Packet->NvmeCmd->Flags & CDW3_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW3_VALID) {\r
Sq->Rsvd2 |= LShiftU64 ((UINT64)Packet->NvmeCmd->Cdw3, 32);\r
}\r
- if(Packet->NvmeCmd->Flags & CDW10_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW10_VALID) {\r
Sq->Payload.Raw.Cdw10 = Packet->NvmeCmd->Cdw10;\r
}\r
- if(Packet->NvmeCmd->Flags & CDW11_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW11_VALID) {\r
Sq->Payload.Raw.Cdw11 = Packet->NvmeCmd->Cdw11;\r
}\r
- if(Packet->NvmeCmd->Flags & CDW12_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW12_VALID) {\r
Sq->Payload.Raw.Cdw12 = Packet->NvmeCmd->Cdw12;\r
}\r
- if(Packet->NvmeCmd->Flags & CDW13_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW13_VALID) {\r
Sq->Payload.Raw.Cdw13 = Packet->NvmeCmd->Cdw13;\r
}\r
- if(Packet->NvmeCmd->Flags & CDW14_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW14_VALID) {\r
Sq->Payload.Raw.Cdw14 = Packet->NvmeCmd->Cdw14;\r
}\r
- if(Packet->NvmeCmd->Flags & CDW15_VALID) {\r
+\r
+ if (Packet->NvmeCmd->Flags & CDW15_VALID) {\r
Sq->Payload.Raw.Cdw15 = Packet->NvmeCmd->Cdw15;\r
}\r
\r
} else {\r
Private->SqTdbl[QueueId].Sqt ^= 1;\r
}\r
- Data = ReadUnaligned32 ((UINT32*)&Private->SqTdbl[QueueId]);\r
+\r
+ Data = ReadUnaligned32 ((UINT32 *)&Private->SqTdbl[QueueId]);\r
Status = PciIo->Mem.Write (\r
- PciIo,\r
- EfiPciIoWidthUint32,\r
- NVME_BAR,\r
- NVME_SQTDBL_OFFSET(QueueId, Private->Cap.Dstrd),\r
- 1,\r
- &Data\r
- );\r
+ PciIo,\r
+ EfiPciIoWidthUint32,\r
+ NVME_BAR,\r
+ NVME_SQTDBL_OFFSET (QueueId, Private->Cap.Dstrd),\r
+ 1,\r
+ &Data\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
goto EXIT;\r
goto EXIT;\r
}\r
\r
- AsyncRequest->Signature = NVME_PASS_THRU_ASYNC_REQ_SIG;\r
- AsyncRequest->Packet = Packet;\r
- AsyncRequest->CommandId = Sq->Cid;\r
- AsyncRequest->CallerEvent = Event;\r
- AsyncRequest->MapData = MapData;\r
- AsyncRequest->MapMeta = MapMeta;\r
- AsyncRequest->MapPrpList = MapPrpList;\r
- AsyncRequest->PrpListNo = PrpListNo;\r
- AsyncRequest->PrpListHost = PrpListHost;\r
+ AsyncRequest->Signature = NVME_PASS_THRU_ASYNC_REQ_SIG;\r
+ AsyncRequest->Packet = Packet;\r
+ AsyncRequest->CommandId = Sq->Cid;\r
+ AsyncRequest->CallerEvent = Event;\r
+ AsyncRequest->MapData = MapData;\r
+ AsyncRequest->MapMeta = MapMeta;\r
+ AsyncRequest->MapPrpList = MapPrpList;\r
+ AsyncRequest->PrpListNo = PrpListNo;\r
+ AsyncRequest->PrpListHost = PrpListHost;\r
\r
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
InsertTailList (&Private->AsyncPassThruQueue, &AsyncRequest->Link);\r
goto EXIT;\r
}\r
\r
- Status = gBS->SetTimer(TimerEvent, TimerRelative, Packet->CommandTimeout);\r
+ Status = gBS->SetTimer (TimerEvent, TimerRelative, Packet->CommandTimeout);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto EXIT;\r
}\r
\r
//\r
// Dump every completion entry status for debugging.\r
//\r
- DEBUG_CODE_BEGIN();\r
- NvmeDumpStatus(Cq);\r
- DEBUG_CODE_END();\r
+ DEBUG_CODE_BEGIN ();\r
+ NvmeDumpStatus (Cq);\r
+ DEBUG_CODE_END ();\r
}\r
+\r
//\r
// Copy the Respose Queue entry for this command to the callers response buffer\r
//\r
- CopyMem(Packet->NvmeCompletion, Cq, sizeof(EFI_NVM_EXPRESS_COMPLETION));\r
+ CopyMem (Packet->NvmeCompletion, Cq, sizeof (EFI_NVM_EXPRESS_COMPLETION));\r
} else {\r
//\r
// Timeout occurs for an NVMe command. Reset the controller to abort the\r
Private->Pt[QueueId] ^= 1;\r
}\r
\r
- Data = ReadUnaligned32 ((UINT32*)&Private->CqHdbl[QueueId]);\r
+ Data = ReadUnaligned32 ((UINT32 *)&Private->CqHdbl[QueueId]);\r
PreviousStatus = Status;\r
- Status = PciIo->Mem.Write (\r
- PciIo,\r
- EfiPciIoWidthUint32,\r
- NVME_BAR,\r
- NVME_CQHDBL_OFFSET(QueueId, Private->Cap.Dstrd),\r
- 1,\r
- &Data\r
- );\r
+ Status = PciIo->Mem.Write (\r
+ PciIo,\r
+ EfiPciIoWidthUint32,\r
+ NVME_BAR,\r
+ NVME_CQHDBL_OFFSET (QueueId, Private->Cap.Dstrd),\r
+ 1,\r
+ &Data\r
+ );\r
// The return status of PciIo->Mem.Write should not override\r
// previous status if previous status contains error.\r
Status = EFI_ERROR (PreviousStatus) ? PreviousStatus : Status;\r
if (TimerEvent != NULL) {\r
gBS->CloseEvent (TimerEvent);\r
}\r
+\r
return Status;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
NvmExpressGetNextNamespace (\r
- IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
- IN OUT UINT32 *NamespaceId\r
+ IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
+ IN OUT UINT32 *NamespaceId\r
)\r
{\r
- NVME_CONTROLLER_PRIVATE_DATA *Private;\r
- NVME_ADMIN_NAMESPACE_DATA *NamespaceData;\r
- UINT32 NextNamespaceId;\r
- EFI_STATUS Status;\r
+ NVME_CONTROLLER_PRIVATE_DATA *Private;\r
+ NVME_ADMIN_NAMESPACE_DATA *NamespaceData;\r
+ UINT32 NextNamespaceId;\r
+ EFI_STATUS Status;\r
\r
if ((This == NULL) || (NamespaceId == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
Status = NvmeIdentifyNamespace (Private, NextNamespaceId, NamespaceData);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
\r
}\r
\r
Status = NvmeIdentifyNamespace (Private, NextNamespaceId, NamespaceData);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
\r
\r
Done:\r
if (NamespaceData != NULL) {\r
- FreePool(NamespaceData);\r
+ FreePool (NamespaceData);\r
}\r
\r
return Status;\r
EFI_STATUS\r
EFIAPI\r
NvmExpressGetNamespace (\r
- IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- OUT UINT32 *NamespaceId\r
+ IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ OUT UINT32 *NamespaceId\r
)\r
{\r
- NVME_NAMESPACE_DEVICE_PATH *Node;\r
- NVME_CONTROLLER_PRIVATE_DATA *Private;\r
+ NVME_NAMESPACE_DEVICE_PATH *Node;\r
+ NVME_CONTROLLER_PRIVATE_DATA *Private;\r
\r
if ((This == NULL) || (DevicePath == NULL) || (NamespaceId == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
Private = NVME_CONTROLLER_PRIVATE_DATA_FROM_PASS_THRU (This);\r
\r
if (DevicePath->SubType == MSG_NVME_NAMESPACE_DP) {\r
- if (DevicePathNodeLength(DevicePath) != sizeof(NVME_NAMESPACE_DEVICE_PATH)) {\r
+ if (DevicePathNodeLength (DevicePath) != sizeof (NVME_NAMESPACE_DEVICE_PATH)) {\r
return EFI_NOT_FOUND;\r
}\r
\r
// Check NamespaceId in the device path node is valid or not.\r
//\r
if ((Node->NamespaceId == 0) ||\r
- (Node->NamespaceId > Private->ControllerData->Nn)) {\r
+ (Node->NamespaceId > Private->ControllerData->Nn))\r
+ {\r
return EFI_NOT_FOUND;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
NvmExpressBuildDevicePath (\r
- IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
- IN UINT32 NamespaceId,\r
- IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath\r
+ IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This,\r
+ IN UINT32 NamespaceId,\r
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath\r
)\r
{\r
- NVME_NAMESPACE_DEVICE_PATH *Node;\r
- NVME_CONTROLLER_PRIVATE_DATA *Private;\r
- EFI_STATUS Status;\r
- NVME_ADMIN_NAMESPACE_DATA *NamespaceData;\r
+ NVME_NAMESPACE_DEVICE_PATH *Node;\r
+ NVME_CONTROLLER_PRIVATE_DATA *Private;\r
+ EFI_STATUS Status;\r
+ NVME_ADMIN_NAMESPACE_DATA *NamespaceData;\r
\r
//\r
// Validate parameters\r
// Check NamespaceId is valid or not.\r
//\r
if ((NamespaceId == 0) ||\r
- (NamespaceId > Private->ControllerData->Nn)) {\r
+ (NamespaceId > Private->ControllerData->Nn))\r
+ {\r
return EFI_NOT_FOUND;\r
}\r
\r
Node->Header.Type = MESSAGING_DEVICE_PATH;\r
Node->Header.SubType = MSG_NVME_NAMESPACE_DP;\r
SetDevicePathNodeLength (&Node->Header, sizeof (NVME_NAMESPACE_DEVICE_PATH));\r
- Node->NamespaceId = NamespaceId;\r
+ Node->NamespaceId = NamespaceId;\r
\r
//\r
// Allocate a buffer for Identify Namespace data.\r
//\r
NamespaceData = NULL;\r
- NamespaceData = AllocateZeroPool(sizeof (NVME_ADMIN_NAMESPACE_DATA));\r
- if(NamespaceData == NULL) {\r
+ NamespaceData = AllocateZeroPool (sizeof (NVME_ADMIN_NAMESPACE_DATA));\r
+ if (NamespaceData == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Exit;\r
}\r
(VOID *)NamespaceData\r
);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
goto Exit;\r
}\r
\r
*DevicePath = (EFI_DEVICE_PATH_PROTOCOL *)Node;\r
\r
Exit:\r
- if(NamespaceData != NULL) {\r
+ if (NamespaceData != NULL) {\r
FreePool (NamespaceData);\r
}\r
\r