Changeset af16ebe in mainline for uspace/drv


Ignore:
Timestamp:
2018-02-05T00:54:52Z (8 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
239eea41
Parents:
c21e6a5
git-author:
Ondřej Hlavatý <aearsis@…> (2018-02-05 00:49:07)
git-committer:
Ondřej Hlavatý <aearsis@…> (2018-02-05 00:54:52)
Message:

usb: redefine max_transfer_size

Location:
uspace/drv/bus/usb/xhci
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/xhci/endpoint.c

    rc21e6a5 raf16ebe  
    9292                        ep->max_transfer_size = ep->max_packet_size * ep->packets_per_uframe;
    9393                }
    94                 else {
    95                         ep->max_transfer_size = 200 * PAGE_SIZE;
    96                 }
    9794        }
    9895
  • uspace/drv/bus/usb/xhci/trb_ring.c

    rc21e6a5 raf16ebe  
    223223        errno_t err;
    224224        assert(trbs > 0);
     225
     226        if (trbs > xhci_trb_ring_size(ring))
     227                return ELIMIT;
     228
    225229        fibril_mutex_lock(&ring->guard);
    226230
     
    309313}
    310314
     315size_t xhci_trb_ring_size(xhci_trb_ring_t *ring)
     316{
     317        return ring->segment_count * SEGMENT_TRB_USEFUL_COUNT;
     318}
     319
    311320/**
    312321 * Initializes an event ring.
  • uspace/drv/bus/usb/xhci/trb_ring.h

    rc21e6a5 raf16ebe  
    7878extern errno_t xhci_trb_ring_enqueue(xhci_trb_ring_t *, xhci_trb_t *, uintptr_t *);
    7979extern errno_t xhci_trb_ring_enqueue_multiple(xhci_trb_ring_t *, xhci_trb_t *, size_t, uintptr_t *);
     80extern size_t xhci_trb_ring_size(xhci_trb_ring_t *);
    8081
    8182extern void xhci_trb_ring_reset_dequeue_state(xhci_trb_ring_t *ring, uintptr_t *addr);
Note: See TracChangeset for help on using the changeset viewer.