Changeset 7dd3318 in mainline for uspace/drv/uhci-hcd/tracker.h


Ignore:
Timestamp:
2011-02-12T02:00:54Z (14 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
83c439c
Parents:
f6309b6
Message:

Add support for batch processing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci-hcd/tracker.h

    rf6309b6 r7dd3318  
    4141
    4242#include "uhci_struct/transfer_descriptor.h"
     43#include "uhci_struct/queue_head.h"
    4344
    4445typedef enum {
     
    4748} dev_speed_t;
    4849
    49 struct transfer_list;
    50 
    5150typedef struct tracker
    5251{
    5352        link_t link;
     53        dev_speed_t speed;
    5454        usb_target_t target;
    5555        usb_transfer_type_t transfer_type;
     
    5959        };
    6060        void *arg;
     61        char *transport_buffer;
     62        char *setup_buffer;
     63        size_t setup_size;
    6164        char *buffer;
    62         char *packet;
    6365        size_t buffer_size;
    6466        size_t max_packet_size;
    65         size_t packet_size;
    66         size_t buffer_offset;
    67         dev_speed_t speed;
     67        size_t packets;
     68        size_t transfered_size;
     69        int error;
    6870        device_t *dev;
    69         transfer_descriptor_t *td;
     71        queue_head_t *qh;
     72        transfer_descriptor_t *tds;
    7073        void (*next_step)(struct tracker*);
    71         unsigned toggle:1;
    72 
    73         struct transfer_list *scheduled_list;
    7474} tracker_t;
    75 
    7675
    7776tracker_t * tracker_get(device_t *dev, usb_target_t target,
    7877    usb_transfer_type_t transfer_type, size_t max_packet_size,
    7978    dev_speed_t speed, char *buffer, size_t size,
     79                char *setup_buffer, size_t setup_size,
    8080    usbhc_iface_transfer_in_callback_t func_in,
    8181    usbhc_iface_transfer_out_callback_t func_out, void *arg);
    8282
    83 void tracker_control_write(
    84     tracker_t *instance, char* setup_buffer, size_t setup_size);
     83bool tracker_is_complete(tracker_t *instance);
    8584
    86 void tracker_control_read(
    87     tracker_t *instance, char* setup_buffer, size_t setup_size);
     85void tracker_control_write(tracker_t *instance);
     86
     87void tracker_control_read(tracker_t *instance);
    8888
    8989void tracker_interrupt_in(tracker_t *instance);
Note: See TracChangeset for help on using the changeset viewer.