Changeset 3f189c5 in mainline for uspace/drv/uhci-hcd/transfer_list.c
- Timestamp:
- 2011-02-07T14:06:57Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fe10e72
- Parents:
- 7e62b62
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/transfer_list.c
r7e62b62 r3f189c5 41 41 { 42 42 assert(instance); 43 instance->first = NULL;44 instance->last = NULL;45 43 instance->next = NULL; 46 44 instance->name = name; … … 64 62 return; 65 63 queue_head_add_next(instance->queue_head, next->queue_head_pa); 66 }67 /*----------------------------------------------------------------------------*/68 int transfer_list_append(69 transfer_list_t *instance, transfer_descriptor_t *transfer)70 {71 assert(instance);72 assert(transfer);73 74 uint32_t pa = (uintptr_t)addr_to_phys(transfer);75 assert((pa & LINK_POINTER_ADDRESS_MASK) == pa);76 77 /* empty list */78 if (instance->first == NULL) {79 assert(instance->last == NULL);80 instance->first = instance->last = transfer;81 } else {82 assert(instance->last);83 instance->last->next_va = transfer;84 85 assert(instance->last->next & LINK_POINTER_TERMINATE_FLAG);86 instance->last->next = (pa & LINK_POINTER_ADDRESS_MASK);87 instance->last = transfer;88 }89 90 assert(instance->queue_head);91 if (instance->queue_head->element & LINK_POINTER_TERMINATE_FLAG) {92 instance->queue_head->element = (pa & LINK_POINTER_ADDRESS_MASK);93 }94 usb_log_debug("Successfully added transfer to the hc queue %s.\n",95 instance->name);96 return EOK;97 64 } 98 65 /*----------------------------------------------------------------------------*/
Note:
See TracChangeset
for help on using the changeset viewer.