Changeset c21e6a5 in mainline for uspace/lib/usbhost/src/endpoint.c


Ignore:
Timestamp:
2018-02-05T00:54:08Z (6 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
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)
Message:

usbhost: prepare buffers for transfers in library

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhost/src/endpoint.c

    r65c059f rc21e6a5  
    7474
    7575        ep->max_transfer_size = ep->max_packet_size * ep->packets_per_uframe;
     76        ep->transfer_buffer_policy = DMA_POLICY_STRICT;
    7677}
    7778
     
    215216 * @param name Communication identifier (for nicer output).
    216217 */
    217 int endpoint_send_batch(endpoint_t *ep, usb_target_t target,
     218errno_t endpoint_send_batch(endpoint_t *ep, usb_target_t target,
    218219    usb_direction_t direction, char *data, size_t size, uint64_t setup_data,
    219220    usbhc_iface_transfer_callback_t on_complete, void *arg, const char *name)
     
    258259
    259260        batch->target = target;
    260         batch->buffer = data;
    261         batch->buffer_size = size;
    262261        batch->setup.packed = setup_data;
    263262        batch->dir = direction;
     263        batch->buffer_size = size;
     264
     265        errno_t err;
     266        if ((err = usb_transfer_batch_prepare_buffer(batch, data))) {
     267                usb_log_warning("Failed to prepare buffer for batch: %s", str_error(err));
     268                usb_transfer_batch_destroy(batch);
     269                return err;
     270        }
     271
    264272        batch->on_complete = on_complete;
    265273        batch->on_complete_data = arg;
Note: See TracChangeset for help on using the changeset viewer.