}\r
}\r
\r
- //\r
- // Check value of HCS.DP and make sure that there is a device attached to the Link.\r
- //\r
- Address = UfsHcBase + UFS_HC_STATUS_OFFSET;\r
- Data = MmioRead32 (Address);\r
- if ((Data & UFS_HC_HCS_DP) == 0) {\r
- Address = UfsHcBase + UFS_HC_IS_OFFSET;\r
- Status = UfsWaitMemSet (Address, UFS_HC_IS_ULSS, UFS_HC_IS_ULSS, UFS_TIMEOUT);\r
- if (EFI_ERROR (Status)) {\r
- return EFI_DEVICE_ERROR;\r
- }\r
-\r
- return EFI_NOT_FOUND;\r
- }\r
-\r
- DEBUG ((DEBUG_INFO, "UfsblockioPei: found a attached UFS device\n"));\r
-\r
return EFI_SUCCESS;\r
}\r
\r
)\r
{\r
UINTN Retry;\r
+ UINTN Address;\r
+ UINT32 Data;\r
EFI_STATUS Status;\r
\r
//\r
//\r
for (Retry = 0; Retry < 3; Retry++) {\r
Status = UfsExecUicCommands (Private, UfsUicDmeLinkStartup, 0, 0, 0);\r
- if (!EFI_ERROR (Status)) {\r
- break;\r
+ if (EFI_ERROR (Status)) {\r
+ return EFI_DEVICE_ERROR;\r
}\r
\r
- if (Status == EFI_NOT_FOUND) {\r
- continue;\r
+ //\r
+ // Check value of HCS.DP and make sure that there is a device attached to the Link\r
+ //\r
+ Address = Private->UfsHcBase + UFS_HC_STATUS_OFFSET;\r
+ Data = MmioRead32 (Address);\r
+ if ((Data & UFS_HC_HCS_DP) == 0) {\r
+ Address = Private->UfsHcBase + UFS_HC_IS_OFFSET;\r
+ Status = UfsWaitMemSet (Address, UFS_HC_IS_ULSS, UFS_HC_IS_ULSS, UFS_TIMEOUT);\r
+ if (EFI_ERROR (Status)) {\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+ } else {\r
+ DEBUG ((DEBUG_INFO, "UfsblockioPei: found a attached UFS device\n"));\r
+ return EFI_SUCCESS;\r
}\r
-\r
- return EFI_DEVICE_ERROR;\r
}\r
\r
- if (Retry == 3) {\r
- return EFI_NOT_FOUND;\r
- }\r
-\r
- return EFI_SUCCESS;\r
+ return EFI_NOT_FOUND;\r
}\r
\r
/**\r