class UfsTest

Defined at line 333 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

Public Members

UfsMockDevice mock_device_

Protected Members

ForegroundDriverTest driver_test_
TestConfig::DriverType * dut_

Public Methods

void SetUp ()

Defined at line 44 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

void TearDown ()

Defined at line 49 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

void InitMockDevice ()

Defined at line 17 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

void StartDriver (bool supply_power_framework)

Defined at line 26 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx_status_t DisableController ()

Defined at line 54 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx_status_t EnableController ()

Defined at line 56 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx::result<> TransferFillDescriptorAndSendRequest (uint8_t slot, DataDirection ddir, uint16_t resp_offset, uint16_t resp_len, uint16_t prdt_offset, uint16_t prdt_entry_count)

Helper functions for accessing private functions.

Defined at line 58 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx::result<> TaskManagementFillDescriptorAndSendRequest (uint8_t slot, TaskManagementRequestUpiu & request)

Defined at line 66 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx::result<> MapVmo (zx::unowned_vmo & vmo, fzl::VmoMapper & mapper, uint64_t offset_vmo, uint64_t length)

Map the data vmo to the address space and assign physical addresses. Currently, it only

supports 8KB vmo. So, we get two physical addresses. The return value is the physical address

of the pinned memory.

Defined at line 71 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

uint8_t GetSlotStateCount (SlotState slot_state)

Defined at line 80 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx::result<uint32_t> ReadAttribute (Attributes attribute, uint8_t index)

Defined at line 92 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

zx::result<> WriteAttribute (Attributes attribute, uint32_t value, uint8_t index)

Defined at line 96 of file ../../src/devices/block/drivers/ufs/test/unit-lib.cc

fdf_testing::ForegroundDriverTest<TestConfig> & driver_test ()

Defined at line 341 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

zx::result<fdf::MmioBuffer> GetMmioBuffer (zx::vmo vmo)

Defined at line 343 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

zx::result<> DisableBackgroundOp ()

Defined at line 369 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

zx::result<uint8_t> ReserveAdminSlot ()

This function is a wrapper to avoid the thread annotation of ReserveAdminSlot().

Defined at line 372 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

template <class T>
zx::result<uint8_t> ReserveSlot ()

Defined at line 380 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

template <>
zx::result<uint8_t> ReserveSlot<ufs::TransferRequestProcessor> ()

Defined at line 383 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

template <>
zx::result<uint8_t> ReserveSlot<ufs::TaskManagementRequestProcessor> ()

Defined at line 387 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

template <class T>
zx::result<> RingRequestDoorbell (uint8_t slot_num)

Defined at line 393 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

template <>
zx::result<> RingRequestDoorbell<ufs::TransferRequestProcessor> (uint8_t slot_num)

Defined at line 396 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h

template <>
zx::result<> RingRequestDoorbell<ufs::TaskManagementRequestProcessor> (uint8_t slot_num)

Defined at line 400 of file ../../src/devices/block/drivers/ufs/test/unit-lib.h