class Ufs
Defined at line 151 of file ../../src/devices/block/drivers/ufs/ufs.h
Public Members
static const char[] kDriverName
static const char[] kHardwarePowerElementName
static const fuchsia_power_broker::PowerLevel kPowerLevelOff
static const fuchsia_power_broker::PowerLevel kPowerLevelOn
static const fuchsia_power_broker::PowerLevel kPowerLevelBoot
Public Methods
void QueueIoCommand (IoCommand * io_cmd)
Queue an IO command to be performed asynchronously.
zx::result<> NotifyEventCallback (NotifyEvent event, uint64_t data)
Defines a callback function to perform when an |event| occurs.
Defined at line 108 of file ../../src/devices/block/drivers/ufs/ufs.cc
zx::result<> Notify (NotifyEvent event, uint64_t data)
The controller notifies the host controller when it takes the action defined in |event|.
Defined at line 127 of file ../../src/devices/block/drivers/ufs/ufs.cc
zx_status_t WaitWithTimeout (fit::function<bool ()> wait_for, zx::duration timeout, const fbl::String & timeout_message, zx::duration granularity)
Defined at line 134 of file ../../src/devices/block/drivers/ufs/ufs.cc
void Ufs (fdf::DriverStartArgs start_args, fdf::UnownedSynchronizedDispatcher dispatcher)
Defined at line 160 of file ../../src/devices/block/drivers/ufs/ufs.h
void ~Ufs ()
Defined at line 164 of file ../../src/devices/block/drivers/ufs/ufs.h
zx::result<uint16_t> TranslateUfsLunToScsiLun (uint8_t ufs_lun)
Defined at line 164 of file ../../src/devices/block/drivers/ufs/ufs.cc
fidl::WireSyncClient<fuchsia_driver_framework::Node> & root_node ()
scsi::Controller
Defined at line 171 of file ../../src/devices/block/drivers/ufs/ufs.h
std::string_view driver_name ()
Defined at line 172 of file ../../src/devices/block/drivers/ufs/ufs.h
const std::shared_ptr<fdf::Namespace> & driver_incoming ()
Defined at line 173 of file ../../src/devices/block/drivers/ufs/ufs.h
std::shared_ptr<fdf::OutgoingDirectory> & driver_outgoing ()
Defined at line 174 of file ../../src/devices/block/drivers/ufs/ufs.h
async_dispatcher_t * driver_async_dispatcher ()
Defined at line 175 of file ../../src/devices/block/drivers/ufs/ufs.h
const std::optional<std::string> & driver_node_name ()
Defined at line 176 of file ../../src/devices/block/drivers/ufs/ufs.h
fdf::Logger & driver_logger ()
Defined at line 177 of file ../../src/devices/block/drivers/ufs/ufs.h
const ufs_config::Config & config ()
Defined at line 178 of file ../../src/devices/block/drivers/ufs/ufs.h
void ProcessIoSubmissions ()
Convert block operations to UPIU commands and submit them asynchronously.
Defined at line 195 of file ../../src/devices/block/drivers/ufs/ufs.cc
zx::result<uint8_t> TranslateScsiLunToUfsLun (uint16_t scsi_lun)
Defined at line 178 of file ../../src/devices/block/drivers/ufs/ufs.cc
size_t BlockOpSize ()
Defined at line 180 of file ../../src/devices/block/drivers/ufs/ufs.h
const fdf::MmioBuffer & GetMmio ()
Defined at line 187 of file ../../src/devices/block/drivers/ufs/ufs.h
DeviceManager & GetDeviceManager ()
Defined at line 192 of file ../../src/devices/block/drivers/ufs/ufs.h
TransferRequestProcessor & GetTransferRequestProcessor ()
Defined at line 196 of file ../../src/devices/block/drivers/ufs/ufs.h
TaskManagementRequestProcessor & GetTaskManagementRequestProcessor ()
Defined at line 200 of file ../../src/devices/block/drivers/ufs/ufs.h
void SetHostControllerCallback (HostControllerCallback callback)
Used to register a platform-specific NotifyEventCallback, which handles variants and quirks for
each host interface platform.
Defined at line 219 of file ../../src/devices/block/drivers/ufs/ufs.h
fdf::Dispatcher & exception_event_dispatcher ()
Defined at line 235 of file ../../src/devices/block/drivers/ufs/ufs.h
libsync::Completion & exception_event_completion ()
Defined at line 236 of file ../../src/devices/block/drivers/ufs/ufs.h
uint32_t GetLogicalUnitCount ()
for test
Defined at line 239 of file ../../src/devices/block/drivers/ufs/ufs.h
bool HasWellKnownLun (WellKnownLuns lun)
Defined at line 243 of file ../../src/devices/block/drivers/ufs/ufs.h
bool IsResumed ()
Defined at line 247 of file ../../src/devices/block/drivers/ufs/ufs.h
const inspect::Inspector & inspect ()
Defined at line 249 of file ../../src/devices/block/drivers/ufs/ufs.h
zx::result<> Start ()
Defined at line 1413 of file ../../src/devices/block/drivers/ufs/ufs.cc
void PrepareStop (fdf::PrepareStopCompleter completer)
Defined at line 1469 of file ../../src/devices/block/drivers/ufs/ufs.cc
zx_status_t ExecuteCommandSync (uint8_t target, uint16_t lun, iovec cdb, bool is_write, iovec data)
Defined at line 499 of file ../../src/devices/block/drivers/ufs/ufs.cc
void ExecuteCommandAsync (uint8_t target, uint16_t lun, iovec cdb, bool is_write, uint32_t block_size_bytes, scsi::DeviceOp * device_op, iovec data)
Defined at line 458 of file ../../src/devices/block/drivers/ufs/ufs.cc
void ProcessAdminCompletions ()
Find the completed Admin commands in the Request List and handle their completion.
Defined at line 264 of file ../../src/devices/block/drivers/ufs/ufs.cc
void ProcessIoCompletions ()
Find the completed IO commands in the Request List and handle their completion.
Defined at line 268 of file ../../src/devices/block/drivers/ufs/ufs.cc
void ProcessErrors ()
Recover errors in the request list.
Defined at line 270 of file ../../src/devices/block/drivers/ufs/ufs.cc
void DumpRegisters ()
Defined at line 1064 of file ../../src/devices/block/drivers/ufs/ufs.cc
Protected Methods
zx::result<fdf::MmioBuffer> CreateMmioBuffer (zx_off_t offset, size_t size, zx::vmo vmo)
Defined at line 256 of file ../../src/devices/block/drivers/ufs/ufs.h
zx_status_t Init ()
Initialize the UFS controller and bind the logical units.
Declare this as virtual to delay driver initialization in tests.
Defined at line 603 of file ../../src/devices/block/drivers/ufs/ufs.cc
Friends
class UfsTest