Changeset d03ade7 in mainline for uspace/drv/uhci/transfer_list.c
- Timestamp:
- 2011-01-25T21:25:39Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9ee87f6
- Parents:
- b00163f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci/transfer_list.c
rb00163f rd03ade7 23 23 transfer_list_t *instance, transfer_descriptor_t *transfer) 24 24 { 25 assert(instance); 26 assert(transfer); 27 28 uint32_t pa = (uintptr_t)addr_to_phys(transfer); 29 assert((pa & LINK_POINTER_ADDRESS_MASK) == pa); 30 31 /* empty list */ 32 if (instance->first == NULL) { 33 assert(instance->last == NULL); 34 instance->first = instance->last = transfer; 35 } else { 36 assert(instance->last); 37 instance->last->next_va = transfer; 38 39 assert(instance->last->next & LINK_POINTER_TERMINATE_FLAG); 40 instance->last->next = (pa & LINK_POINTER_ADDRESS_MASK); 41 instance->last = transfer; 42 } 43 44 assert(instance->queue_head); 45 if (instance->queue_head->element & LINK_POINTER_TERMINATE_FLAG) { 46 instance->queue_head->element = (pa & LINK_POINTER_ADDRESS_MASK); 47 } 48 uhci_print_info("Successfully added transfer to the hc queue.\n"); 25 49 return EOK; 26 50 }
Note:
See TracChangeset
for help on using the changeset viewer.