Changeset c6f82e5 in mainline for uspace/drv/bus/usb/uhci
- Timestamp:
- 2018-01-19T20:56:14Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7ec7b7e
- Parents:
- 69b2dfee
- Location:
- uspace/drv/bus/usb/uhci
- Files:
-
- 3 edited
-
hc.h (modified) (1 diff)
-
transfer_list.c (modified) (3 diffs)
-
uhci_batch.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/hc.h
r69b2dfee rc6f82e5 127 127 } hc_t; 128 128 129 typedef struct uhci_endpoint { 130 endpoint_t base; 131 132 bool toggle; 133 } uhci_endpoint_t; 134 129 135 static inline hc_t *hcd_to_hc(hc_device_t *hcd) 130 136 { -
uspace/drv/bus/usb/uhci/transfer_list.c
r69b2dfee rc6f82e5 41 41 #include <usb/host/usb_transfer_batch.h> 42 42 #include <usb/host/utils/malloc32.h> 43 #include <usb/host/utility.h> 43 44 44 45 #include "hw_struct/link_pointer.h" 45 46 #include "transfer_list.h" 47 #include "hc.h" 46 48 47 49 /** Initialize transfer list structures. … … 155 157 } 156 158 159 /** 160 * Reset toggle on endpoint callback. 161 */ 162 static void uhci_reset_toggle(endpoint_t *ep) 163 { 164 uhci_endpoint_t *uhci_ep = (uhci_endpoint_t *) ep; 165 uhci_ep->toggle = 0; 166 } 167 157 168 /** Add completed batches to the provided list. 158 169 * … … 176 187 fibril_mutex_lock(&batch->base.ep->guard); 177 188 assert(batch->base.ep->active_batch == &batch->base); 189 hc_reset_toggles(&batch->base, &uhci_reset_toggle); 178 190 endpoint_deactivate_locked(batch->base.ep); 179 191 transfer_list_remove_batch(instance, batch); -
uspace/drv/bus/usb/uhci/uhci_batch.c
r69b2dfee rc6f82e5 46 46 47 47 #include "uhci_batch.h" 48 #include "hc.h" 48 49 #include "hw_struct/transfer_descriptor.h" 49 50 … … 164 165 batch->transfered_size = 0; 165 166 167 uhci_endpoint_t *uhci_ep = (uhci_endpoint_t *) batch->ep; 168 166 169 for (size_t i = 0;i < uhci_batch->td_count; ++i) { 167 170 if (td_is_active(&uhci_batch->tds[i])) { … … 178 181 td_print_status(&uhci_batch->tds[i]); 179 182 180 batch->ep->toggle = td_toggle(&uhci_batch->tds[i]);183 uhci_ep->toggle = td_toggle(&uhci_batch->tds[i]); 181 184 goto substract_ret; 182 185 } … … 230 233 const size_t mps = uhci_batch->base.ep->max_packet_size; 231 234 232 int toggle = uhci_batch->base.ep->toggle; 235 uhci_endpoint_t *uhci_ep = (uhci_endpoint_t *) uhci_batch->base.ep; 236 237 int toggle = uhci_ep->toggle; 233 238 assert(toggle == 0 || toggle == 1); 234 239 … … 254 259 } 255 260 td_set_ioc(&uhci_batch->tds[td - 1]); 256 uhci_ batch->base.ep->toggle = toggle;261 uhci_ep->toggle = toggle; 257 262 usb_log_debug2( 258 263 "Batch %p %s %s " USB_TRANSFER_BATCH_FMT " initialized.", \
Note:
See TracChangeset
for help on using the changeset viewer.
