TianoCore EDK2 master
Loading...
Searching...
No Matches
UfsDevConfigProtocol.c File Reference
#include "UfsPassThru.h"

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI UfsRwUfsDescriptor (IN EFI_UFS_DEVICE_CONFIG_PROTOCOL *This, IN BOOLEAN Read, IN UINT8 DescId, IN UINT8 Index, IN UINT8 Selector, IN OUT UINT8 *Descriptor, IN OUT UINT32 *DescSize)
 
EFI_STATUS EFIAPI UfsRwUfsFlag (IN EFI_UFS_DEVICE_CONFIG_PROTOCOL *This, IN BOOLEAN Read, IN UINT8 FlagId, IN OUT UINT8 *Flag)
 
EFI_STATUS EFIAPI UfsRwUfsAttribute (IN EFI_UFS_DEVICE_CONFIG_PROTOCOL *This, IN BOOLEAN Read, IN UINT8 AttrId, IN UINT8 Index, IN UINT8 Selector, IN OUT UINT8 *Attribute, IN OUT UINT32 *AttrSize)
 

Detailed Description

The implementation of the EFI UFS Device Config Protocol.

Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file UfsDevConfigProtocol.c.

Function Documentation

◆ UfsRwUfsAttribute()

EFI_STATUS EFIAPI UfsRwUfsAttribute ( IN EFI_UFS_DEVICE_CONFIG_PROTOCOL This,
IN BOOLEAN  Read,
IN UINT8  AttrId,
IN UINT8  Index,
IN UINT8  Selector,
IN OUT UINT8 *  Attribute,
IN OUT UINT32 *  AttrSize 
)

Read or write specified attribute of a UFS device.

The function is used to read/write UFS attributes. The consumer of this API is responsible for allocating the data buffer pointed by Attribute.

Parameters
[in]ThisThe pointer to the EFI_UFS_DEVICE_CONFIG_PROTOCOL instance.
[in]ReadThe boolean variable to show r/w direction.
[in]AttrIdThe ID of Attribute.
[in]IndexThe Index of Attribute.
[in]SelectorThe Selector of Attribute.
[in,out]AttributeThe buffer of Attribute to be read or written.
[in,out]AttrSizeThe size of Attribute buffer. On input, the size, in bytes, of the data buffer specified by Attribute. On output, the number of bytes that were actually transferred.
Return values
EFI_SUCCESSThe attribute is read/written successfully.
EFI_INVALID_PARAMETERThis is NULL or Attribute is NULL or AttrSize is NULL. AttrId, Index and Selector are invalid combination to point to a type of UFS attribute.
EFI_DEVICE_ERRORThe attribute is not read/written successfully.

Definition at line 140 of file UfsDevConfigProtocol.c.

◆ UfsRwUfsDescriptor()

EFI_STATUS EFIAPI UfsRwUfsDescriptor ( IN EFI_UFS_DEVICE_CONFIG_PROTOCOL This,
IN BOOLEAN  Read,
IN UINT8  DescId,
IN UINT8  Index,
IN UINT8  Selector,
IN OUT UINT8 *  Descriptor,
IN OUT UINT32 *  DescSize 
)

Read or write specified device descriptor of a UFS device.

The function is used to read/write UFS device descriptors. The consumer of this API is responsible for allocating the data buffer pointed by Descriptor.

Parameters
[in]ThisThe pointer to the EFI_UFS_DEVICE_CONFIG_PROTOCOL instance.
[in]ReadThe boolean variable to show r/w direction.
[in]DescIdThe ID of device descriptor.
[in]IndexThe Index of device descriptor.
[in]SelectorThe Selector of device descriptor.
[in,out]DescriptorThe buffer of device descriptor to be read or written.
[in,out]DescSizeThe size of device descriptor buffer. On input, the size, in bytes, of the data buffer specified by Descriptor. On output, the number of bytes that were actually transferred.
Return values
EFI_SUCCESSThe device descriptor is read/written successfully.
EFI_INVALID_PARAMETERThis is NULL or Descriptor is NULL or DescSize is NULL. DescId, Index and Selector are invalid combination to point to a type of UFS device descriptor.
EFI_DEVICE_ERRORThe device descriptor is not read/written successfully.

Definition at line 36 of file UfsDevConfigProtocol.c.

◆ UfsRwUfsFlag()

EFI_STATUS EFIAPI UfsRwUfsFlag ( IN EFI_UFS_DEVICE_CONFIG_PROTOCOL This,
IN BOOLEAN  Read,
IN UINT8  FlagId,
IN OUT UINT8 *  Flag 
)

Read or write specified flag of a UFS device.

The function is used to read/write UFS flag descriptors. The consumer of this API is responsible for allocating the buffer pointed by Flag. The buffer size is 1 byte as UFS flag descriptor is just a single Boolean value that represents a TRUE or FALSE, '0' or '1', ON or OFF type of value.

Parameters
[in]ThisThe pointer to the EFI_UFS_DEVICE_CONFIG_PROTOCOL instance.
[in]ReadThe boolean variable to show r/w direction.
[in]FlagIdThe ID of flag to be read or written.
[in,out]FlagThe buffer to set or clear flag.
Return values
EFI_SUCCESSThe flag descriptor is set/clear successfully.
EFI_INVALID_PARAMETERThis is NULL or Flag is NULL. FlagId is an invalid UFS flag ID.
EFI_DEVICE_ERRORThe flag is not set/clear successfully.

Definition at line 91 of file UfsDevConfigProtocol.c.