Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/ohci/batch.c

    rc6fe469 r8790650  
    5151static void batch_control(usb_transfer_batch_t *instance,
    5252    usb_direction_t data_dir, usb_direction_t status_dir);
    53 static void batch_data(usb_transfer_batch_t *instance);
    5453static void batch_call_in_and_dispose(usb_transfer_batch_t *instance);
    5554static void batch_call_out_and_dispose(usb_transfer_batch_t *instance);
     
    135134        assert(data);
    136135        size_t tds = data->td_count - 1;
    137         usb_log_debug("Batch(%p) checking %d td(s) for completion.\n",
     136        usb_log_debug2("Batch(%p) checking %d td(s) for completion.\n",
    138137            instance, tds);
    139         usb_log_debug("ED: %x:%x:%x:%x.\n",
    140             data->ed->status, data->ed->td_head, data->ed->td_tail,
    141             data->ed->next);
    142138        size_t i = 0;
    143139        for (; i < tds; ++i) {
    144                 usb_log_debug("TD %d: %x:%x:%x:%x.\n", i,
    145                     data->tds[i].status, data->tds[i].cbp, data->tds[i].next,
    146                     data->tds[i].be);
    147140                if (!td_is_finished(&data->tds[i]))
    148141                        return false;
     
    184177        assert(instance->direction == USB_DIRECTION_IN);
    185178        instance->next_step = batch_call_in_and_dispose;
    186         batch_data(instance);
     179        /* TODO: implement */
    187180        usb_log_debug("Batch(%p) INTERRUPT IN initialized.\n", instance);
    188181}
     
    196189            instance->buffer_size);
    197190        instance->next_step = batch_call_out_and_dispose;
    198         batch_data(instance);
     191        /* TODO: implement */
    199192        usb_log_debug("Batch(%p) INTERRUPT OUT initialized.\n", instance);
    200193}
     
    205198        instance->direction = USB_DIRECTION_IN;
    206199        instance->next_step = batch_call_in_and_dispose;
    207         batch_data(instance);
     200        /* TODO: implement */
    208201        usb_log_debug("Batch(%p) BULK IN initialized.\n", instance);
    209202}
     
    214207        instance->direction = USB_DIRECTION_IN;
    215208        instance->next_step = batch_call_in_and_dispose;
    216         batch_data(instance);
     209        /* TODO: implement */
    217210        usb_log_debug("Batch(%p) BULK IN initialized.\n", instance);
    218211}
     
    275268}
    276269/*----------------------------------------------------------------------------*/
    277 void batch_data(usb_transfer_batch_t *instance)
    278 {
    279         assert(instance);
    280         ohci_batch_t *data = instance->private_data;
    281         assert(data);
    282         ed_init(data->ed, instance->ep);
    283         ed_add_tds(data->ed, &data->tds[0], &data->tds[data->td_count - 1]);
    284         usb_log_debug("Created ED(%p): %x:%x:%x:%x.\n", data->ed,
    285             data->ed->status, data->ed->td_tail, data->ed->td_head,
    286             data->ed->next);
    287 
    288         /* data stage */
    289         size_t td_current = 1;
    290         size_t remain_size = instance->buffer_size;
    291         char *transfer_buffer = instance->transport_buffer;
    292         while (remain_size > 0) {
    293                 size_t transfer_size = remain_size > OHCI_TD_MAX_TRANSFER ?
    294                     OHCI_TD_MAX_TRANSFER : remain_size;
    295 
    296                 td_init(&data->tds[td_current], instance->ep->direction,
    297                     transfer_buffer, transfer_size, -1);
    298                 td_set_next(&data->tds[td_current], &data->tds[td_current + 1]);
    299                 usb_log_debug("Created DATA TD: %x:%x:%x:%x.\n",
    300                     data->tds[td_current].status, data->tds[td_current].cbp,
    301                     data->tds[td_current].next, data->tds[td_current].be);
    302 
    303                 transfer_buffer += transfer_size;
    304                 remain_size -= transfer_size;
    305                 assert(td_current < data->td_count);
    306                 ++td_current;
    307         }
    308 }
    309 /*----------------------------------------------------------------------------*/
    310270/** Helper function calls callback and correctly disposes of batch structure.
    311271 *
Note: See TracChangeset for help on using the changeset viewer.