Changeset 7dd3318 in mainline for uspace/drv/uhci-hcd/uhci_struct
- Timestamp:
- 2011-02-12T02:00:54Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 83c439c
- Parents:
- f6309b65
- Location:
- uspace/drv/uhci-hcd/uhci_struct
- Files:
-
- 3 edited
-
queue_head.h (modified) (1 diff)
-
transfer_descriptor.c (modified) (1 diff)
-
transfer_descriptor.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/uhci_struct/queue_head.h
rf6309b65 r7dd3318 55 55 } 56 56 57 static inline void queue_head_a dd_next(queue_head_t *instance, uint32_t next_queue_pa)57 static inline void queue_head_append_qh(queue_head_t *instance, uint32_t pa) 58 58 { 59 if ( next_queue_pa) {60 instance->next_queue = ( next_queue_pa & LINK_POINTER_ADDRESS_MASK)61 | LINK_POINTER_QUEUE_HEAD_FLAG;59 if (pa) { 60 instance->next_queue = (pa & LINK_POINTER_ADDRESS_MASK) 61 | LINK_POINTER_QUEUE_HEAD_FLAG; 62 62 } 63 63 } 64 64 65 static inline queue_head_t * queue_head_get() 66 { return malloc32(sizeof(queue_head_t)); } 65 static inline void queue_head_element_qh(queue_head_t *instance, uint32_t pa) 66 { 67 if (pa) { 68 instance->next_queue = (pa & LINK_POINTER_ADDRESS_MASK) 69 | LINK_POINTER_QUEUE_HEAD_FLAG; 70 } 71 } 72 73 static inline void queue_head_element_td(queue_head_t *instance, uint32_t pa) 74 { 75 if (pa) { 76 instance->element = (pa & LINK_POINTER_ADDRESS_MASK); 77 } 78 } 79 80 static inline queue_head_t * queue_head_get() { 81 queue_head_t *ret = malloc32(sizeof(queue_head_t)); 82 if (ret) 83 queue_head_init(ret); 84 return ret; 85 } 67 86 68 87 static inline void queue_head_dispose(queue_head_t *head) -
uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c
rf6309b65 r7dd3318 40 40 void transfer_descriptor_init(transfer_descriptor_t *instance, 41 41 int error_count, size_t size, bool toggle, bool isochronous, 42 usb_target_t target, int pid, void *buffer )42 usb_target_t target, int pid, void *buffer, transfer_descriptor_t *next) 43 43 { 44 44 assert(instance); 45 45 46 instance->next = 0 | LINK_POINTER_TERMINATE_FLAG; 46 instance->next = 47 (next != NULL) ? addr_to_phys(next) : LINK_POINTER_TERMINATE_FLAG; 47 48 48 49 instance->status = 0 -
uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h
rf6309b65 r7dd3318 93 93 void transfer_descriptor_init(transfer_descriptor_t *instance, 94 94 int error_count, size_t size, bool toggle, bool isochronous, 95 usb_target_t target, int pid, void *buffer );95 usb_target_t target, int pid, void *buffer, transfer_descriptor_t * next); 96 96 97 97 int transfer_descriptor_status(transfer_descriptor_t *instance); 98 99 static inline size_t transfer_descriptor_actual_size( 100 transfer_descriptor_t *instance) 101 { 102 assert(instance); 103 return 104 ((instance->status >> TD_STATUS_ACTLEN_POS) + 1) & TD_STATUS_ACTLEN_MASK; 105 } 98 106 99 107 static inline bool transfer_descriptor_is_active(
Note:
See TracChangeset
for help on using the changeset viewer.
