Changeset c21e6a5 in mainline for uspace/drv/bus/usb/xhci/transfers.c
- Timestamp:
- 2018-02-05T00:54:08Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- af16ebe
- Parents:
- 65c059f
- git-author:
- Ondřej Hlavatý <aearsis@…> (2018-02-05 00:27:40)
- git-committer:
- Ondřej Hlavatý <aearsis@…> (2018-02-05 00:54:08)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/xhci/transfers.c
r65c059f rc21e6a5 115 115 { 116 116 xhci_transfer_t *transfer = xhci_transfer_from_batch(batch); 117 118 dma_buffer_free(&transfer->hc_buffer);119 117 free(transfer); 120 118 } … … 135 133 size_t i, size_t total, size_t *remaining) 136 134 { 137 const uintptr_t ptr = dma_buffer_phys(&transfer-> hc_buffer,138 transfer-> hc_buffer.virt + i * PAGE_SIZE);135 const uintptr_t ptr = dma_buffer_phys(&transfer->batch.dma_buffer, 136 transfer->batch.dma_buffer.virt + i * PAGE_SIZE); 139 137 140 138 trb->parameter = host2xhci(64, ptr); … … 418 416 } 419 417 420 if (batch->dir == USB_DIRECTION_IN) { 421 assert(batch->buffer); 422 assert(batch->transferred_size <= batch->buffer_size); 423 memcpy(batch->buffer, transfer->hc_buffer.virt, batch->transferred_size); 424 } 418 assert(batch->transferred_size <= batch->buffer_size); 425 419 426 420 usb_transfer_batch_finish(batch); … … 472 466 const usb_transfer_type_t type = batch->ep->transfer_type; 473 467 assert(transfer_handlers[type]); 474 475 if (batch->buffer_size > 0) {476 if (dma_buffer_alloc(&transfer->hc_buffer, batch->buffer_size))477 return ENOMEM;478 }479 480 if (batch->dir != USB_DIRECTION_IN) {481 // Sending stuff from host to device, we need to copy the actual data.482 memcpy(transfer->hc_buffer.virt, batch->buffer, batch->buffer_size);483 }484 468 485 469 /*
Note:
See TracChangeset
for help on using the changeset viewer.