#include <mem.h>
#include <usb/usb.h>
#include "link_pointer.h"
Go to the source code of this file.
| Data Structures | |
| struct | transfer_descriptor | 
| Transfer Descriptor, defined in UHCI design guide p.  More... | |
| Defines | |
| #define | TD_DEVICE_ADDRESS_MASK 0x7f | 
| #define | TD_DEVICE_ADDRESS_POS 8 | 
| #define | TD_DEVICE_DATA_TOGGLE_ONE_FLAG (1 << 19) | 
| #define | TD_DEVICE_ENDPOINT_MASK 0xf | 
| #define | TD_DEVICE_ENDPOINT_POS 15 | 
| #define | TD_DEVICE_MAXLEN_MASK 0x7ff | 
| #define | TD_DEVICE_MAXLEN_POS 21 | 
| #define | TD_DEVICE_PID_MASK 0xff | 
| #define | TD_DEVICE_PID_POS 0 | 
| #define | TD_DEVICE_RESERVED_FLAG (1 << 20) | 
| #define | TD_STATUS_ACTLEN_MASK 0x7ff | 
| #define | TD_STATUS_ACTLEN_POS 0 | 
| #define | TD_STATUS_ERROR_ACTIVE (1 << 23) | 
| #define | TD_STATUS_ERROR_BABBLE (1 << 20) | 
| #define | TD_STATUS_ERROR_BIT_STUFF (1 << 17) | 
| #define | TD_STATUS_ERROR_BUFFER (1 << 21) | 
| #define | TD_STATUS_ERROR_COUNT_MASK 0x3 | 
| #define | TD_STATUS_ERROR_COUNT_POS 27 | 
| #define | TD_STATUS_ERROR_CRC (1 << 18) | 
| #define | TD_STATUS_ERROR_MASK 0xff | 
| #define | TD_STATUS_ERROR_NAK (1 << 19) | 
| #define | TD_STATUS_ERROR_POS 16 | 
| #define | TD_STATUS_ERROR_RESERVED (1 << 16) | 
| #define | TD_STATUS_ERROR_STALLED (1 << 22) | 
| #define | TD_STATUS_IOC_FLAG (1 << 24) | 
| #define | TD_STATUS_ISOCHRONOUS_FLAG (1 << 25) | 
| #define | TD_STATUS_LOW_SPEED_FLAG (1 << 26) | 
| #define | TD_STATUS_RESERVED_MASK 0xc000f800 | 
| #define | TD_STATUS_SPD_FLAG (1 << 29) | 
| Typedefs | |
| typedef transfer_descriptor | td_t | 
| Transfer Descriptor, defined in UHCI design guide p. | |
| Functions | |
| static size_t | td_act_size (td_t *instance) | 
| Helper function for parsing actual size out of TD. | |
| void | td_init (td_t *instance, int err_count, size_t size, bool toggle, bool iso, bool low_speed, usb_target_t target, usb_packet_id pid, void *buffer, td_t *next) | 
| Initialize Transfer Descriptor. | |
| static bool | td_is_active (td_t *instance) | 
| Helper function for parsing value of active bit. | |
| static bool | td_is_short (td_t *instance) | 
| Check whether less than max data were received on SPD marked transfer. | |
| void | td_print_status (td_t *instance) | 
| Print values in status field (dw1) in a human readable way. | |
| static void | td_set_ioc (td_t *instance) | 
| Helper function for setting IOC bit. | |
| int | td_status (td_t *instance) | 
| Convert TD status into standard error code. | |
| static int | td_toggle (td_t *instance) | 
| Helper function for parsing value of toggle bit. | |
Definition in file transfer_descriptor.h.
 1.4.7
 1.4.7