dwc_otg_qtd Struct Reference

A Queue Transfer Descriptor (QTD) holds the state of a bulk, control, interrupt, or isochronous transfer. More...

#include <dwc_otg_hcd.h>


Public Member Functions

 DWC_CIRCLEQ_ENTRY (dwc_otg_qtd) qtd_list_entry
 This list of QTDs.

Data Fields

uint8_t data_toggle
 Determines the PID of the next data packet for the data phase of control transfers.
dwc_otg_control_phase_e control_phase
 Current phase for control transfers (Setup, Data, or Status).
uint8_t complete_split
 Keep track of the current split type for FS/LS endpoints on a HS Hub.
uint32_t ssplit_out_xfer_count
 How many bytes transferred during SSPLIT OUT.
uint8_t error_count
 Holds the number of bus errors that have occurred for a transaction within this transfer.
uint16_t isoc_frame_index
 Index of the next frame descriptor for an isochronous transfer.
uint8_t isoc_split_pos
 Position of the ISOC split on full/low speed.
uint16_t isoc_split_offset
 Position of the ISOC split in the buffer for the current frame.
dwc_otg_hcd_urburb
 URB for this transfer.
dwc_otg_qhqh
uint8_t in_process
 Indicates if this QTD is currently processed by HW.
uint8_t n_desc
 Number of DMA descriptors for this QTD.
uint16_t isoc_frame_index_last
 Last activated frame(packet) index.


Detailed Description

A Queue Transfer Descriptor (QTD) holds the state of a bulk, control, interrupt, or isochronous transfer.

A single QTD is created for each URB (of one of these types) submitted to the HCD. The transfer associated with a QTD may require one or multiple transactions.

A QTD is linked to a Queue Head, which is entered in either the non-periodic or periodic schedule for execution. When a QTD is chosen for execution, some or all of its transactions may be executed. After execution, the state of the QTD is updated. The QTD may be retired if all its transactions are complete or if an error occurred. Otherwise, it remains in the schedule so more transactions can be executed later.

Definition at line 191 of file dwc_otg_hcd.h.


Field Documentation

uint8_t dwc_otg_qtd::data_toggle

Determines the PID of the next data packet for the data phase of control transfers.

Ignored for other transfer types.
One of the following values:

Definition at line 199 of file dwc_otg_hcd.h.

uint16_t dwc_otg_qtd::isoc_frame_index

Index of the next frame descriptor for an isochronous transfer.

A frame descriptor describes the buffer position and length of the data to be transferred in the next scheduled (micro)frame of an isochronous transfer. It also holds status for that transaction. The frame index starts at 0.

Definition at line 224 of file dwc_otg_hcd.h.

uint16_t dwc_otg_qtd::isoc_frame_index_last

Last activated frame(packet) index.

Used in Descriptor DMA mode only.

Definition at line 250 of file dwc_otg_hcd.h.


The documentation for this struct was generated from the following file:
Generated on Tue May 5 02:22:49 2009 for DesignWare USB 2.0 OTG Controller (DWC_otg) Device Driver by  doxygen 1.4.7