Changes in uspace/drv/uhci-hcd/transfer_list.h [4c70554:1e70157] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/transfer_list.h
r4c70554 r1e70157 39 39 #include "batch.h" 40 40 #include "hw_struct/queue_head.h" 41 #include "utils/malloc32.h" 41 42 42 /** Structure maintaining both hw queue and software list43 * of currently executed transfers44 */45 43 typedef struct transfer_list 46 44 { 47 /** Guard against multiple add/remove races */48 45 fibril_mutex_t guard; 49 /** UHCI hw structure represeting this queue */50 46 qh_t *queue_head; 51 /** Assigned name, for nicer debug output */47 uint32_t queue_head_pa; 52 48 const char *name; 53 /** List of all batches in this list */54 49 link_t batch_list; 55 50 } transfer_list_t; 56 51 57 void transfer_list_fini(transfer_list_t *instance); 52 /** Dispose transfer list structures. 53 * 54 * @param[in] instance Memory place to use. 55 * 56 * Frees memory for internal qh_t structure. 57 */ 58 static inline void transfer_list_fini(transfer_list_t *instance) 59 { 60 assert(instance); 61 free32(instance->queue_head); 62 } 63 58 64 int transfer_list_init(transfer_list_t *instance, const char *name); 65 59 66 void transfer_list_set_next(transfer_list_t *instance, transfer_list_t *next); 60 void transfer_list_add_batch( 61 transfer_list_t *instance, usb_transfer_batch_t *batch); 67 68 void transfer_list_add_batch(transfer_list_t *instance, usb_transfer_batch_t *batch); 69 62 70 void transfer_list_remove_finished(transfer_list_t *instance, link_t *done); 71 63 72 void transfer_list_abort_all(transfer_list_t *instance); 64 73 #endif
Note:
See TracChangeset
for help on using the changeset viewer.