From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=hao.a.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 AE913210E8D6D for ; Thu, 9 Aug 2018 19:57:50 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Aug 2018 19:57:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,217,1531810800"; d="scan'208";a="247657859" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 09 Aug 2018 19:57:50 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 9 Aug 2018 19:57:49 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.143]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.240]) with mapi id 14.03.0319.002; Fri, 10 Aug 2018 10:57:47 +0800 From: "Wu, Hao A" To: "Zhang, Shenglei" , "edk2-devel@lists.01.org" CC: "Dong, Eric" , "Zeng, Star" Thread-Topic: [edk2] [PATCH 11/26] MdeModulePkg UfsBlockIoPei: Remove redundant functions Thread-Index: AQHULvSXNXYVkHYGrUSzYowbCF7SRqS4TDkA Date: Fri, 10 Aug 2018 02:57:47 +0000 Message-ID: References: <20180808084712.34696-1-shenglei.zhang@intel.com> <20180808084712.34696-12-shenglei.zhang@intel.com> In-Reply-To: <20180808084712.34696-12-shenglei.zhang@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 11/26] 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: Fri, 10 Aug 2018 02:57:50 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable One minor comment: Please help to remove the comment that mentioned 'UfsPeimUnlinkMemBlock' within function UfsPeimFreeMemPool(). For me, // // Unlink all the memory blocks from the pool, then free them. // will be fine. With that change, Reviewed-by: Hao Wu Best Regards, Hao Wu > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > shenglei > Sent: Wednesday, August 08, 2018 4:47 PM > To: edk2-devel@lists.01.org > Cc: Dong, Eric; Zeng, Star > Subject: [edk2] [PATCH 11/26] MdeModulePkg UfsBlockIoPei: Remove > redundant functions >=20 > The functions that are never called have been removed. > They are UfsPeimUnlinkMemBlock,UfsPeimRequestSense, > UfsPeimInquiry,UfsRwAttributes,UfsClearFlag,UfsReadFlag > and UfsFindAvailableSlotInTmrl >=20 > https://bugzilla.tianocore.org/show_bug.cgi?id=3D1062 >=20 > Cc: Star Zeng > Cc: Eric Dong > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: shenglei > --- > .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c | 101 ---------- > MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c | 24 --- > MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c | 180 ------------------ > 3 files changed, 305 deletions(-) >=20 > 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 > =3D { > } > }; >=20 > -/** > - 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 execute= d. > - @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 attempt= ing > 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; >=20 > - ZeroMem (&Packet, sizeof (UFS_SCSI_REQUEST_PACKET)); > - ZeroMem (Cdb, sizeof (Cdb)); > - > - Cdb[0] =3D EFI_SCSI_OP_REQUEST_SENSE; > - > - Packet.Timeout =3D UFS_TIMEOUT; > - Packet.Cdb =3D Cdb; > - Packet.CdbLength =3D sizeof (Cdb); > - Packet.DataDirection =3D UfsDataIn; > - Packet.InDataBuffer =3D DataBuffer; > - Packet.InTransferLength =3D *DataBufferLength; > - Packet.SenseData =3D NULL; > - Packet.SenseDataLength =3D 0; > - > - Status =3D UfsExecScsiCmds (Private,(UINT8)Lun, &Packet); > - > - if (!EFI_ERROR (Status)) { > - *DataBufferLength =3D Packet.InTransferLength; > - } > - > - return Status; > -} >=20 > /** > Execute TEST UNITY READY SCSI command on a specific UFS device. > @@ -231,62 +185,7 @@ UfsPeimTestUnitReady ( > return Status; > } >=20 > -/** > - 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 execute= d. > - @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 attempt= ing > 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)); >=20 > - Cdb[0] =3D EFI_SCSI_OP_INQUIRY; > - Cdb[4] =3D sizeof (EFI_SCSI_INQUIRY_DATA); > - > - Packet.Timeout =3D UFS_TIMEOUT; > - Packet.Cdb =3D Cdb; > - Packet.CdbLength =3D sizeof (Cdb); > - Packet.InDataBuffer =3D Inquiry; > - Packet.InTransferLength =3D *InquiryLength; > - Packet.DataDirection =3D UfsDataIn; > - Packet.SenseData =3D SenseData; > - Packet.SenseDataLength =3D *SenseDataLength; > - > - Status =3D UfsExecScsiCmds (Private, (UINT8)Lun, &Packet); > - > - if (*SenseDataLength !=3D 0) { > - *SenseDataLength =3D Packet.SenseDataLength; > - } > - > - if (!EFI_ERROR (Status)) { > - *InquiryLength =3D Packet.InTransferLength; > - } > - > - return Status; > -} >=20 > /** > 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..d334faa0bb 100644 > --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c > +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c > @@ -219,31 +219,7 @@ UfsPeimIsMemBlockEmpty ( > return TRUE; > } >=20 > -/** > - 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. >=20 > -**/ > -VOID > -UfsPeimUnlinkMemBlock ( > - IN UFS_PEIM_MEM_BLOCK *Head, > - IN UFS_PEIM_MEM_BLOCK *BlockToUnlink > - ) > -{ > - UFS_PEIM_MEM_BLOCK *Block; > - > - ASSERT ((Head !=3D NULL) && (BlockToUnlink !=3D NULL)); > - > - for (Block =3D Head; Block !=3D NULL; Block =3D Block->Next) { > - if (Block->Next =3D=3D BlockToUnlink) { > - Block->Next =3D BlockToUnlink->Next; > - BlockToUnlink->Next =3D NULL; > - break; > - } > - } > -} >=20 > /** > Initialize the memory management pool for the host controller. > 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; > } >=20 > -/** > - Find out available slot in task management transfer list of a UFS devi= ce. > - > - @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 !=3D NULL) && (Slot !=3D NULL)); > - > - // > - // The simplest algo to always use slot 0. > - // TODO: enhance it to support async transfer with multiple slot. > - // > - *Slot =3D 0; >=20 > - return EFI_SUCCESS; > -} >=20 > /** > Start specified slot in transfer list of a UFS device. > @@ -897,113 +873,7 @@ Exit: > return Status; > } >=20 > -/** > - Read or write specified attribute of a UFS device. > - > - @param[in] Private The pointer to the UFS_PEIM_HC_PRIVATE_D= ATA > data structure. > - @param[in] Read The boolean variable to show r/w directi= on. > - @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 wri= tten. > - > - @retval EFI_SUCCESS The Attribute was read/written successfu= lly. > - @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 =3D UfsDataIn; > - Packet.Opcode =3D UtpQueryFuncOpcodeRdAttr; > - } else { > - Packet.DataDirection =3D UfsDataOut; > - Packet.Opcode =3D UtpQueryFuncOpcodeWrAttr; > - } > - Packet.DescId =3D AttrId; > - Packet.Index =3D Index; > - Packet.Selector =3D Selector; > - Packet.Timeout =3D UFS_TIMEOUT; > - > - // > - // Find out which slot of transfer request list is available. > - // > - Status =3D UfsFindAvailableSlotInTrl (Private, &Slot); > - if (EFI_ERROR (Status)) { > - return Status; > - } > - > - Trd =3D ((UTP_TRD*)Private->UtpTrlBase) + Slot; > - // > - // Fill transfer request descriptor to this slot. > - // > - Status =3D UfsCreateDMCommandDesc (Private, &Packet, Trd); > - if (EFI_ERROR (Status)) { > - return Status; > - } > - > - // > - // Check the transfer request result. > - // > - CmdDescBase =3D (UINT8 *)(UINTN)(LShiftU64 ((UINT64)Trd->UcdBaU, 32) | > LShiftU64 ((UINT64)Trd->UcdBa, 7)); > - QueryResp =3D (UTP_QUERY_RESP_UPIU*)(CmdDescBase + Trd->RuO * sizeof > (UINT32)); > - CmdDescSize =3D 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 =3D Private->UfsHcBase + UFS_HC_UTRLDBR_OFFSET; > - Status =3D UfsWaitMemSet (Address, BIT0 << Slot, 0, Packet.Timeout); > - if (EFI_ERROR (Status)) { > - goto Exit; > - } > - > - if (QueryResp->QueryResp !=3D 0) { > - DumpQueryResponseResult (QueryResp->QueryResp); > - Status =3D EFI_DEVICE_ERROR; > - goto Exit; > - } > - > - if (Trd->Ocs =3D=3D 0) { > - ReturnData =3D QueryResp->Tsf.Value; > - SwapLittleEndianToBigEndian ((UINT8*)&ReturnData, sizeof (UINT32)); > - *Attributes =3D ReturnData; > - } else { > - Status =3D EFI_DEVICE_ERROR; > - } > - > -Exit: > - UfsStopExecCmd (Private, Slot); > - UfsPeimFreeMem (Private->Pool, CmdDescBase, CmdDescSize); >=20 > - return Status; > -} >=20 > /** > Read or write specified flag of a UFS device. > @@ -1143,57 +1013,7 @@ UfsSetFlag ( > return Status; > } >=20 > -/** > - Clear specified flag to 0 on a UFS device. > - > - @param[in] Private The pointer to the UFS_PEIM_HC_PRIVATE_D= ATA > 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 =3D 0; > - Status =3D 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_D= ATA > 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 =3D UfsRwFlags (Private, TRUE, FlagId, Value); >=20 > - return Status; > -} >=20 > /** > Sends NOP IN cmd to a UFS device for initialization process request. > -- > 2.18.0.windows.1 >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel