Ignore:
File:
1 edited

Legend:

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

    r4c70554 r1e70157  
    3939#include "batch.h"
    4040#include "hw_struct/queue_head.h"
     41#include "utils/malloc32.h"
    4142
    42 /** Structure maintaining both hw queue and software list
    43  * of currently executed transfers
    44  */
    4543typedef struct transfer_list
    4644{
    47         /** Guard against multiple add/remove races */
    4845        fibril_mutex_t guard;
    49         /** UHCI hw structure represeting this queue */
    5046        qh_t *queue_head;
    51         /** Assigned name, for nicer debug output */
     47        uint32_t queue_head_pa;
    5248        const char *name;
    53         /** List of all batches in this list */
    5449        link_t batch_list;
    5550} transfer_list_t;
    5651
    57 void transfer_list_fini(transfer_list_t *instance);
     52/** Dispose transfer list structures.
     53 *
     54 * @param[in] instance Memory place to use.
     55 *
     56 * Frees memory for internal qh_t structure.
     57 */
     58static inline void transfer_list_fini(transfer_list_t *instance)
     59{
     60        assert(instance);
     61        free32(instance->queue_head);
     62}
     63
    5864int transfer_list_init(transfer_list_t *instance, const char *name);
     65
    5966void transfer_list_set_next(transfer_list_t *instance, transfer_list_t *next);
    60 void transfer_list_add_batch(
    61     transfer_list_t *instance, usb_transfer_batch_t *batch);
     67
     68void transfer_list_add_batch(transfer_list_t *instance, usb_transfer_batch_t *batch);
     69
    6270void transfer_list_remove_finished(transfer_list_t *instance, link_t *done);
     71
    6372void transfer_list_abort_all(transfer_list_t *instance);
    6473#endif
Note: See TracChangeset for help on using the changeset viewer.