Ignore:
Timestamp:
2011-01-28T19:07:41Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f0e25e8
Parents:
01656f2
Message:

Fixed: add buffer pointer to TD on initialization

Added status info on Inactive transfer debug output

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci/uhci_struct/transfer_descriptor.c

    r01656f2 r3da5eb9  
    33void transfer_descriptor_init(transfer_descriptor_t *instance,
    44  int error_count, size_t size, bool isochronous, usb_target_t target,
    5         int pid)
     5        int pid, void *buffer)
    66{
    77        assert(instance);
    88
    99        instance->next =
    10           0 | LINK_POINTER_VERTICAL_FLAG | LINK_POINTER_TERMINATE_FLAG;
     10          0 | LINK_POINTER_TERMINATE_FLAG;
     11
     12        uhci_print_verbose("Creating link field: %x.\n", instance->next);
    1113
    1214        assert(size < 1024);
     
    1820
    1921        instance->device = 0
    20                 | ((size & TD_DEVICE_MAXLEN_MASK) << TD_DEVICE_MAXLEN_POS)
     22                | (((size - 1) & TD_DEVICE_MAXLEN_MASK) << TD_DEVICE_MAXLEN_POS)
    2123                | ((target.address & TD_DEVICE_ADDRESS_MASK) << TD_DEVICE_ADDRESS_POS)
    2224                | ((target.endpoint & TD_DEVICE_ENDPOINT_MASK) << TD_DEVICE_ENDPOINT_POS)
    2325                | ((pid & TD_DEVICE_PID_MASK) << TD_DEVICE_PID_POS);
     26
     27        uhci_print_verbose("Creating device field: %x.\n", instance->device);
     28
     29        instance->buffer_ptr = (uintptr_t)addr_to_phys(buffer);
     30
     31        uhci_print_verbose("Creating buffer field: %p(%p).\n",
     32          buffer, instance->buffer_ptr);
     33
     34        char * buff = buffer;
     35
     36        uhci_print_verbose("Buffer dump(8B): %x %x %x %x %x %x %x %x.\n",
     37          buff[0], buff[1], buff[2], buff[3], buff[4], buff[5], buff[6], buff[7]);
    2438
    2539        instance->next_va = NULL;
Note: See TracChangeset for help on using the changeset viewer.