twe_request
twe_completeio(struct twe_request *tr)
struct twe_request *tr;
static int twe_report_request(struct twe_request *tr);
twe_start(struct twe_request *tr)
struct twe_request *tr;
struct twe_request *tr;
struct twe_request *tr;
twe_handle_aen(struct twe_request *tr)
twe_get_request(struct twe_softc *sc, struct twe_request **tr)
twe_release_request(struct twe_request *tr)
twe_report_request(struct twe_request *tr)
twe_print_request(struct twe_request *tr)
struct twe_request *tr;
struct twe_request *tr;
void (* func)(struct twe_request *tr));
struct twe_request *tr;
static int twe_wait_request(struct twe_request *tr);
static int twe_immediate_request(struct twe_request *tr, int usetmp);
static void twe_completeio(struct twe_request *tr);
void (* func)(struct twe_request *tr))
struct twe_request *tr;
struct twe_request *tr;
static void twe_handle_aen(struct twe_request *tr);
struct twe_request *tr;
twe_wait_request(struct twe_request *tr)
static int twe_get_request(struct twe_softc *sc, struct twe_request **tr);
twe_immediate_request(struct twe_request *tr, int usetmp)
static void twe_release_request(struct twe_request *tr);
twe_map_request(struct twe_request *tr)
twe_unmap_request(struct twe_request *tr)
struct twe_request *tr;
struct twe_request *
struct twe_request *tr;
aligned_size = (sizeof(struct twe_request) + TWE_ALIGNMASK) &
twe_free_request(struct twe_request *tr)
struct twe_request *tr = (struct twe_request *)arg;
void (* tr_complete)(struct twe_request *tr); /* completion handler */
TAILQ_HEAD(, twe_request) twe_free; /* command structures available for reuse */
TAILQ_HEAD(, twe_request) twe_ready; /* requests ready for the controller */
TAILQ_HEAD(, twe_request) twe_busy; /* requests busy in the controller */
TAILQ_HEAD(, twe_request) twe_complete; /* active commands (busy or waiting for completion) */
struct twe_request *twe_lookup[TWE_Q_LENGTH]; /* commands indexed by request ID */
extern int twe_start(struct twe_request *tr);
extern struct twe_request *twe_allocate_request(struct twe_softc *sc, int tag); /* allocate request structure */
extern void twe_free_request(struct twe_request *tr); /* free request structure */
extern int twe_map_request(struct twe_request *tr); /* make request visible to controller, do s/g */
extern void twe_unmap_request(struct twe_request *tr); /* cleanup after transfer, unmap */
twe_enqueue_ ## name (struct twe_request *tr) \
twe_requeue_ ## name (struct twe_request *tr) \
static __inline struct twe_request * \
struct twe_request *tr; \
twe_remove_ ## name (struct twe_request *tr) \
TAILQ_ENTRY(twe_request) tr_link; /* list linkage */