Ignore:
Timestamp:
2011-01-28T11:46:22Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
579dec2
Parents:
db7ed07
Message:

Moved implementation to .c

transfer_descriptor_init no longer return error code
transfer_descriptor_fini runs callback

File:
1 edited

Legend:

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

    rdb7ed07 rc13ecfe  
    5757#define TD_STATUS_COMPLETE_INTERRUPT_FLAG ( 1 << 24 )
    5858
    59 #define TD_STATUS_ACTIVE ( 1 << 23 )
     59#define TD_STATUS_ERROR_ACTIVE ( 1 << 23 )
    6060#define TD_STATUS_ERROR_STALLED ( 1 << 22 )
    6161#define TD_STATUS_ERROR_BUFFER ( 1 << 21 )
     
    6565#define TD_STATUS_ERROR_BIT_STUFF ( 1 << 17 )
    6666#define TD_STATUS_ERROR_RESERVED ( 1 << 16 )
    67 #define TD_STATUS_POS 16
    68 #define TD_STATUS_MASK ( 0xff )
     67#define TD_STATUS_ERROR_POS 16
     68#define TD_STATUS_ERROR_MASK ( 0xff )
    6969
    7070#define TD_STATUS_ACTLEN_POS 0
     
    8686        uint32_t buffer_ptr;
    8787
    88         /* there is 16 byte of data available here
     88        /* there is 16 bytes of data available here
    8989         * those are used to store callback pointer
    90          * and next pointer. Thus there is some free space
     90         * and next pointer. Thus, there is some free space
    9191         * on 32bits systems.
    9292         */
     
    9595} __attribute__((packed)) transfer_descriptor_t;
    9696
    97 static inline int transfer_descriptor_init(transfer_descriptor_t *instance,
     97void transfer_descriptor_init(transfer_descriptor_t *instance,
    9898  int error_count, size_t size, bool isochronous, usb_target_t target,
    99         int pid)
    100 {
    101         assert(instance);
     99        int pid);
    102100
    103         instance->next =
    104           0 | LINK_POINTER_VERTICAL_FLAG | LINK_POINTER_TERMINATE_FLAG;
    105 
    106         assert(size < 1024);
    107         instance->status = 0
    108           | ((error_count & TD_STATUS_ERROR_COUNT_MASK) << TD_STATUS_ERROR_COUNT_POS)
    109           | TD_STATUS_ACTIVE;
    110 
    111         instance->device = 0
    112                 | ((size & TD_DEVICE_MAXLEN_MASK) << TD_DEVICE_MAXLEN_POS)
    113                 | ((target.address & TD_DEVICE_ADDRESS_MASK) << TD_DEVICE_ADDRESS_POS)
    114                 | ((target.endpoint & TD_DEVICE_ENDPOINT_MASK) << TD_DEVICE_ENDPOINT_POS)
    115                 | ((pid & TD_DEVICE_PID_MASK) << TD_DEVICE_PID_POS);
    116 
    117         instance->next_va = NULL;
    118         instance->callback = NULL;
    119 
    120         return EOK;
    121 }
     101void transfer_descriptor_fini(transfer_descriptor_t *instance);
    122102
    123103static inline void transfer_descriptor_append(
     
    128108        instance->next = (uintptr_t)addr_to_phys( item ) & LINK_POINTER_ADDRESS_MASK;
    129109}
    130 
    131110#endif
    132111/**
Note: See TracChangeset for help on using the changeset viewer.