Ignore:
Timestamp:
2010-10-22T14:57:03Z (14 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7a7bfeb3
Parents:
954ea70
Message:

VHCD handles new methods

Not completely, though. Will finish later.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hw/bus/usb/hcd/virtual/hc.c

    r954ea70 rb8a3cda  
    5151#define USLEEP_BASE (500 * 1000)
    5252
    53 #define USLEEP_VAR 10000
     53#define USLEEP_VAR 5000
    5454
    5555#define SHORTENING_VAR 15
     
    6868static link_t transaction_from_device_list;
    6969
    70 #define TRANSACTION_FORMAT "T[%d:%d %s %s (%d)]"
     70#define TRANSACTION_FORMAT "T[%d:%d (%d)]"
    7171#define TRANSACTION_PRINTF(t) \
    7272        (t).target.address, (t).target.endpoint, \
    73         usb_str_transfer_type((t).type), \
    74         ((t).direction == USB_DIRECTION_IN ? "in" : "out"), \
    7573        (int)(t).len
    7674
     
    132130/** Create new transaction
    133131 */
    134 static transaction_t *transaction_create(usb_transfer_type_t type, usb_target_t target,
    135     usb_direction_t direction,
     132static transaction_t *transaction_create(usbvirt_transaction_type_t type,
     133    usb_target_t target,
    136134    void * buffer, size_t len,
    137135    hc_transaction_done_callback_t callback, void * arg)
     
    142140        transaction->type = type;
    143141        transaction->target = target;
    144         transaction->direction = direction;
    145142        transaction->buffer = buffer;
    146143        transaction->len = len;
     
    153150/** Add transaction directioned towards the device.
    154151 */
    155 void hc_add_transaction_to_device(usb_transfer_type_t type, usb_target_t target,
     152void hc_add_transaction_to_device(bool setup, usb_target_t target,
    156153    void * buffer, size_t len,
    157154    hc_transaction_done_callback_t callback, void * arg)
    158155{
    159         transaction_t *transaction = transaction_create(type, target,
    160             USB_DIRECTION_OUT, buffer, len, callback, arg);
     156        transaction_t *transaction = transaction_create(
     157            setup ? USBVIRT_TRANSACTION_SETUP : USBVIRT_TRANSACTION_OUT, target,
     158            buffer, len, callback, arg);
    161159        list_append(&transaction->link, &transaction_to_device_list);
    162160}
     
    164162/** Add transaction directioned from the device.
    165163 */
    166 void hc_add_transaction_from_device(usb_transfer_type_t type, usb_target_t target,
     164void hc_add_transaction_from_device(usb_target_t target,
    167165    void * buffer, size_t len,
    168166    hc_transaction_done_callback_t callback, void * arg)
    169167{
    170         transaction_t *transaction = transaction_create(type, target,
    171             USB_DIRECTION_IN, buffer, len, callback, arg);
     168        transaction_t *transaction = transaction_create(USBVIRT_TRANSACTION_IN,
     169            target, buffer, len, callback, arg);
    172170        list_append(&transaction->link, &transaction_from_device_list);
    173171}
     
    175173/** Fill data to existing transaction from device.
    176174 */
    177 int hc_fillin_transaction_from_device(usb_transfer_type_t type, usb_target_t target,
     175int hc_fillin_transaction_from_device(usb_target_t target,
    178176    void * buffer, size_t len)
    179177{
    180         dprintf("finding transaction to fill data in...");
     178        dprintf("finding transaction to fill data in (%d:%d)...",
     179            target.address, target.endpoint);
    181180        int rc;
    182181       
Note: See TracChangeset for help on using the changeset viewer.