Changeset 3da5eb9 in mainline for uspace/drv/uhci/uhci.c
- Timestamp:
- 2011-01-28T19:07:41Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f0e25e8
- Parents:
- 01656f2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci/uhci.c
r01656f2 r3da5eb9 85 85 86 86 uhci_print_verbose("Starting UHCI HC.\n"); 87 pio_write_16(&instance->registers->usbcmd, UHCI_CMD_RUN_STOP); 88 /* 87 89 uint16_t cmd = pio_read_16(&instance->registers->usbcmd); 88 cmd |= UHCI_CMD_ RUN_STOP | UHCI_CMD_CONFIGURE;90 cmd |= UHCI_CMD_DEBUG; 89 91 pio_write_16(&instance->registers->usbcmd, cmd); 90 92 */ 91 93 device->driver_data = instance; 92 94 return EOK; … … 163 165 CHECK_RET_TRANS_FREE_JOB_TD("Failed to allocate callback structure.\n"); 164 166 165 td = transfer_descriptor_get(3, size, false, target, pid );167 td = transfer_descriptor_get(3, size, false, target, pid, job->new_buffer); 166 168 ret = td ? EOK : ENOMEM; 167 169 CHECK_RET_TRANS_FREE_JOB_TD("Failed to setup transfer descriptor.\n"); … … 178 180 return EOK; 179 181 } 180 /*--------------------------------------------------------------------------- -*/182 /*---------------------------------------------------------------------------*/ 181 183 int uhci_clean_finished(void* arg) 182 184 { … … 196 198 uhci_print_verbose("Running cleaning fibril on queue: %p (%s).\n", 197 199 &instance->transfers[i], it ? "SOMETHING" : "EMPTY"); 200 201 if (it) 202 uhci_print_verbose("First in queue: %p (%x).\n", 203 it, it->status); 204 198 205 while (instance->transfers[i].first && 199 206 !(instance->transfers[i].first->status & TD_STATUS_ERROR_ACTIVE)) { 200 207 transfer_descriptor_t *transfer = instance->transfers[i].first; 201 uhci_print_info("Inactive transfer calling callback.\n"); 208 uhci_print_info("Inactive transfer calling callback with status %x.\n", 209 transfer->status); 202 210 instance->transfers[i].first = transfer->next_va; 203 211 transfer_descriptor_dispose(transfer); … … 213 221 int uhci_debug_checker(void *arg) 214 222 { 215 return 0;216 223 uhci_t *instance = (uhci_t*)arg; 217 224 assert(instance); … … 222 229 reg = pio_read_16(&instance->registers->usbsts); 223 230 uhci_print_verbose("Status register: %X\n", reg); 231 /* 224 232 uintptr_t frame_list = pio_read_32(&instance->registers->flbaseadd); 225 233 uhci_print_verbose("Framelist address: %p vs. %p.\n", … … 238 246 uhci_print_verbose("Bulk QH: %p vs. %p.\n", qh->next_queue, 239 247 addr_to_phys(instance->transfers[USB_TRANSFER_BULK].queue_head)); 248 uint16_t cmd = pio_read_16(&instance->registers->usbcmd); 249 cmd |= UHCI_CMD_RUN_STOP; 250 pio_write_16(&instance->registers->usbcmd, cmd); 251 */ 240 252 241 253 async_usleep(UHCI_DEBUGER_TIMEOUT);
Note:
See TracChangeset
for help on using the changeset viewer.