**/\r
EFI_STATUS\r
UfsMmioRead32 (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINTN Offset,\r
- OUT UINT32 *Value\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINTN Offset,\r
+ OUT UINT32 *Value\r
)\r
{\r
EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
**/\r
EFI_STATUS\r
UfsMmioWrite32 (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINTN Offset,\r
- IN UINT32 Value\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINTN Offset,\r
+ IN UINT32 Value\r
)\r
{\r
EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
**/\r
EFI_STATUS\r
UfsWaitMemSet (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINTN Offset,\r
- IN UINT32 MaskValue,\r
- IN UINT32 TestValue,\r
- IN UINT64 Timeout\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINTN Offset,\r
+ IN UINT32 MaskValue,\r
+ IN UINT32 TestValue,\r
+ IN UINT64 Timeout\r
)\r
{\r
- UINT32 Value;\r
- UINT64 Delay;\r
- BOOLEAN InfiniteWait;\r
- EFI_STATUS Status;\r
+ UINT32 Value;\r
+ UINT64 Delay;\r
+ BOOLEAN InfiniteWait;\r
+ EFI_STATUS Status;\r
\r
if (Timeout == 0) {\r
InfiniteWait = TRUE;\r
MicroSecondDelay (1);\r
\r
Delay--;\r
-\r
} while (InfiniteWait || (Delay > 0));\r
\r
return EFI_TIMEOUT;\r
**/\r
VOID\r
DumpUicCmdExecResult (\r
- IN UINT8 UicOpcode,\r
- IN UINT8 Result\r
+ IN UINT8 UicOpcode,\r
+ IN UINT8 Result\r
)\r
{\r
if (UicOpcode <= UfsUicDmePeerSet) {\r
case 0x0A:\r
DEBUG ((DEBUG_VERBOSE, "UIC configuration command fails - DME_FAILURE\n"));\r
break;\r
- default :\r
+ default:\r
ASSERT (FALSE);\r
break;\r
}\r
case 0x01:\r
DEBUG ((DEBUG_VERBOSE, "UIC control command fails - FAILURE\n"));\r
break;\r
- default :\r
+ default:\r
ASSERT (FALSE);\r
break;\r
}\r
**/\r
VOID\r
DumpQueryResponseResult (\r
- IN UINT8 Result\r
+ IN UINT8 Result\r
)\r
{\r
switch (Result) {\r
case 0xFF:\r
DEBUG ((DEBUG_VERBOSE, "Query Response with General Failure\n"));\r
break;\r
- default :\r
+ default:\r
ASSERT (FALSE);\r
break;\r
}\r
**/\r
VOID\r
SwapLittleEndianToBigEndian (\r
- IN OUT UINT8 *Buffer,\r
- IN UINT32 BufferSize\r
+ IN OUT UINT8 *Buffer,\r
+ IN UINT32 BufferSize\r
)\r
{\r
- UINT32 Index;\r
- UINT8 Temp;\r
- UINT32 SwapCount;\r
+ UINT32 Index;\r
+ UINT8 Temp;\r
+ UINT32 SwapCount;\r
\r
SwapCount = BufferSize / 2;\r
for (Index = 0; Index < SwapCount; Index++) {\r
- Temp = Buffer[Index];\r
- Buffer[Index] = Buffer[BufferSize - 1 - Index];\r
+ Temp = Buffer[Index];\r
+ Buffer[Index] = Buffer[BufferSize - 1 - Index];\r
Buffer[BufferSize - 1 - Index] = Temp;\r
}\r
}\r
**/\r
VOID\r
UfsFillTsfOfQueryReqUpiu (\r
- IN OUT UTP_UPIU_TSF *TsfBase,\r
- IN UINT8 Opcode,\r
- IN UINT8 DescId OPTIONAL,\r
- IN UINT8 Index OPTIONAL,\r
- IN UINT8 Selector OPTIONAL,\r
- IN UINT16 Length OPTIONAL,\r
- IN UINT32 Value OPTIONAL\r
+ IN OUT UTP_UPIU_TSF *TsfBase,\r
+ IN UINT8 Opcode,\r
+ IN UINT8 DescId OPTIONAL,\r
+ IN UINT8 Index OPTIONAL,\r
+ IN UINT8 Selector OPTIONAL,\r
+ IN UINT16 Length OPTIONAL,\r
+ IN UINT32 Value OPTIONAL\r
)\r
{\r
ASSERT (TsfBase != NULL);\r
ASSERT (Opcode <= UtpQueryFuncOpcodeTogFlag);\r
\r
- TsfBase->Opcode = Opcode;\r
+ TsfBase->Opcode = Opcode;\r
if (Opcode != UtpQueryFuncOpcodeNop) {\r
TsfBase->DescId = DescId;\r
TsfBase->Index = Index;\r
TsfBase->Selector = Selector;\r
\r
if ((Opcode == UtpQueryFuncOpcodeRdDesc) || (Opcode == UtpQueryFuncOpcodeWrDesc)) {\r
- SwapLittleEndianToBigEndian ((UINT8*)&Length, sizeof (Length));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&Length, sizeof (Length));\r
TsfBase->Length = Length;\r
}\r
\r
if (Opcode == UtpQueryFuncOpcodeWrAttr) {\r
- SwapLittleEndianToBigEndian ((UINT8*)&Value, sizeof (Value));\r
- TsfBase->Value = Value;\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&Value, sizeof (Value));\r
+ TsfBase->Value = Value;\r
}\r
}\r
}\r
**/\r
EFI_STATUS\r
UfsInitCommandUpiu (\r
- IN OUT UTP_COMMAND_UPIU *Command,\r
- IN UINT8 Lun,\r
- IN UINT8 TaskTag,\r
- IN UINT8 *Cdb,\r
- IN UINT8 CdbLength,\r
- IN UFS_DATA_DIRECTION DataDirection,\r
- IN UINT32 ExpDataTranLen\r
+ IN OUT UTP_COMMAND_UPIU *Command,\r
+ IN UINT8 Lun,\r
+ IN UINT8 TaskTag,\r
+ IN UINT8 *Cdb,\r
+ IN UINT8 CdbLength,\r
+ IN UFS_DATA_DIRECTION DataDirection,\r
+ IN UINT32 ExpDataTranLen\r
)\r
{\r
- UINT8 Flags;\r
+ UINT8 Flags;\r
\r
ASSERT ((Command != NULL) && (Cdb != NULL));\r
\r
Command->Lun = Lun;\r
Command->TaskTag = TaskTag;\r
Command->CmdSet = 0x00;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ExpDataTranLen, sizeof (ExpDataTranLen));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ExpDataTranLen, sizeof (ExpDataTranLen));\r
Command->ExpDataTranLen = ExpDataTranLen;\r
\r
CopyMem (Command->Cdb, Cdb, CdbLength);\r
**/\r
EFI_STATUS\r
UfsInitUtpPrdt (\r
- IN UTP_TR_PRD *Prdt,\r
- IN VOID *Buffer,\r
- IN UINT32 BufferSize\r
+ IN UTP_TR_PRD *Prdt,\r
+ IN VOID *Buffer,\r
+ IN UINT32 BufferSize\r
)\r
{\r
- UINT32 PrdtIndex;\r
- UINT32 RemainingLen;\r
- UINT8 *Remaining;\r
- UINTN PrdtNumber;\r
+ UINT32 PrdtIndex;\r
+ UINT32 RemainingLen;\r
+ UINT8 *Remaining;\r
+ UINTN PrdtNumber;\r
\r
ASSERT (((UINTN)Buffer & (BIT0 | BIT1)) == 0);\r
ASSERT ((BufferSize & (BIT1 | BIT0)) == 0);\r
\r
Prdt[PrdtIndex].DbAddr = (UINT32)RShiftU64 ((UINT64)(UINTN)Remaining, 2);\r
Prdt[PrdtIndex].DbAddrU = (UINT32)RShiftU64 ((UINT64)(UINTN)Remaining, 32);\r
- RemainingLen -= UFS_MAX_DATA_LEN_PER_PRD;\r
- Remaining += UFS_MAX_DATA_LEN_PER_PRD;\r
+ RemainingLen -= UFS_MAX_DATA_LEN_PER_PRD;\r
+ Remaining += UFS_MAX_DATA_LEN_PER_PRD;\r
}\r
\r
return EFI_SUCCESS;\r
**/\r
EFI_STATUS\r
UfsInitQueryRequestUpiu (\r
- IN OUT UTP_QUERY_REQ_UPIU *QueryReq,\r
- IN UINT8 TaskTag,\r
- IN UINT8 Opcode,\r
- IN UINT8 DescId,\r
- IN UINT8 Index,\r
- IN UINT8 Selector,\r
- IN UINTN DataSize OPTIONAL,\r
- IN UINT8 *Data OPTIONAL\r
+ IN OUT UTP_QUERY_REQ_UPIU *QueryReq,\r
+ IN UINT8 TaskTag,\r
+ IN UINT8 Opcode,\r
+ IN UINT8 DescId,\r
+ IN UINT8 Index,\r
+ IN UINT8 Selector,\r
+ IN UINTN DataSize OPTIONAL,\r
+ IN UINT8 *Data OPTIONAL\r
)\r
{\r
ASSERT (QueryReq != NULL);\r
}\r
\r
if (Opcode == UtpQueryFuncOpcodeWrAttr) {\r
- UfsFillTsfOfQueryReqUpiu (&QueryReq->Tsf, Opcode, DescId, Index, Selector, 0, *(UINT32*)Data);\r
+ UfsFillTsfOfQueryReqUpiu (&QueryReq->Tsf, Opcode, DescId, Index, Selector, 0, *(UINT32 *)Data);\r
} else if ((Opcode == UtpQueryFuncOpcodeRdDesc) || (Opcode == UtpQueryFuncOpcodeWrDesc)) {\r
UfsFillTsfOfQueryReqUpiu (&QueryReq->Tsf, Opcode, DescId, Index, Selector, (UINT16)DataSize, 0);\r
} else {\r
if (Opcode == UtpQueryFuncOpcodeWrDesc) {\r
CopyMem (QueryReq + 1, Data, DataSize);\r
\r
- SwapLittleEndianToBigEndian ((UINT8*)&DataSize, sizeof (UINT16));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&DataSize, sizeof (UINT16));\r
QueryReq->DataSegLen = (UINT16)DataSize;\r
}\r
\r
IN UINT8 Lun,\r
IN EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet,\r
IN UTP_TRD *Trd,\r
- OUT VOID **CmdDescHost,\r
- OUT VOID **CmdDescMapping\r
+ OUT VOID **CmdDescHost,\r
+ OUT VOID **CmdDescMapping\r
)\r
{\r
- UINTN TotalLen;\r
- UINTN PrdtNumber;\r
- UTP_COMMAND_UPIU *CommandUpiu;\r
- EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
- EFI_STATUS Status;\r
- UINT32 DataLen;\r
- UFS_DATA_DIRECTION DataDirection;\r
+ UINTN TotalLen;\r
+ UINTN PrdtNumber;\r
+ UTP_COMMAND_UPIU *CommandUpiu;\r
+ EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
+ EFI_STATUS Status;\r
+ UINT32 DataLen;\r
+ UFS_DATA_DIRECTION DataDirection;\r
\r
ASSERT ((Private != NULL) && (Packet != NULL) && (Trd != NULL));\r
\r
\r
PrdtNumber = (UINTN)DivU64x32 ((UINT64)DataLen + UFS_MAX_DATA_LEN_PER_PRD - 1, UFS_MAX_DATA_LEN_PER_PRD);\r
\r
- TotalLen = ROUNDUP8 (sizeof (UTP_COMMAND_UPIU)) + ROUNDUP8 (sizeof (UTP_RESPONSE_UPIU)) + PrdtNumber * sizeof (UTP_TR_PRD);\r
+ TotalLen = ROUNDUP8 (sizeof (UTP_COMMAND_UPIU)) + ROUNDUP8 (sizeof (UTP_RESPONSE_UPIU)) + PrdtNumber * sizeof (UTP_TR_PRD);\r
\r
Status = UfsAllocateAlignCommonBuffer (Private, TotalLen, CmdDescHost, &CmdDescPhyAddr, CmdDescMapping);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- CommandUpiu = (UTP_COMMAND_UPIU*)*CmdDescHost;\r
+ CommandUpiu = (UTP_COMMAND_UPIU *)*CmdDescHost;\r
\r
UfsInitCommandUpiu (CommandUpiu, Lun, Private->TaskTag++, Packet->Cdb, Packet->CdbLength, DataDirection, DataLen);\r
\r
IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
IN UFS_DEVICE_MANAGEMENT_REQUEST_PACKET *Packet,\r
IN UTP_TRD *Trd,\r
- OUT VOID **CmdDescHost,\r
- OUT VOID **CmdDescMapping\r
+ OUT VOID **CmdDescHost,\r
+ OUT VOID **CmdDescMapping\r
)\r
{\r
- UINTN TotalLen;\r
- UTP_QUERY_REQ_UPIU *QueryReqUpiu;\r
- UINT8 Opcode;\r
- UINT32 DataSize;\r
- UINT8 *Data;\r
- UINT8 DataDirection;\r
- EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
- EFI_STATUS Status;\r
+ UINTN TotalLen;\r
+ UTP_QUERY_REQ_UPIU *QueryReqUpiu;\r
+ UINT8 Opcode;\r
+ UINT32 DataSize;\r
+ UINT8 *Data;\r
+ UINT8 DataDirection;\r
+ EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
+ EFI_STATUS Status;\r
\r
ASSERT ((Private != NULL) && (Packet != NULL) && (Trd != NULL));\r
\r
Data = Packet->DataBuffer;\r
\r
if ((Opcode == UtpQueryFuncOpcodeWrDesc) || (Opcode == UtpQueryFuncOpcodeRdDesc)) {\r
- if (DataSize == 0 || Data == NULL) {\r
+ if ((DataSize == 0) || (Data == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
TotalLen = ROUNDUP8 (sizeof (UTP_QUERY_REQ_UPIU)) + ROUNDUP8 (sizeof (UTP_QUERY_RESP_UPIU)) + ROUNDUP8 (DataSize);\r
} else {\r
TotalLen = ROUNDUP8 (sizeof (UTP_QUERY_REQ_UPIU)) + ROUNDUP8 (sizeof (UTP_QUERY_RESP_UPIU));\r
//\r
// Initialize UTP QUERY REQUEST UPIU\r
//\r
- QueryReqUpiu = (UTP_QUERY_REQ_UPIU*)*CmdDescHost;\r
+ QueryReqUpiu = (UTP_QUERY_REQ_UPIU *)*CmdDescHost;\r
ASSERT (QueryReqUpiu != NULL);\r
UfsInitQueryRequestUpiu (\r
QueryReqUpiu,\r
Trd->UcdBa = (UINT32)RShiftU64 ((UINT64)CmdDescPhyAddr, 7);\r
Trd->UcdBaU = (UINT32)RShiftU64 ((UINT64)CmdDescPhyAddr, 32);\r
if (Opcode == UtpQueryFuncOpcodeWrDesc) {\r
- Trd->RuL = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_RESP_UPIU)), sizeof (UINT32));\r
- Trd->RuO = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_REQ_UPIU)) + ROUNDUP8 (DataSize), sizeof (UINT32));\r
+ Trd->RuL = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_RESP_UPIU)), sizeof (UINT32));\r
+ Trd->RuO = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_REQ_UPIU)) + ROUNDUP8 (DataSize), sizeof (UINT32));\r
} else {\r
- Trd->RuL = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_RESP_UPIU)) + ROUNDUP8 (DataSize), sizeof (UINT32));\r
- Trd->RuO = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_REQ_UPIU)), sizeof (UINT32));\r
+ Trd->RuL = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_RESP_UPIU)) + ROUNDUP8 (DataSize), sizeof (UINT32));\r
+ Trd->RuO = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_QUERY_REQ_UPIU)), sizeof (UINT32));\r
}\r
\r
return EFI_SUCCESS;\r
**/\r
EFI_STATUS\r
UfsCreateNopCommandDesc (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UTP_TRD *Trd,\r
- OUT VOID **CmdDescHost,\r
- OUT VOID **CmdDescMapping\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UTP_TRD *Trd,\r
+ OUT VOID **CmdDescHost,\r
+ OUT VOID **CmdDescMapping\r
)\r
{\r
- UINTN TotalLen;\r
- UTP_NOP_OUT_UPIU *NopOutUpiu;\r
- EFI_STATUS Status;\r
- EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
+ UINTN TotalLen;\r
+ UTP_NOP_OUT_UPIU *NopOutUpiu;\r
+ EFI_STATUS Status;\r
+ EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
\r
ASSERT ((Private != NULL) && (Trd != NULL));\r
\r
return Status;\r
}\r
\r
- NopOutUpiu = (UTP_NOP_OUT_UPIU*)*CmdDescHost;\r
+ NopOutUpiu = (UTP_NOP_OUT_UPIU *)*CmdDescHost;\r
ASSERT (NopOutUpiu != NULL);\r
NopOutUpiu->TaskTag = Private->TaskTag++;\r
\r
**/\r
EFI_STATUS\r
UfsFindAvailableSlotInTrl (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- OUT UINT8 *Slot\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ OUT UINT8 *Slot\r
)\r
{\r
- UINT8 Nutrs;\r
- UINT8 Index;\r
- UINT32 Data;\r
- EFI_STATUS Status;\r
+ UINT8 Nutrs;\r
+ UINT8 Index;\r
+ UINT32 Data;\r
+ EFI_STATUS Status;\r
\r
ASSERT ((Private != NULL) && (Slot != NULL));\r
\r
- Status = UfsMmioRead32 (Private, UFS_HC_UTRLDBR_OFFSET, &Data);\r
+ Status = UfsMmioRead32 (Private, UFS_HC_UTRLDBR_OFFSET, &Data);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- Nutrs = (UINT8)((Private->UfsHcInfo.Capabilities & UFS_HC_CAP_NUTRS) + 1);\r
+ Nutrs = (UINT8)((Private->UfsHcInfo.Capabilities & UFS_HC_CAP_NUTRS) + 1);\r
\r
for (Index = 0; Index < Nutrs; Index++) {\r
if ((Data & (BIT0 << Index)) == 0) {\r
return EFI_NOT_READY;\r
}\r
\r
-\r
/**\r
Start specified slot in transfer list of a UFS device.\r
\r
**/\r
EFI_STATUS\r
UfsStartExecCmd (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINT8 Slot\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINT8 Slot\r
)\r
{\r
- UINT32 Data;\r
- EFI_STATUS Status;\r
+ UINT32 Data;\r
+ EFI_STATUS Status;\r
\r
Status = UfsMmioRead32 (Private, UFS_HC_UTRLRSR_OFFSET, &Data);\r
if (EFI_ERROR (Status)) {\r
**/\r
EFI_STATUS\r
UfsStopExecCmd (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINT8 Slot\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINT8 Slot\r
)\r
{\r
- UINT32 Data;\r
- EFI_STATUS Status;\r
+ UINT32 Data;\r
+ EFI_STATUS Status;\r
\r
Status = UfsMmioRead32 (Private, UFS_HC_UTRLDBR_OFFSET, &Data);\r
if (EFI_ERROR (Status)) {\r
UINT16 ReturnDataSize;\r
UINT32 ReturnData;\r
\r
- if (Packet == NULL || QueryResp == NULL) {\r
+ if ((Packet == NULL) || (QueryResp == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
switch (Packet->Opcode) {\r
case UtpQueryFuncOpcodeRdDesc:\r
ReturnDataSize = QueryResp->Tsf.Length;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ReturnDataSize, sizeof (UINT16));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ReturnDataSize, sizeof (UINT16));\r
//\r
// Make sure the hardware device does not return more data than expected.\r
//\r
break;\r
case UtpQueryFuncOpcodeWrDesc:\r
ReturnDataSize = QueryResp->Tsf.Length;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ReturnDataSize, sizeof (UINT16));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ReturnDataSize, sizeof (UINT16));\r
Packet->TransferLength = ReturnDataSize;\r
break;\r
case UtpQueryFuncOpcodeRdFlag:\r
//\r
// The 'FLAG VALUE' field is at byte offset 3 of QueryResp->Tsf.Value\r
//\r
- *((UINT8*)(Packet->DataBuffer)) = *((UINT8*)&(QueryResp->Tsf.Value) + 3);\r
+ *((UINT8 *)(Packet->DataBuffer)) = *((UINT8 *)&(QueryResp->Tsf.Value) + 3);\r
break;\r
case UtpQueryFuncOpcodeRdAttr:\r
case UtpQueryFuncOpcodeWrAttr:\r
ReturnData = QueryResp->Tsf.Value;\r
- SwapLittleEndianToBigEndian ((UINT8*) &ReturnData, sizeof (UINT32));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ReturnData, sizeof (UINT32));\r
CopyMem (Packet->DataBuffer, &ReturnData, sizeof (UINT32));\r
break;\r
default:\r
return Status;\r
}\r
\r
- Trd = ((UTP_TRD*)Private->UtpTrlBase) + Slot;\r
+ Trd = ((UTP_TRD *)Private->UtpTrlBase) + Slot;\r
//\r
// Fill transfer request descriptor to this slot.\r
//\r
return Status;\r
}\r
\r
- UfsHc = Private->UfsHostController;\r
- QueryResp = (UTP_QUERY_RESP_UPIU*)((UINT8*)CmdDescHost + Trd->RuO * sizeof (UINT32));\r
+ UfsHc = Private->UfsHostController;\r
+ QueryResp = (UTP_QUERY_RESP_UPIU *)((UINT8 *)CmdDescHost + Trd->RuO * sizeof (UINT32));\r
ASSERT (QueryResp != NULL);\r
CmdDescSize = Trd->RuO * sizeof (UINT32) + Trd->RuL * sizeof (UINT32);\r
\r
goto Exit;\r
}\r
\r
- if (Trd->Ocs != 0 || QueryResp->QueryResp != UfsUtpQueryResponseSuccess) {\r
+ if ((Trd->Ocs != 0) || (QueryResp->QueryResp != UfsUtpQueryResponseSuccess)) {\r
DEBUG ((DEBUG_ERROR, "Failed to send query request, OCS = %X, QueryResp = %X\n", Trd->Ocs, QueryResp->QueryResp));\r
DumpQueryResponseResult (QueryResp->QueryResp);\r
\r
if ((QueryResp->QueryResp == UfsUtpQueryResponseInvalidSelector) ||\r
(QueryResp->QueryResp == UfsUtpQueryResponseInvalidIndex) ||\r
- (QueryResp->QueryResp == UfsUtpQueryResponseInvalidIdn)) {\r
+ (QueryResp->QueryResp == UfsUtpQueryResponseInvalidIdn))\r
+ {\r
Status = EFI_INVALID_PARAMETER;\r
} else {\r
Status = EFI_DEVICE_ERROR;\r
}\r
+\r
goto Exit;\r
}\r
\r
if (CmdDescMapping != NULL) {\r
UfsHc->Unmap (UfsHc, CmdDescMapping);\r
}\r
+\r
if (CmdDescHost != NULL) {\r
UfsHc->FreeBuffer (UfsHc, EFI_SIZE_TO_PAGES (CmdDescSize), CmdDescHost);\r
}\r
\r
Status = EFI_SUCCESS;\r
\r
- for (Retry = 0; Retry < 5; Retry ++) {\r
+ for (Retry = 0; Retry < 5; Retry++) {\r
Status = UfsSendDmRequestRetry (Private, Packet);\r
if (!EFI_ERROR (Status)) {\r
return EFI_SUCCESS;\r
**/\r
EFI_STATUS\r
UfsRwDeviceDesc (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN BOOLEAN Read,\r
- IN UINT8 DescId,\r
- IN UINT8 Index,\r
- IN UINT8 Selector,\r
- IN OUT VOID *Descriptor,\r
- IN OUT UINT32 *DescSize\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN BOOLEAN Read,\r
+ IN UINT8 DescId,\r
+ IN UINT8 Index,\r
+ IN UINT8 Selector,\r
+ IN OUT VOID *Descriptor,\r
+ IN OUT UINT32 *DescSize\r
)\r
{\r
- UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;\r
- EFI_STATUS Status;\r
+ UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;\r
+ EFI_STATUS Status;\r
\r
if (DescSize == NULL) {\r
return EFI_INVALID_PARAMETER;\r
ZeroMem (&Packet, sizeof (UFS_DEVICE_MANAGEMENT_REQUEST_PACKET));\r
\r
if (Read) {\r
- Packet.DataDirection = UfsDataIn;\r
- Packet.Opcode = UtpQueryFuncOpcodeRdDesc;\r
+ Packet.DataDirection = UfsDataIn;\r
+ Packet.Opcode = UtpQueryFuncOpcodeRdDesc;\r
} else {\r
- Packet.DataDirection = UfsDataOut;\r
- Packet.Opcode = UtpQueryFuncOpcodeWrDesc;\r
+ Packet.DataDirection = UfsDataOut;\r
+ Packet.Opcode = UtpQueryFuncOpcodeWrDesc;\r
}\r
- Packet.DataBuffer = Descriptor;\r
- Packet.TransferLength = *DescSize;\r
- Packet.DescId = DescId;\r
- Packet.Index = Index;\r
- Packet.Selector = Selector;\r
- Packet.Timeout = UFS_TIMEOUT;\r
+\r
+ Packet.DataBuffer = Descriptor;\r
+ Packet.TransferLength = *DescSize;\r
+ Packet.DescId = DescId;\r
+ Packet.Index = Index;\r
+ Packet.Selector = Selector;\r
+ Packet.Timeout = UFS_TIMEOUT;\r
\r
Status = UfsSendDmRequest (Private, &Packet);\r
if (EFI_ERROR (Status)) {\r
**/\r
EFI_STATUS\r
UfsRwAttributes (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN BOOLEAN Read,\r
- IN UINT8 AttrId,\r
- IN UINT8 Index,\r
- IN UINT8 Selector,\r
- IN OUT UINT32 *Attributes\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN BOOLEAN Read,\r
+ IN UINT8 AttrId,\r
+ IN UINT8 Index,\r
+ IN UINT8 Selector,\r
+ IN OUT UINT32 *Attributes\r
)\r
{\r
- UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;\r
+ UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;\r
\r
ZeroMem (&Packet, sizeof (UFS_DEVICE_MANAGEMENT_REQUEST_PACKET));\r
\r
if (Read) {\r
- Packet.DataDirection = UfsDataIn;\r
- Packet.Opcode = UtpQueryFuncOpcodeRdAttr;\r
+ Packet.DataDirection = UfsDataIn;\r
+ Packet.Opcode = UtpQueryFuncOpcodeRdAttr;\r
} else {\r
- Packet.DataDirection = UfsDataOut;\r
- Packet.Opcode = UtpQueryFuncOpcodeWrAttr;\r
+ Packet.DataDirection = UfsDataOut;\r
+ Packet.Opcode = UtpQueryFuncOpcodeWrAttr;\r
}\r
- Packet.DataBuffer = Attributes;\r
- Packet.DescId = AttrId;\r
- Packet.Index = Index;\r
- Packet.Selector = Selector;\r
- Packet.Timeout = UFS_TIMEOUT;\r
+\r
+ Packet.DataBuffer = Attributes;\r
+ Packet.DescId = AttrId;\r
+ Packet.Index = Index;\r
+ Packet.Selector = Selector;\r
+ Packet.Timeout = UFS_TIMEOUT;\r
\r
return UfsSendDmRequest (Private, &Packet);\r
}\r
**/\r
EFI_STATUS\r
UfsRwFlags (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN BOOLEAN Read,\r
- IN UINT8 FlagId,\r
- IN OUT UINT8 *Value\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN BOOLEAN Read,\r
+ IN UINT8 FlagId,\r
+ IN OUT UINT8 *Value\r
)\r
{\r
- UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;\r
+ UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;\r
\r
if (Value == NULL) {\r
return EFI_INVALID_PARAMETER;\r
\r
if (Read) {\r
ASSERT (Value != NULL);\r
- Packet.DataDirection = UfsDataIn;\r
- Packet.Opcode = UtpQueryFuncOpcodeRdFlag;\r
+ Packet.DataDirection = UfsDataIn;\r
+ Packet.Opcode = UtpQueryFuncOpcodeRdFlag;\r
} else {\r
- Packet.DataDirection = UfsDataOut;\r
+ Packet.DataDirection = UfsDataOut;\r
if (*Value == 1) {\r
- Packet.Opcode = UtpQueryFuncOpcodeSetFlag;\r
+ Packet.Opcode = UtpQueryFuncOpcodeSetFlag;\r
} else if (*Value == 0) {\r
- Packet.Opcode = UtpQueryFuncOpcodeClrFlag;\r
+ Packet.Opcode = UtpQueryFuncOpcodeClrFlag;\r
} else {\r
return EFI_INVALID_PARAMETER;\r
}\r
}\r
- Packet.DataBuffer = Value;\r
- Packet.DescId = FlagId;\r
- Packet.Index = 0;\r
- Packet.Selector = 0;\r
- Packet.Timeout = UFS_TIMEOUT;\r
+\r
+ Packet.DataBuffer = Value;\r
+ Packet.DescId = FlagId;\r
+ Packet.Index = 0;\r
+ Packet.Selector = 0;\r
+ Packet.Timeout = UFS_TIMEOUT;\r
\r
return UfsSendDmRequest (Private, &Packet);\r
}\r
**/\r
EFI_STATUS\r
UfsSetFlag (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINT8 FlagId\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINT8 FlagId\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 Value;\r
+ EFI_STATUS Status;\r
+ UINT8 Value;\r
\r
Value = 1;\r
Status = UfsRwFlags (Private, FALSE, FlagId, &Value);\r
**/\r
EFI_STATUS\r
UfsReadFlag (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINT8 FlagId,\r
- OUT UINT8 *Value\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINT8 FlagId,\r
+ OUT UINT8 *Value\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
Status = UfsRwFlags (Private, TRUE, FlagId, Value);\r
\r
**/\r
EFI_STATUS\r
UfsExecNopCmds (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 Slot;\r
- UTP_TRD *Trd;\r
- UTP_NOP_IN_UPIU *NopInUpiu;\r
- UINT32 CmdDescSize;\r
- VOID *CmdDescHost;\r
- VOID *CmdDescMapping;\r
- EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
+ EFI_STATUS Status;\r
+ UINT8 Slot;\r
+ UTP_TRD *Trd;\r
+ UTP_NOP_IN_UPIU *NopInUpiu;\r
+ UINT32 CmdDescSize;\r
+ VOID *CmdDescHost;\r
+ VOID *CmdDescMapping;\r
+ EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
\r
//\r
// Find out which slot of transfer request list is available.\r
return Status;\r
}\r
\r
- Trd = ((UTP_TRD*)Private->UtpTrlBase) + Slot;\r
+ Trd = ((UTP_TRD *)Private->UtpTrlBase) + Slot;\r
Status = UfsCreateNopCommandDesc (Private, Trd, &CmdDescHost, &CmdDescMapping);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
//\r
// Check the transfer request result.\r
//\r
- UfsHc = Private->UfsHostController;\r
- NopInUpiu = (UTP_NOP_IN_UPIU*)((UINT8*)CmdDescHost + Trd->RuO * sizeof (UINT32));\r
+ UfsHc = Private->UfsHostController;\r
+ NopInUpiu = (UTP_NOP_IN_UPIU *)((UINT8 *)CmdDescHost + Trd->RuO * sizeof (UINT32));\r
ASSERT (NopInUpiu != NULL);\r
CmdDescSize = Trd->RuO * sizeof (UINT32) + Trd->RuL * sizeof (UINT32);\r
\r
if (CmdDescMapping != NULL) {\r
UfsHc->Unmap (UfsHc, CmdDescMapping);\r
}\r
+\r
if (CmdDescHost != NULL) {\r
UfsHc->FreeBuffer (UfsHc, EFI_SIZE_TO_PAGES (CmdDescSize), CmdDescHost);\r
}\r
if (TransReq->Packet->DataDirection == EFI_EXT_SCSI_DATA_DIRECTION_READ) {\r
CopyMem (TransReq->Packet->InDataBuffer, TransReq->AlignedDataBuf, TransReq->Packet->InTransferLength);\r
}\r
+\r
//\r
// Wipe out the transfer buffer in case it contains sensitive data.\r
//\r
if (DataBuf == NULL) {\r
return EFI_DEVICE_ERROR;\r
}\r
+\r
ZeroMem (DataBuf, DataLen);\r
- TransReq->AlignedDataBuf = DataBuf;\r
+ TransReq->AlignedDataBuf = DataBuf;\r
TransReq->AlignedDataBufSize = DataLen;\r
} else {\r
- DataLen = TransReq->Packet->InTransferLength;\r
- DataBuf = TransReq->Packet->InDataBuffer;\r
+ DataLen = TransReq->Packet->InTransferLength;\r
+ DataBuf = TransReq->Packet->InDataBuffer;\r
}\r
- Flag = EdkiiUfsHcOperationBusMasterWrite;\r
+\r
+ Flag = EdkiiUfsHcOperationBusMasterWrite;\r
} else {\r
if (((UINTN)TransReq->Packet->OutDataBuffer % 4 != 0) || (TransReq->Packet->OutTransferLength % 4 != 0)) {\r
DataLen = TransReq->Packet->OutTransferLength + (4 - (TransReq->Packet->OutTransferLength % 4));\r
if (DataBuf == NULL) {\r
return EFI_DEVICE_ERROR;\r
}\r
+\r
CopyMem (DataBuf, TransReq->Packet->OutDataBuffer, TransReq->Packet->OutTransferLength);\r
- TransReq->AlignedDataBuf = DataBuf;\r
+ TransReq->AlignedDataBuf = DataBuf;\r
TransReq->AlignedDataBufSize = DataLen;\r
} else {\r
- DataLen = TransReq->Packet->OutTransferLength;\r
- DataBuf = TransReq->Packet->OutDataBuffer;\r
+ DataLen = TransReq->Packet->OutTransferLength;\r
+ DataBuf = TransReq->Packet->OutDataBuffer;\r
}\r
- Flag = EdkiiUfsHcOperationBusMasterRead;\r
+\r
+ Flag = EdkiiUfsHcOperationBusMasterRead;\r
}\r
\r
if (DataLen != 0) {\r
FreeAlignedPages (TransReq->AlignedDataBuf, EFI_SIZE_TO_PAGES (TransReq->AlignedDataBufSize));\r
TransReq->AlignedDataBuf = NULL;\r
}\r
+\r
return EFI_DEVICE_ERROR;\r
}\r
}\r
//\r
// Fill PRDT table of Command UPIU for executed SCSI cmd.\r
//\r
- PrdtBase = (UTP_TR_PRD*)((UINT8*)TransReq->CmdDescHost + ROUNDUP8 (sizeof (UTP_COMMAND_UPIU)) + ROUNDUP8 (sizeof (UTP_RESPONSE_UPIU)));\r
+ PrdtBase = (UTP_TR_PRD *)((UINT8 *)TransReq->CmdDescHost + ROUNDUP8 (sizeof (UTP_COMMAND_UPIU)) + ROUNDUP8 (sizeof (UTP_RESPONSE_UPIU)));\r
ASSERT (PrdtBase != NULL);\r
- UfsInitUtpPrdt (PrdtBase, (VOID*)(UINTN)DataBufPhyAddr, DataLen);\r
+ UfsInitUtpPrdt (PrdtBase, (VOID *)(UINTN)DataBufPhyAddr, DataLen);\r
\r
return EFI_SUCCESS;\r
}\r
IN EFI_EVENT Event OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- UTP_RESPONSE_UPIU *Response;\r
- UINT16 SenseDataLen;\r
- UINT32 ResTranCount;\r
- EFI_TPL OldTpl;\r
- UFS_PASS_THRU_TRANS_REQ *TransReq;\r
- EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
+ EFI_STATUS Status;\r
+ UTP_RESPONSE_UPIU *Response;\r
+ UINT16 SenseDataLen;\r
+ UINT32 ResTranCount;\r
+ EFI_TPL OldTpl;\r
+ UFS_PASS_THRU_TRANS_REQ *TransReq;\r
+ EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
\r
TransReq = AllocateZeroPool (sizeof (UFS_PASS_THRU_TRANS_REQ));\r
if (TransReq == NULL) {\r
TransReq->TimeoutRemain = Packet->Timeout;\r
TransReq->Packet = Packet;\r
\r
- UfsHc = Private->UfsHostController;\r
+ UfsHc = Private->UfsHostController;\r
//\r
// Find out which slot of transfer request list is available.\r
//\r
return Status;\r
}\r
\r
- TransReq->Trd = ((UTP_TRD*)Private->UtpTrlBase) + TransReq->Slot;\r
+ TransReq->Trd = ((UTP_TRD *)Private->UtpTrlBase) + TransReq->Slot;\r
\r
//\r
// Fill transfer request descriptor to this slot.\r
// Insert the async SCSI cmd to the Async I/O list\r
//\r
if (Event != NULL) {\r
- OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
TransReq->CallerEvent = Event;\r
InsertTailList (&Private->Queue, &TransReq->TransferList);\r
gBS->RestoreTPL (OldTpl);\r
//\r
// Get sense data if exists\r
//\r
- Response = (UTP_RESPONSE_UPIU*)((UINT8*)TransReq->CmdDescHost + TransReq->Trd->RuO * sizeof (UINT32));\r
+ Response = (UTP_RESPONSE_UPIU *)((UINT8 *)TransReq->CmdDescHost + TransReq->Trd->RuO * sizeof (UINT32));\r
ASSERT (Response != NULL);\r
SenseDataLen = Response->SenseDataLen;\r
- SwapLittleEndianToBigEndian ((UINT8*)&SenseDataLen, sizeof (UINT16));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&SenseDataLen, sizeof (UINT16));\r
\r
if ((Packet->SenseDataLength != 0) && (Packet->SenseData != NULL)) {\r
//\r
if (Packet->DataDirection == EFI_EXT_SCSI_DATA_DIRECTION_READ) {\r
if ((Response->Flags & BIT5) == BIT5) {\r
ResTranCount = Response->ResTranCount;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ResTranCount, sizeof (UINT32));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ResTranCount, sizeof (UINT32));\r
Packet->InTransferLength -= ResTranCount;\r
}\r
} else {\r
if ((Response->Flags & BIT5) == BIT5) {\r
ResTranCount = Response->ResTranCount;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ResTranCount, sizeof (UINT32));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ResTranCount, sizeof (UINT32));\r
Packet->OutTransferLength -= ResTranCount;\r
}\r
}\r
if (TransReq->CmdDescMapping != NULL) {\r
UfsHc->Unmap (UfsHc, TransReq->CmdDescMapping);\r
}\r
+\r
if (TransReq->CmdDescHost != NULL) {\r
UfsHc->FreeBuffer (UfsHc, EFI_SIZE_TO_PAGES (TransReq->CmdDescSize), TransReq->CmdDescHost);\r
}\r
+\r
if (TransReq != NULL) {\r
FreePool (TransReq);\r
}\r
+\r
return Status;\r
}\r
\r
**/\r
EFI_STATUS\r
UfsExecUicCommands (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN OUT EDKII_UIC_COMMAND *UicCommand\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN OUT EDKII_UIC_COMMAND *UicCommand\r
)\r
{\r
EFI_STATUS Status;\r
// UFS 2.0 spec section 5.3.1 Offset:0x20 IS.Bit10 UIC Command Completion Status (UCCS)\r
// This bit is set to '1' by the host controller upon completion of a UIC command.\r
//\r
- Status = UfsWaitMemSet (Private, UFS_HC_IS_OFFSET, UFS_HC_IS_UCCS, UFS_HC_IS_UCCS, UFS_TIMEOUT);\r
+ Status = UfsWaitMemSet (Private, UFS_HC_IS_OFFSET, UFS_HC_IS_UCCS, UFS_HC_IS_UCCS, UFS_TIMEOUT);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = UfsMmioRead32 (Private, UFS_HC_UCMD_ARG3_OFFSET, &UicCommand->Arg3);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
if ((UicCommand->Arg2 & 0xFF) != 0) {\r
- DEBUG_CODE_BEGIN();\r
- DumpUicCmdExecResult ((UINT8)UicCommand->Opcode, (UINT8)(UicCommand->Arg2 & 0xFF));\r
- DEBUG_CODE_END();\r
+ DEBUG_CODE_BEGIN ();\r
+ DumpUicCmdExecResult ((UINT8)UicCommand->Opcode, (UINT8)(UicCommand->Arg2 & 0xFF));\r
+ DEBUG_CODE_END ();\r
return EFI_DEVICE_ERROR;\r
}\r
}\r
**/\r
EFI_STATUS\r
UfsAllocateAlignCommonBuffer (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UINTN Size,\r
- OUT VOID **CmdDescHost,\r
- OUT EFI_PHYSICAL_ADDRESS *CmdDescPhyAddr,\r
- OUT VOID **CmdDescMapping\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UINTN Size,\r
+ OUT VOID **CmdDescHost,\r
+ OUT EFI_PHYSICAL_ADDRESS *CmdDescPhyAddr,\r
+ OUT VOID **CmdDescMapping\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN Bytes;\r
- BOOLEAN Is32BitAddr;\r
- EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
+ EFI_STATUS Status;\r
+ UINTN Bytes;\r
+ BOOLEAN Is32BitAddr;\r
+ EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
\r
if ((Private->UfsHcInfo.Capabilities & UFS_HC_CAP_64ADDR) == UFS_HC_CAP_64ADDR) {\r
Is32BitAddr = FALSE;\r
**/\r
EFI_STATUS\r
UfsEnableHostController (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT32 Data;\r
+ EFI_STATUS Status;\r
+ UINT32 Data;\r
\r
- if (mUfsHcPlatform != NULL && mUfsHcPlatform->Callback != NULL) {\r
+ if ((mUfsHcPlatform != NULL) && (mUfsHcPlatform->Callback != NULL)) {\r
Status = mUfsHcPlatform->Callback (Private->Handle, EdkiiUfsHcPreHce, &Private->UfsHcDriverInterface);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "Failure from platform driver during EdkiiUfsHcPreHce, Status = %r\n", Status));\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Wait until HCE is read as '0' before continuing.\r
//\r
return EFI_DEVICE_ERROR;\r
}\r
\r
- if (mUfsHcPlatform != NULL && mUfsHcPlatform->Callback != NULL) {\r
+ if ((mUfsHcPlatform != NULL) && (mUfsHcPlatform->Callback != NULL)) {\r
Status = mUfsHcPlatform->Callback (Private->Handle, EdkiiUfsHcPostHce, &Private->UfsHcDriverInterface);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "Failure from platform driver during EdkiiUfsHcPostHce, Status = %r\n", Status));\r
**/\r
EFI_STATUS\r
UfsDeviceDetection (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
UINTN Retry;\r
UINT32 Data;\r
EDKII_UIC_COMMAND LinkStartupCommand;\r
\r
- if (mUfsHcPlatform != NULL && mUfsHcPlatform->Callback != NULL) {\r
+ if ((mUfsHcPlatform != NULL) && (mUfsHcPlatform->Callback != NULL)) {\r
Status = mUfsHcPlatform->Callback (Private->Handle, EdkiiUfsHcPreLinkStartup, &Private->UfsHcDriverInterface);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "Failure from platform driver during EdkiiUfsHcPreLinkStartup, Status = %r\n", Status));\r
//\r
for (Retry = 0; Retry < 3; Retry++) {\r
LinkStartupCommand.Opcode = UfsUicDmeLinkStartup;\r
- LinkStartupCommand.Arg1 = 0;\r
- LinkStartupCommand.Arg2 = 0;\r
- LinkStartupCommand.Arg3 = 0;\r
- Status = UfsExecUicCommands (Private, &LinkStartupCommand);\r
+ LinkStartupCommand.Arg1 = 0;\r
+ LinkStartupCommand.Arg2 = 0;\r
+ LinkStartupCommand.Arg3 = 0;\r
+ Status = UfsExecUicCommands (Private, &LinkStartupCommand);\r
if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
return EFI_DEVICE_ERROR;\r
}\r
} else {\r
- if (mUfsHcPlatform != NULL && mUfsHcPlatform->Callback != NULL) {\r
+ if ((mUfsHcPlatform != NULL) && (mUfsHcPlatform->Callback != NULL)) {\r
Status = mUfsHcPlatform->Callback (Private->Handle, EdkiiUfsHcPostLinkStartup, &Private->UfsHcDriverInterface);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "Failure from platform driver during EdkiiUfsHcPostLinkStartup, Status = %r\n", Status));\r
return Status;\r
}\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
}\r
**/\r
EFI_STATUS\r
UfsInitTaskManagementRequestList (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
- UINT8 Nutmrs;\r
- VOID *CmdDescHost;\r
- EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
- VOID *CmdDescMapping;\r
- EFI_STATUS Status;\r
+ UINT8 Nutmrs;\r
+ VOID *CmdDescHost;\r
+ EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
+ VOID *CmdDescMapping;\r
+ EFI_STATUS Status;\r
\r
//\r
// Initial h/w and s/w context for future operations.\r
//\r
// Allocate and initialize UTP Task Management Request List.\r
//\r
- Nutmrs = (UINT8) (RShiftU64 ((Private->UfsHcInfo.Capabilities & UFS_HC_CAP_NUTMRS), 16) + 1);\r
+ Nutmrs = (UINT8)(RShiftU64 ((Private->UfsHcInfo.Capabilities & UFS_HC_CAP_NUTMRS), 16) + 1);\r
Status = UfsAllocateAlignCommonBuffer (Private, Nutmrs * sizeof (UTP_TMRD), &CmdDescHost, &CmdDescPhyAddr, &CmdDescMapping);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Private->UtpTmrlBase = CmdDescHost;\r
Private->Nutmrs = Nutmrs;\r
Private->TmrlMapping = CmdDescMapping;\r
**/\r
EFI_STATUS\r
UfsInitTransferRequestList (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
- UINT8 Nutrs;\r
- VOID *CmdDescHost;\r
- EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
- VOID *CmdDescMapping;\r
- EFI_STATUS Status;\r
+ UINT8 Nutrs;\r
+ VOID *CmdDescHost;\r
+ EFI_PHYSICAL_ADDRESS CmdDescPhyAddr;\r
+ VOID *CmdDescMapping;\r
+ EFI_STATUS Status;\r
\r
//\r
// Initial h/w and s/w context for future operations.\r
**/\r
EFI_STATUS\r
UfsControllerInit (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
Status = UfsEnableHostController (Private);\r
if (EFI_ERROR (Status)) {\r
**/\r
EFI_STATUS\r
UfsControllerStop (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT32 Data;\r
+ EFI_STATUS Status;\r
+ UINT32 Data;\r
\r
//\r
// Enable the UTP Task Management Request List by setting the UTP Task Management\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
ASSERT ((Data & UFS_HC_HCE_EN) == UFS_HC_HCE_EN);\r
\r
Status = UfsMmioWrite32 (Private, UFS_HC_ENABLE_OFFSET, 0);\r
VOID\r
EFIAPI\r
SignalCallerEvent (\r
- IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
- IN UFS_PASS_THRU_TRANS_REQ *TransReq\r
+ IN UFS_PASS_THRU_PRIVATE_DATA *Private,\r
+ IN UFS_PASS_THRU_TRANS_REQ *TransReq\r
)\r
{\r
- EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
- EFI_EVENT CallerEvent;\r
+ EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHc;\r
+ EFI_EVENT CallerEvent;\r
\r
ASSERT ((Private != NULL) && (TransReq != NULL));\r
\r
- UfsHc = Private->UfsHostController;\r
- CallerEvent = TransReq->CallerEvent;\r
+ UfsHc = Private->UfsHostController;\r
+ CallerEvent = TransReq->CallerEvent;\r
\r
RemoveEntryList (&TransReq->TransferList);\r
\r
if (TransReq->CmdDescMapping != NULL) {\r
UfsHc->Unmap (UfsHc, TransReq->CmdDescMapping);\r
}\r
+\r
if (TransReq->CmdDescHost != NULL) {\r
UfsHc->FreeBuffer (\r
UfsHc,\r
VOID\r
EFIAPI\r
ProcessAsyncTaskList (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- UFS_PASS_THRU_PRIVATE_DATA *Private;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *NextEntry;\r
- UFS_PASS_THRU_TRANS_REQ *TransReq;\r
- EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet;\r
- UTP_RESPONSE_UPIU *Response;\r
- UINT16 SenseDataLen;\r
- UINT32 ResTranCount;\r
- UINT32 SlotsMap;\r
- UINT32 Value;\r
- EFI_STATUS Status;\r
-\r
- Private = (UFS_PASS_THRU_PRIVATE_DATA*) Context;\r
- SlotsMap = 0;\r
+ UFS_PASS_THRU_PRIVATE_DATA *Private;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *NextEntry;\r
+ UFS_PASS_THRU_TRANS_REQ *TransReq;\r
+ EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet;\r
+ UTP_RESPONSE_UPIU *Response;\r
+ UINT16 SenseDataLen;\r
+ UINT32 ResTranCount;\r
+ UINT32 SlotsMap;\r
+ UINT32 Value;\r
+ EFI_STATUS Status;\r
+\r
+ Private = (UFS_PASS_THRU_PRIVATE_DATA *)Context;\r
+ SlotsMap = 0;\r
\r
//\r
// Check the entries in the async I/O queue are done or not.\r
//\r
- if (!IsListEmpty(&Private->Queue)) {\r
+ if (!IsListEmpty (&Private->Queue)) {\r
BASE_LIST_FOR_EACH_SAFE (Entry, NextEntry, &Private->Queue) {\r
- TransReq = UFS_PASS_THRU_TRANS_REQ_FROM_THIS (Entry);\r
- Packet = TransReq->Packet;\r
+ TransReq = UFS_PASS_THRU_TRANS_REQ_FROM_THIS (Entry);\r
+ Packet = TransReq->Packet;\r
\r
if ((SlotsMap & (BIT0 << TransReq->Slot)) != 0) {\r
return;\r
}\r
+\r
SlotsMap |= BIT0 << TransReq->Slot;\r
\r
Status = UfsMmioRead32 (Private, UFS_HC_UTRLDBR_OFFSET, &Value);\r
//\r
// Get sense data if exists\r
//\r
- Response = (UTP_RESPONSE_UPIU*)((UINT8*)TransReq->CmdDescHost + TransReq->Trd->RuO * sizeof (UINT32));\r
+ Response = (UTP_RESPONSE_UPIU *)((UINT8 *)TransReq->CmdDescHost + TransReq->Trd->RuO * sizeof (UINT32));\r
ASSERT (Response != NULL);\r
SenseDataLen = Response->SenseDataLen;\r
- SwapLittleEndianToBigEndian ((UINT8*)&SenseDataLen, sizeof (UINT16));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&SenseDataLen, sizeof (UINT16));\r
\r
if ((Packet->SenseDataLength != 0) && (Packet->SenseData != NULL)) {\r
//\r
if (Packet->DataDirection == EFI_EXT_SCSI_DATA_DIRECTION_READ) {\r
if ((Response->Flags & BIT5) == BIT5) {\r
ResTranCount = Response->ResTranCount;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ResTranCount, sizeof (UINT32));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ResTranCount, sizeof (UINT32));\r
Packet->InTransferLength -= ResTranCount;\r
}\r
} else {\r
if ((Response->Flags & BIT5) == BIT5) {\r
ResTranCount = Response->ResTranCount;\r
- SwapLittleEndianToBigEndian ((UINT8*)&ResTranCount, sizeof (UINT32));\r
+ SwapLittleEndianToBigEndian ((UINT8 *)&ResTranCount, sizeof (UINT32));\r
Packet->OutTransferLength -= ResTranCount;\r
}\r
}\r
IN OUT EDKII_UIC_COMMAND *UicCommand\r
)\r
{\r
- UFS_PASS_THRU_PRIVATE_DATA *Private;\r
+ UFS_PASS_THRU_PRIVATE_DATA *Private;\r
\r
- if (This == NULL || UicCommand == NULL) {\r
+ if ((This == NULL) || (UicCommand == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
\r
Private->UfsHcInfo.Capabilities = Data;\r
\r
- if (mUfsHcPlatform != NULL && mUfsHcPlatform->OverrideHcInfo != NULL) {\r
+ if ((mUfsHcPlatform != NULL) && (mUfsHcPlatform->OverrideHcInfo != NULL)) {\r
Status = mUfsHcPlatform->OverrideHcInfo (Private->Handle, &Private->UfsHcInfo);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "Failure from platform on OverrideHcInfo, Status = %r\n", Status));\r
\r
return EFI_SUCCESS;\r
}\r
-\r