Changes in / [242f0e2:11d2e96a] in mainline
- Location:
- uspace/drv/ohci
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/ohci/batch.c
r242f0e2 r11d2e96a 147 147 data->ed->next); 148 148 size_t i = 0; 149 instance->transfered_size = instance->buffer_size;150 149 for (; i < tds; ++i) { 151 150 assert(data->tds[i] != NULL); … … 157 156 } 158 157 instance->error = td_error(data->tds[i]); 158 /* FIXME: calculate real transfered size */ 159 instance->transfered_size = instance->buffer_size; 159 160 if (instance->error != EOK) { 160 161 usb_log_debug("Batch(%p) found error TD(%d):%x.\n", … … 173 174 assert(hcd_ep); 174 175 hcd_ep->td = data->tds[i]; 175 if (i > 0)176 instance->transfered_size -= td_remain_size(data->tds[i - 1]);177 178 176 /* Clear possible ED HALT */ 179 177 data->ed->td_head &= ~ED_TDHEAD_HALTED_FLAG; … … 240 238 { 241 239 assert(instance); 242 /* We are data out, we are supposed to provide data */ 243 memcpy(instance->data_buffer, instance->buffer, instance->buffer_size); 244 instance->next_step = usb_transfer_batch_call_out_and_dispose; 240 instance->next_step = usb_transfer_batch_call_in_and_dispose; 245 241 batch_data(instance); 246 usb_log_debug("Batch(%p) BULK OUTinitialized.\n", instance);242 usb_log_debug("Batch(%p) BULK IN initialized.\n", instance); 247 243 } 248 244 /*----------------------------------------------------------------------------*/ -
uspace/drv/ohci/hw_struct/transfer_descriptor.c
r242f0e2 r11d2e96a 52 52 instance->status |= togg[toggle] << TD_STATUS_T_SHIFT; 53 53 } 54 if (dir == USB_DIRECTION_IN) {55 instance->status |= TD_STATUS_ROUND_FLAG;56 }57 54 if (buffer != NULL) { 58 55 assert(size != 0); -
uspace/drv/ohci/hw_struct/transfer_descriptor.h
r242f0e2 r11d2e96a 59 59 #define TD_STATUS_T_0 (0x2) 60 60 #define TD_STATUS_T_1 (0x3) 61 #define TD_STATUS_T_ED (0)62 61 #define TD_STATUS_EC_MASK (0x3) /* error count */ 63 62 #define TD_STATUS_EC_SHIFT (26) … … 103 102 return cc_to_rc(cc); 104 103 } 105 106 static inline size_t td_remain_size(td_t *instance)107 {108 assert(instance);109 if (instance->cbp == 0)110 return 0;111 return instance->be - instance->cbp + 1;112 }113 104 #endif 114 105 /**
Note:
See TracChangeset
for help on using the changeset viewer.