MdeModulePkg/UfsPassThruDxe: Refactor private data to use UfsHcInfo

https://bugzilla.tianocore.org/show_bug.cgi?id=1343

Private data has been refactored to use EDKII_UFS_HC_INFO structure
to store host controller capabilities and version
information. Getting host controller data has been moved
into single place and is done before host controller enable.

Signed-off-by: Mateusz Albecki <mateusz.albecki@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
This commit is contained in:
Albecki, Mateusz
2019-08-09 22:36:19 +08:00
committed by Hao A Wu
parent 90952ad733
commit a71272ed7a
3 changed files with 58 additions and 23 deletions

View File

@@ -62,7 +62,7 @@ typedef struct _UFS_PASS_THRU_PRIVATE_DATA {
EFI_UFS_DEVICE_CONFIG_PROTOCOL UfsDevConfig;
EDKII_UFS_HOST_CONTROLLER_PROTOCOL *UfsHostController;
UINTN UfsHcBase;
UINT32 Capabilities;
EDKII_UFS_HC_INFO UfsHcInfo;
UINT8 TaskTag;
@@ -959,6 +959,19 @@ UfsRwUfsAttribute (
IN OUT UINT32 *AttrSize
);
/**
Initializes UfsHcInfo field in private data.
@param[in] Private Pointer to host controller private data.
@retval EFI_SUCCESS UfsHcInfo initialized successfully.
@retval Others Failed to initalize UfsHcInfo.
**/
EFI_STATUS
GetUfsHcInfo (
IN UFS_PASS_THRU_PRIVATE_DATA *Private
);
extern EFI_COMPONENT_NAME_PROTOCOL gUfsPassThruComponentName;
extern EFI_COMPONENT_NAME2_PROTOCOL gUfsPassThruComponentName2;
extern EFI_DRIVER_BINDING_PROTOCOL gUfsPassThruDriverBinding;