From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.88; helo=mga01.intel.com; envelope-from=shenglei.zhang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8431D210F16DD for ; Tue, 14 Aug 2018 18:47:21 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Aug 2018 18:47:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,241,1531810800"; d="scan'208";a="81435133" Received: from shenglei-dev.ccr.corp.intel.com ([10.239.158.52]) by fmsmga001.fm.intel.com with ESMTP; 14 Aug 2018 18:47:20 -0700 From: shenglei To: edk2-devel@lists.01.org Cc: Star Zeng , Eric Dong Date: Wed, 15 Aug 2018 09:45:53 +0800 Message-Id: <20180815014609.19948-12-shenglei.zhang@intel.com> X-Mailer: git-send-email 2.18.0.windows.1 In-Reply-To: <20180815014609.19948-1-shenglei.zhang@intel.com> References: <20180815014609.19948-1-shenglei.zhang@intel.com> Subject: [PATCH v2 11/27] MdeModulePkg UfsBlockIoPei: Remove redundant functions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Aug 2018 01:47:21 -0000 The functions that are never called have been removed. They are UfsPeimUnlinkMemBlock,UfsPeimRequestSense, UfsPeimInquiry,UfsRwAttributes,UfsClearFlag,UfsReadFlag and UfsFindAvailableSlotInTmrl. https://bugzilla.tianocore.org/show_bug.cgi?id=1062 v2: Remove the comment that mentioned 'UfsPeimUnlinkMemBlock' within function UfsPeimFreeMemPool(). Cc: Star Zeng Cc: Eric Dong Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: shenglei Reviewed-by: Hao Wu Reviewed-by: Star Zeng --- .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c | 101 ---------- MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c | 26 --- MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c | 180 ------------------ 3 files changed, 307 deletions(-) diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c index 505b92cfc1..204e456413 100644 --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c @@ -137,53 +137,7 @@ UFS_PEIM_HC_PRIVATE_DATA gUfsHcPeimTemplate = { } }; -/** - Execute Request Sense SCSI command on a specific UFS device. - - @param[in] Private A pointer to UFS_PEIM_HC_PRIVATE_DATA data structure. - @param[in] Lun The lun on which the SCSI cmd executed. - @param[out] DataBuffer A pointer to output sense data. - @param[out] DataBufferLength The length of output sense data. - - @retval EFI_SUCCESS The command executed successfully. - @retval EFI_DEVICE_ERROR A device error occurred while attempting to send SCSI Request Packet. - @retval EFI_TIMEOUT A timeout occurred while waiting for the SCSI Request Packet to execute. - -**/ -EFI_STATUS -UfsPeimRequestSense ( - IN UFS_PEIM_HC_PRIVATE_DATA *Private, - IN UINTN Lun, - OUT VOID *DataBuffer, - OUT UINT32 *DataBufferLength - ) -{ - UFS_SCSI_REQUEST_PACKET Packet; - UINT8 Cdb[UFS_SCSI_OP_LENGTH_SIX]; - EFI_STATUS Status; - ZeroMem (&Packet, sizeof (UFS_SCSI_REQUEST_PACKET)); - ZeroMem (Cdb, sizeof (Cdb)); - - Cdb[0] = EFI_SCSI_OP_REQUEST_SENSE; - - Packet.Timeout = UFS_TIMEOUT; - Packet.Cdb = Cdb; - Packet.CdbLength = sizeof (Cdb); - Packet.DataDirection = UfsDataIn; - Packet.InDataBuffer = DataBuffer; - Packet.InTransferLength = *DataBufferLength; - Packet.SenseData = NULL; - Packet.SenseDataLength = 0; - - Status = UfsExecScsiCmds (Private,(UINT8)Lun, &Packet); - - if (!EFI_ERROR (Status)) { - *DataBufferLength = Packet.InTransferLength; - } - - return Status; -} /** Execute TEST UNITY READY SCSI command on a specific UFS device. @@ -231,62 +185,7 @@ UfsPeimTestUnitReady ( return Status; } -/** - Execute INQUIRY SCSI command on a specific UFS device. - - @param[in] Private A pointer to UFS_PEIM_HC_PRIVATE_DATA data structure. - @param[in] Lun The lun on which the SCSI cmd executed. - @param[out] Inquiry A pointer to Inquiry data buffer. - @param[out] InquiryLengths The length of output Inquiry data. - @param[out] SenseData A pointer to output sense data. - @param[out] SenseDataLength The length of output sense data. - - @retval EFI_SUCCESS The command executed successfully. - @retval EFI_DEVICE_ERROR A device error occurred while attempting to send SCSI Request Packet. - @retval EFI_TIMEOUT A timeout occurred while waiting for the SCSI Request Packet to execute. - -**/ -EFI_STATUS -UfsPeimInquiry ( - IN UFS_PEIM_HC_PRIVATE_DATA *Private, - IN UINTN Lun, - OUT VOID *Inquiry, - OUT UINT32 *InquiryLength, - OUT VOID *SenseData, OPTIONAL - OUT UINT8 *SenseDataLength - ) -{ - UFS_SCSI_REQUEST_PACKET Packet; - UINT8 Cdb[UFS_SCSI_OP_LENGTH_SIX]; - EFI_STATUS Status; - - ZeroMem (&Packet, sizeof (UFS_SCSI_REQUEST_PACKET)); - ZeroMem (Cdb, sizeof (Cdb)); - Cdb[0] = EFI_SCSI_OP_INQUIRY; - Cdb[4] = sizeof (EFI_SCSI_INQUIRY_DATA); - - Packet.Timeout = UFS_TIMEOUT; - Packet.Cdb = Cdb; - Packet.CdbLength = sizeof (Cdb); - Packet.InDataBuffer = Inquiry; - Packet.InTransferLength = *InquiryLength; - Packet.DataDirection = UfsDataIn; - Packet.SenseData = SenseData; - Packet.SenseDataLength = *SenseDataLength; - - Status = UfsExecScsiCmds (Private, (UINT8)Lun, &Packet); - - if (*SenseDataLength != 0) { - *SenseDataLength = Packet.SenseDataLength; - } - - if (!EFI_ERROR (Status)) { - *InquiryLength = Packet.InTransferLength; - } - - return Status; -} /** Execute READ CAPACITY(10) SCSI command on a specific UFS device. diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c index d69e6e7227..6c0b271e68 100644 --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c @@ -219,31 +219,7 @@ UfsPeimIsMemBlockEmpty ( return TRUE; } -/** - Unlink the memory block from the pool's list. - - @param Head The block list head of the memory's pool. - @param BlockToUnlink The memory block to unlink. -**/ -VOID -UfsPeimUnlinkMemBlock ( - IN UFS_PEIM_MEM_BLOCK *Head, - IN UFS_PEIM_MEM_BLOCK *BlockToUnlink - ) -{ - UFS_PEIM_MEM_BLOCK *Block; - - ASSERT ((Head != NULL) && (BlockToUnlink != NULL)); - - for (Block = Head; Block != NULL; Block = Block->Next) { - if (Block->Next == BlockToUnlink) { - Block->Next = BlockToUnlink->Next; - BlockToUnlink->Next = NULL; - break; - } - } -} /** Initialize the memory management pool for the host controller. @@ -305,8 +281,6 @@ UfsPeimFreeMemPool ( // // Unlink all the memory blocks from the pool, then free them. - // UfsPeimUnlinkMemBlock can't be used to unlink and free the - // first block. // for (Block = Pool->Head->Next; Block != NULL; Block = Pool->Head->Next) { UfsPeimFreeMemBlock (Pool, Block); diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c index e36ff8c02a..936f25da5e 100644 --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c @@ -694,31 +694,7 @@ UfsFindAvailableSlotInTrl ( return EFI_SUCCESS; } -/** - Find out available slot in task management transfer list of a UFS device. - - @param[in] Private The pointer to the UFS_PEIM_HC_PRIVATE_DATA data structure. - @param[out] Slot The available slot. - - @retval EFI_SUCCESS The available slot was found successfully. - -**/ -EFI_STATUS -UfsFindAvailableSlotInTmrl ( - IN UFS_PEIM_HC_PRIVATE_DATA *Private, - OUT UINT8 *Slot - ) -{ - ASSERT ((Private != NULL) && (Slot != NULL)); - - // - // The simplest algo to always use slot 0. - // TODO: enhance it to support async transfer with multiple slot. - // - *Slot = 0; - return EFI_SUCCESS; -} /** Start specified slot in transfer list of a UFS device. @@ -897,113 +873,7 @@ Exit: return Status; } -/** - Read or write specified attribute of a UFS device. - - @param[in] Private The pointer to the UFS_PEIM_HC_PRIVATE_DATA data structure. - @param[in] Read The boolean variable to show r/w direction. - @param[in] AttrId The ID of Attribute. - @param[in] Index The Index of Attribute. - @param[in] Selector The Selector of Attribute. - @param[in, out] Attributes The value of Attribute to be read or written. - - @retval EFI_SUCCESS The Attribute was read/written successfully. - @retval EFI_DEVICE_ERROR A device error occurred while attempting to r/w the Attribute. - @retval EFI_TIMEOUT A timeout occurred while waiting for the completion of r/w the Attribute. - -**/ -EFI_STATUS -UfsRwAttributes ( - IN UFS_PEIM_HC_PRIVATE_DATA *Private, - IN BOOLEAN Read, - IN UINT8 AttrId, - IN UINT8 Index, - IN UINT8 Selector, - IN OUT UINT32 *Attributes - ) -{ - EFI_STATUS Status; - UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet; - UINT8 Slot; - UTP_TRD *Trd; - UINTN Address; - UTP_QUERY_RESP_UPIU *QueryResp; - UINT8 *CmdDescBase; - UINT32 CmdDescSize; - UINT32 ReturnData; - - ZeroMem (&Packet, sizeof (UFS_DEVICE_MANAGEMENT_REQUEST_PACKET)); - - if (Read) { - Packet.DataDirection = UfsDataIn; - Packet.Opcode = UtpQueryFuncOpcodeRdAttr; - } else { - Packet.DataDirection = UfsDataOut; - Packet.Opcode = UtpQueryFuncOpcodeWrAttr; - } - Packet.DescId = AttrId; - Packet.Index = Index; - Packet.Selector = Selector; - Packet.Timeout = UFS_TIMEOUT; - - // - // Find out which slot of transfer request list is available. - // - Status = UfsFindAvailableSlotInTrl (Private, &Slot); - if (EFI_ERROR (Status)) { - return Status; - } - - Trd = ((UTP_TRD*)Private->UtpTrlBase) + Slot; - // - // Fill transfer request descriptor to this slot. - // - Status = UfsCreateDMCommandDesc (Private, &Packet, Trd); - if (EFI_ERROR (Status)) { - return Status; - } - - // - // Check the transfer request result. - // - CmdDescBase = (UINT8 *)(UINTN)(LShiftU64 ((UINT64)Trd->UcdBaU, 32) | LShiftU64 ((UINT64)Trd->UcdBa, 7)); - QueryResp = (UTP_QUERY_RESP_UPIU*)(CmdDescBase + Trd->RuO * sizeof (UINT32)); - CmdDescSize = Trd->RuO * sizeof (UINT32) + Trd->RuL * sizeof (UINT32); - - // - // Start to execute the transfer request. - // - UfsStartExecCmd (Private, Slot); - - // - // Wait for the completion of the transfer request. - // - Address = Private->UfsHcBase + UFS_HC_UTRLDBR_OFFSET; - Status = UfsWaitMemSet (Address, BIT0 << Slot, 0, Packet.Timeout); - if (EFI_ERROR (Status)) { - goto Exit; - } - - if (QueryResp->QueryResp != 0) { - DumpQueryResponseResult (QueryResp->QueryResp); - Status = EFI_DEVICE_ERROR; - goto Exit; - } - - if (Trd->Ocs == 0) { - ReturnData = QueryResp->Tsf.Value; - SwapLittleEndianToBigEndian ((UINT8*)&ReturnData, sizeof (UINT32)); - *Attributes = ReturnData; - } else { - Status = EFI_DEVICE_ERROR; - } - -Exit: - UfsStopExecCmd (Private, Slot); - UfsPeimFreeMem (Private->Pool, CmdDescBase, CmdDescSize); - return Status; -} /** Read or write specified flag of a UFS device. @@ -1143,57 +1013,7 @@ UfsSetFlag ( return Status; } -/** - Clear specified flag to 0 on a UFS device. - - @param[in] Private The pointer to the UFS_PEIM_HC_PRIVATE_DATA data structure. - @param[in] FlagId The ID of flag to be cleared. - - @retval EFI_SUCCESS The flag was cleared successfully. - @retval EFI_DEVICE_ERROR A device error occurred while attempting to clear the flag. - @retval EFI_TIMEOUT A timeout occurred while waiting for the completion of clearing the flag. - -**/ -EFI_STATUS -UfsClearFlag ( - IN UFS_PEIM_HC_PRIVATE_DATA *Private, - IN UINT8 FlagId - ) -{ - EFI_STATUS Status; - UINT8 Value; - - Value = 0; - Status = UfsRwFlags (Private, FALSE, FlagId, &Value); - - return Status; -} - -/** - Read specified flag from a UFS device. - - @param[in] Private The pointer to the UFS_PEIM_HC_PRIVATE_DATA data structure. - @param[in] FlagId The ID of flag to be read. - @param[out] Value The flag's value. - - @retval EFI_SUCCESS The flag was read successfully. - @retval EFI_DEVICE_ERROR A device error occurred while attempting to read the flag. - @retval EFI_TIMEOUT A timeout occurred while waiting for the completion of reading the flag. - -**/ -EFI_STATUS -UfsReadFlag ( - IN UFS_PEIM_HC_PRIVATE_DATA *Private, - IN UINT8 FlagId, - OUT UINT8 *Value - ) -{ - EFI_STATUS Status; - - Status = UfsRwFlags (Private, TRUE, FlagId, Value); - return Status; -} /** Sends NOP IN cmd to a UFS device for initialization process request. -- 2.18.0.windows.1