]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/UfsBlockIoPei: fix initialize OCS value to 0x0F
authorHaojian Zhuang <haojian.zhuang@linaro.org>
Mon, 16 Jan 2017 12:22:58 +0000 (20:22 +0800)
committerFeng Tian <feng.tian@intel.com>
Fri, 20 Jan 2017 01:11:26 +0000 (09:11 +0800)
The OCS value should be initiliazed as 0x0F according to UFS spec.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>
MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c
MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.h

index cccacce334ef6f125814bbe986c89bb9bc3e7621..332ce7e9675ac1902bc4a14f8ce9f63c8d0cad95 100644 (file)
@@ -480,6 +480,7 @@ UfsCreateScsiCommandDesc (
   Trd->Int    = UFS_INTERRUPT_COMMAND;\r
   Trd->Dd     = DataDirection;\r
   Trd->Ct     = UFS_STORAGE_COMMAND_TYPE;\r
+  Trd->Ocs    = UFS_HC_TRD_OCS_INIT_VALUE;\r
   Trd->UcdBa  = (UINT32)RShiftU64 ((UINT64)(UINTN)CommandUpiu, 7);\r
   Trd->UcdBaU = (UINT32)RShiftU64 ((UINT64)(UINTN)CommandUpiu, 32);\r
   Trd->RuL    = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_RESPONSE_UPIU)), sizeof (UINT32));\r
@@ -583,7 +584,7 @@ UfsCreateDMCommandDesc (
   Trd->Int    = UFS_INTERRUPT_COMMAND;\r
   Trd->Dd     = DataDirection;\r
   Trd->Ct     = UFS_STORAGE_COMMAND_TYPE;\r
-  Trd->Ocs    = 0x0F;\r
+  Trd->Ocs    = UFS_HC_TRD_OCS_INIT_VALUE;\r
   Trd->UcdBa  = (UINT32)RShiftU64 ((UINT64)(UINTN)QueryReqUpiu, 7);\r
   Trd->UcdBaU = (UINT32)RShiftU64 ((UINT64)(UINTN)QueryReqUpiu, 32);\r
   if (Opcode == UtpQueryFuncOpcodeWrDesc) {\r
@@ -637,6 +638,7 @@ UfsCreateNopCommandDesc (
   Trd->Int    = UFS_INTERRUPT_COMMAND;\r
   Trd->Dd     = 0x00;\r
   Trd->Ct     = UFS_STORAGE_COMMAND_TYPE;\r
+  Trd->Ocs    = UFS_HC_TRD_OCS_INIT_VALUE;\r
   Trd->UcdBa  = (UINT32)RShiftU64 ((UINT64)(UINTN)NopOutUpiu, 7);\r
   Trd->UcdBaU = (UINT32)RShiftU64 ((UINT64)(UINTN)NopOutUpiu, 32);\r
   Trd->RuL    = (UINT16)DivU64x32 ((UINT64)ROUNDUP8 (sizeof (UTP_NOP_IN_UPIU)), sizeof (UINT32));\r
index a423a921de13aec1b33c399469d540e7bf9573dc..0a0cf71894b9a11286c3c5b14bff4fb48dd2b7a9 100644 (file)
 #define UFS_HC_UTMRLRSR            BIT0\r
 #define UFS_HC_UTRLRSR             BIT0\r
 \r
+//\r
+// The initial value of the OCS field of UTP TRD or TMRD descriptor\r
+// defined in JEDEC JESD223 specification\r
+//\r
+#define UFS_HC_TRD_OCS_INIT_VALUE  0x0F\r
+\r
 //\r
 // A maximum of length of 256KB is supported by PRDT entry\r
 //\r