transfer_descriptor.h File Reference

UHCI driver. More...

#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.


Detailed Description

UHCI driver.

Definition in file transfer_descriptor.h.


Generated on Thu Jun 2 07:45:51 2011 for HelenOS/USB by  doxygen 1.4.7