Changeset 9efad54 in mainline for uspace/drv
- Timestamp:
- 2018-01-06T21:15:48Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 56257ba
- Parents:
- c901632
- Location:
- uspace/drv
- Files:
-
- 8 edited
-
block/usbmast/main.c (modified) (1 diff)
-
bus/usb/ehci/ehci_bus.c (modified) (1 diff)
-
bus/usb/ehci/hw_struct/queue_head.c (modified) (1 diff)
-
bus/usb/ohci/ohci_bus.c (modified) (1 diff)
-
bus/usb/xhci/bus.c (modified) (2 diffs)
-
bus/usb/xhci/endpoint.c (modified) (3 diffs)
-
bus/usb/xhci/endpoint.h (modified) (1 diff)
-
hid/usbhid/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/block/usbmast/main.c
rc901632 r9efad54 172 172 usb_device_get_name(dev)); 173 173 usb_log_debug("Bulk in endpoint: %d [%zuB].\n", 174 epm_in->pipe.desc.endpoint_no, epm_in->pipe.desc.max_ packet_size);174 epm_in->pipe.desc.endpoint_no, epm_in->pipe.desc.max_transfer_size); 175 175 usb_log_debug("Bulk out endpoint: %d [%zuB].\n", 176 epm_out->pipe.desc.endpoint_no, epm_out->pipe.desc.max_ packet_size);176 epm_out->pipe.desc.endpoint_no, epm_out->pipe.desc.max_transfer_size); 177 177 178 178 usb_log_debug("Get LUN count...\n"); -
uspace/drv/bus/usb/ehci/ehci_bus.c
rc901632 r9efad54 78 78 /** Creates new hcd endpoint representation. 79 79 */ 80 static endpoint_t *ehci_endpoint_create(device_t *dev, const usb_endpoint_desc _t *desc)80 static endpoint_t *ehci_endpoint_create(device_t *dev, const usb_endpoint_descriptors_t *desc) 81 81 { 82 82 assert(dev); -
uspace/drv/bus/usb/ehci/hw_struct/queue_head.c
rc901632 r9efad54 82 82 } 83 83 uint32_t ep_cap = QH_EP_CAP_C_MASK_SET(3 << 2) | 84 QH_EP_CAP_MULTI_SET(ep->packets );84 QH_EP_CAP_MULTI_SET(ep->packets_per_uframe); 85 85 if (ep->device->speed != USB_SPEED_HIGH) { 86 86 ep_cap |= -
uspace/drv/bus/usb/ohci/ohci_bus.c
rc901632 r9efad54 72 72 /** Creates new hcd endpoint representation. 73 73 */ 74 static endpoint_t *ohci_endpoint_create(device_t *dev, const usb_endpoint_desc _t *desc)74 static endpoint_t *ohci_endpoint_create(device_t *dev, const usb_endpoint_descriptors_t *desc) 75 75 { 76 76 assert(dev); -
uspace/drv/bus/usb/xhci/bus.c
rc901632 r9efad54 51 51 52 52 /** Initial descriptor used for control endpoint 0 before more configuration is retrieved. */ 53 static const usb_endpoint_desc_t ep0_initial_desc = { 54 .endpoint_no = 0, 55 .direction = USB_DIRECTION_BOTH, 56 .transfer_type = USB_TRANSFER_CONTROL, 57 .max_packet_size = CTRL_PIPE_MIN_PACKET_SIZE, 58 .packets = 1, 53 static const usb_endpoint_descriptors_t ep0_initial_desc = { 54 .endpoint.max_packet_size = CTRL_PIPE_MIN_PACKET_SIZE, 59 55 }; 60 56 61 static endpoint_t *endpoint_create(device_t *, const usb_endpoint_desc _t *);57 static endpoint_t *endpoint_create(device_t *, const usb_endpoint_descriptors_t *); 62 58 63 59 /** Assign address and control endpoint to a new XHCI device. … … 368 364 } 369 365 370 static endpoint_t *endpoint_create(device_t *dev, const usb_endpoint_desc _t *desc)366 static endpoint_t *endpoint_create(device_t *dev, const usb_endpoint_descriptors_t *desc) 371 367 { 372 368 xhci_endpoint_t *ep = calloc(1, sizeof(xhci_endpoint_t)); -
uspace/drv/bus/usb/xhci/endpoint.c
rc901632 r9efad54 52 52 * @return Error code. 53 53 */ 54 int xhci_endpoint_init(xhci_endpoint_t *xhci_ep, device_t *dev, const usb_endpoint_desc _t *desc)54 int xhci_endpoint_init(xhci_endpoint_t *xhci_ep, device_t *dev, const usb_endpoint_descriptors_t *desc) 55 55 { 56 56 assert(xhci_ep); … … 60 60 endpoint_init(ep, dev, desc); 61 61 62 xhci_ep->max_streams = desc->usb3.max_streams; 63 xhci_ep->max_burst = desc->usb3.max_burst; 64 xhci_ep->mult = desc->usb3.mult; 65 66 // TODO: process according to 6.2.3.6 of XHCI specification; hardcoded for HS/SS EPs 67 xhci_ep->interval = desc->interval - 1; 62 xhci_ep->max_streams = USB_SSC_MAX_STREAMS(desc->companion); 63 xhci_ep->max_burst = desc->companion.max_burst + 1; 64 xhci_ep->mult = USB_SSC_MULT(desc->companion) + 1; 65 66 /* In USB 3, the semantics of wMaxPacketSize changed. Now the number of 67 * packets per service interval is determined from max_burst and mult. 68 */ 69 if (dev->speed >= USB_SPEED_SUPER) { 70 ep->packets_per_uframe = xhci_ep->max_burst * xhci_ep->mult; 71 ep->max_transfer_size = ep->max_packet_size * ep->packets_per_uframe; 72 } 73 74 xhci_ep->interval = desc->endpoint.poll_interval; 75 /* Only Low/Full speed interrupt endpoints have interval set directly, 76 * others have 2-based log of it. 77 */ 78 if (dev->speed >= USB_SPEED_HIGH || ep->transfer_type != USB_TRANSFER_INTERRUPT) { 79 xhci_ep->interval = 1 << (xhci_ep->interval - 1); 80 } 68 81 69 82 if (xhci_ep->base.transfer_type == USB_TRANSFER_ISOCHRONOUS) { 70 xhci_ep->isoch_max_size = desc-> usb3.bytes_per_interval71 ? desc-> usb3.bytes_per_interval72 : desc->max_packet_size * (desc->packets + 1);83 xhci_ep->isoch_max_size = desc->companion.bytes_per_interval 84 ? desc->companion.bytes_per_interval 85 : ep->max_transfer_size; 73 86 /* Technically there could be superspeed plus too. */ 74 87 … … 497 510 dev->endpoints[ep->base.endpoint] = NULL; 498 511 ep->base.device = NULL; 499 500 endpoint_del_ref(&ep->base);501 512 } 502 513 -
uspace/drv/bus/usb/xhci/endpoint.h
rc901632 r9efad54 149 149 #define XHCI_DEV_ARGS(dev) ddf_fun_get_name((dev).base.fun), (dev).slot_id 150 150 151 int xhci_endpoint_init(xhci_endpoint_t *, device_t *, const usb_endpoint_desc _t *);151 int xhci_endpoint_init(xhci_endpoint_t *, device_t *, const usb_endpoint_descriptors_t *); 152 152 void xhci_endpoint_fini(xhci_endpoint_t *); 153 153 int xhci_endpoint_alloc_transfer_ds(xhci_endpoint_t *); -
uspace/drv/hid/usbhid/main.c
rc901632 r9efad54 95 95 usb_hid_polling_callback, 96 96 /* How much data to request. */ 97 hid_dev->poll_pipe_mapping->pipe.desc.max_ packet_size,97 hid_dev->poll_pipe_mapping->pipe.desc.max_transfer_size, 98 98 /* Delay */ 99 99 -1,
Note:
See TracChangeset
for help on using the changeset viewer.
