class Dwc3TestHelper

Defined at line 48 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

Public Methods

void HandleEp0TransferCompleteEvent (Dwc3 & drv, uint8_t ep_num)

Defined at line 52 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SimulateGhostTransferCompleteEvent (Dwc3 & drv, uint8_t ep_num)

Defined at line 60 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEp0TransferNotReadyEvent (Dwc3 & drv, uint8_t ep_num, uint32_t stage)

Defined at line 63 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEp0State (Dwc3 & drv, Dwc3::Ep0::State state)

Defined at line 66 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void Ep0Reset (Dwc3 & drv)

Defined at line 67 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void Ep0QueueSetup (Dwc3 & drv)

Defined at line 68 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

Dwc3::Ep0::State GetEp0State (Dwc3 & drv)

Defined at line 69 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

fuchsia_hardware_usb_descriptor::wire::UsbSpeed GetEp0CurSpeed (const Dwc3 & drv)

Defined at line 70 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEp0CurSpeed (Dwc3 & drv, fuchsia_hardware_usb_descriptor::wire::UsbSpeed speed)

Defined at line 73 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint64_t GetEp0SetupGeneration (const Dwc3 & drv)

Defined at line 76 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void ResetUserEndpoints (Dwc3 & drv)

Defined at line 77 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void StopActiveTransfers (Dwc3 & drv)

Defined at line 78 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void WaitForAllUserEndpointsIdle (Dwc3 & drv, fit::callback<void (bool)> callback)

Parks `callback` behind the user-endpoint idle barrier exactly like HandleResetEvent() /

HandleConnectionDoneEvent() do, so a test can observe whether the barrier is released with

idle == true (NotifyEndpointIdle) or aborted with idle == false

(CancelAllEndpointIdleCallbacks).

Defined at line 83 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetDciDisconnectDrainStallDelay (Dwc3 & drv, zx::duration delay)

Shortens the DCI disconnect drain watchdog so a test can observe a stalled drain without

waiting for the production delay.

Defined at line 88 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint64_t GetDciDisconnectStallCount (const Dwc3 & drv)

Defined at line 91 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void EnableEp0 (Dwc3 & drv)

Defined at line 94 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

fuchsia_hardware_usb_policy::wire::DeviceState GetDeviceState (Dwc3 & drv)

Defined at line 98 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetPowerOn (Dwc3 & drv, bool power_on)

Defined at line 101 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool HasConnectionLease (const Dwc3 & drv)

Defined at line 102 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

fuchsia_hardware_usb_descriptor::UsbSpeed GetConnectionSpeed (const Dwc3 & drv)

Defined at line 103 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetConnectionSpeed (Dwc3 & drv, fuchsia_hardware_usb_descriptor::UsbSpeed speed)

Defined at line 106 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetDriverStopping (Dwc3 & drv, bool driver_stopping)

Defined at line 109 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetDeviceState (Dwc3 & drv, fuchsia_hardware_usb_policy::DeviceState state)

Defined at line 114 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

PlatformExtension * GetPlatformExtension (Dwc3 & drv)

Defined at line 117 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEvent (Dwc3 & drv, uint32_t event)

Defined at line 120 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void CmdEpSetConfig (Dwc3 & drv, Dwc3::Endpoint & ep, bool modify)

Defined at line 121 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void CmdEpStartTransfer (Dwc3 & drv, Dwc3::Endpoint & ep, zx_paddr_t trb_phys)

Defined at line 124 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool CmdEpEndTransfer (Dwc3 & drv, Dwc3::Endpoint & ep, bool cmd_ioc)

Defined at line 127 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void CmdEpSetStall (Dwc3 & drv, Dwc3::Endpoint & ep)

Defined at line 130 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void CmdEpClearStall (Dwc3 & drv, Dwc3::Endpoint & ep)

Defined at line 131 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void CmdStartNewConfig (Dwc3 & drv, Dwc3::Endpoint & ep, uint32_t rsrc_id_base)

Defined at line 132 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void CmdEpTransferConfig (Dwc3 & drv, Dwc3::Endpoint & ep)

Defined at line 135 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

zx::result<> InitFifo (Dwc3 & drv, uint8_t ep_num, bool cached)

Defined at line 136 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEpTransferCompleteEvent (Dwc3 & drv, uint8_t ep_num)

Defined at line 142 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEpTransferInProgressEvent (Dwc3 & drv, uint8_t ep_num)

Defined at line 150 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEpTransferStartedEvent (Dwc3 & drv, uint8_t ep_num, uint32_t rsrc_id)

Defined at line 158 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEpTransferNotReadyEvent (Dwc3 & drv, uint8_t ep_num, uint32_t stage)

Defined at line 161 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleEpTransferEndedEvent (Dwc3 & drv, uint8_t ep_num)

Defined at line 164 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void EpReset (Dwc3 & drv, Dwc3::Endpoint & ep)

Defined at line 167 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

zx_status_t ResetHw (Dwc3 & drv, bool is_resume)

Defined at line 168 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEnableSuspend (Dwc3 & drv, bool enable)

Defined at line 173 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool GetPowerOn (Dwc3 & drv)

Defined at line 178 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleIrq (Dwc3 & drv)

Defined at line 179 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsActive (Dwc3 & drv)

Defined at line 180 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

zx_status_t EpSetStall (Dwc3 & drv, Dwc3::Endpoint & ep, bool stall)

Defined at line 181 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void UserEpQueueNext (Dwc3 & drv, Dwc3::UserEndpoint & uep)

Defined at line 184 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void UserEpReset (Dwc3 & drv, Dwc3::UserEndpoint & uep)

Defined at line 185 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void RemoveRequests (Dwc3 & drv, Dwc3::UserEndpoint & uep, zx_status_t reason)

Defined at line 186 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetDeviceAddress (Dwc3 & drv, uint32_t address)

Defined at line 189 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsFifoEmpty (Dwc3 & drv)

Defined at line 190 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEpTransferState (Dwc3 & drv, uint8_t ep_num, TransferState state)

Defined at line 191 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

TransferState GetEpTransferState (Dwc3 & drv, uint8_t ep_num)

Defined at line 201 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEpRsrcId (Dwc3 & drv, uint8_t ep_num, uint32_t rsrc_id)

Defined at line 208 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool GetGotNotReady (Dwc3 & drv, uint8_t ep_num)

Defined at line 219 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetGotNotReady (Dwc3 & drv, uint8_t ep_num, bool got_not_ready)

Defined at line 227 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint32_t GetEpRsrcId (Dwc3 & drv, uint8_t ep_num)

Defined at line 238 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsXferIdle (Dwc3 & drv, uint8_t ep_num)

Defined at line 246 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsEpEnabled (Dwc3 & drv, uint8_t ep_num)

Defined at line 255 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

size_t GetEpQueuedTrbs (const Dwc3 & drv, uint8_t ep_num)

Defined at line 263 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

Dwc3::UserEndpoint * GetUserEndpoint (Dwc3 & drv, uint8_t ep_num)

Defined at line 271 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void AdvanceFifo (TrbFifo & fifo, size_t count)

Defined at line 274 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

size_t GetQueuedReqsSize (Dwc3 & drv, uint8_t ep_num)

Defined at line 280 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void EpSetConfig (Dwc3 & drv, Dwc3::Endpoint & ep, bool enable)

Defined at line 288 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void EpEnable (Dwc3 & drv, Dwc3::Endpoint & ep, bool enable)

Defined at line 291 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

async_dispatcher_t * GetDispatcher (Dwc3 & drv)

Defined at line 292 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetControllerStarted (Dwc3 & drv, bool started)

Defined at line 293 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

inspect::Inspector RecordMetrics (Dwc3 & drv)

Defined at line 294 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleIrq (Dwc3 & drv, async_dispatcher_t * dispatcher, async::IrqBase * irq, zx_status_t status, const zx_packet_interrupt_t * interrupt)

Defined at line 297 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetCurSetup (Dwc3 & drv, const fdescriptor::wire::UsbSetup & setup)

Defined at line 301 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void * GetEp0BufferVirt (Dwc3 & drv)

Defined at line 304 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

size_t GetEp0BufferSize (Dwc3 & drv)

Defined at line 305 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool GetEp0BufferEnableCache (Dwc3 & drv)

Defined at line 306 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

dma_buffer::CacheOptions GetEp0BufferCacheOptions (Dwc3 & drv)

Defined at line 307 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

zx::unowned_vmo GetEp0BufferVmo (Dwc3 & drv)

Defined at line 310 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

std::unique_ptr<dma_buffer::ContiguousBuffer> SwapEp0Buffer (Dwc3 & drv, std::unique_ptr<dma_buffer::ContiguousBuffer> buffer)

Defined at line 311 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void WriteEp0Buffer (Dwc3 & drv, const void * src, size_t offset, size_t size)

Defined at line 316 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void ReadEp0Buffer (Dwc3 & drv, void * dest, size_t offset, size_t size)

Note: dma_buffer::Buffer::Read takes (offset, length, dest), unlike Write which takes (src,

offset, length).

Defined at line 323 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsEp0OutStalled (Dwc3 & drv)

Defined at line 328 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsEp0InStalled (Dwc3 & drv)

Defined at line 329 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEp0OutEnabled (Dwc3 & drv, bool enabled)

Defined at line 330 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEp0InEnabled (Dwc3 & drv, bool enabled)

Defined at line 331 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEp0CurTransferLen (Dwc3 & drv, size_t len)

Defined at line 332 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

size_t GetEp0CurTransferLen (const Dwc3 & drv)

Defined at line 333 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SetEp0MaxPacketSize (Dwc3 & drv, uint16_t max_packet_size)

Defined at line 334 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint16_t GetEp0OutMaxPacketSize (const Dwc3 & drv)

Defined at line 338 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint64_t GetEp0OutTotalBytes (const Dwc3 & drv)

Defined at line 339 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint64_t GetEp0InTotalBytes (const Dwc3 & drv)

Defined at line 340 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

dwc3_trb_t * GetCurrentReadTrb (Dwc3 & drv)

Defined at line 341 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void PushTrbToSharedFifo (Dwc3 & drv, const dwc3_trb_t & trb)

Defined at line 342 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void HandleResetEvent (Dwc3 & drv)

Defined at line 352 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint8_t GetEp0TestMode (const Dwc3 & drv)

Defined at line 353 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

uint64_t GetConnectFailures (const Dwc3 & drv)

Defined at line 354 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

bool IsSharedFifoEmpty (Dwc3 & drv)

Defined at line 356 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void BindDciInterface (Dwc3 & drv, fidl::ClientEnd<fuchsia_hardware_usb_dci::UsbDciInterface> client)

Defined at line 358 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SimulateSetupReceived (Dwc3 & drv, const fdescriptor::wire::UsbSetup & setup)

Simulation constructs for EP0

Defined at line 364 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SimulateDataOutPhase (Dwc3 & drv, uint32_t received_len)

Defined at line 374 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SimulateDataInPhase (Dwc3 & drv)

Defined at line 386 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h

void SimulateStatusPhase (Dwc3 & drv, bool is_in)

Defined at line 393 of file ../../src/devices/usb/drivers/dwc3/dwc3-test-fixture.h