Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 7e74911 in mainline for uspace/drv/bus/usb/xhci/transfers.h


Ignore:
Timestamp:
2017-10-11T20:54:31Z (4 years ago)
Author:
Petr Manek <petr.manek@…>
Branches:
lfn, master
Children:
41924f30
Parents:
63adb18
Message:

Delegated transfer block recycling to the kernel frame allocator. Removed most of the dequeue mechanism.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/xhci/transfers.h

    r63adb18 r7e74911  
    4545        usb_transfer_batch_t* batch;
    4646
    47         size_t completed_size;       /* Number of successfully transferred bytes. */
    48         size_t scheduled_size;       /* Number of bytes scheduled for transfer. */
    49         list_t active_blocks;        /* List of data blocks transferred right now. */
     47        void* hc_buffer;                    /* Virtual address of the buffer start. */
    5048} xhci_transfer_t;
    51 
    52 typedef struct {
    53         link_t link;
    54 
    55         uintptr_t buffer;            /* Physical address of the buffer start. */
    56         size_t total_size;           /* Total size available in the block. */
    57         size_t filled_size;          /* Size of the data in the block. */
    58 
    59         xhci_transfer_t* transfer;   /* Current transfer or NULL. */
    60 } xhci_transfer_block_t;
    6149
    6250int xhci_init_transfers(xhci_hc_t*);
     
    6755int xhci_schedule_bulk_transfer(xhci_hc_t*, usb_transfer_batch_t*);
    6856int xhci_handle_transfer_event(xhci_hc_t*, xhci_trb_t*);
    69 
    70 xhci_transfer_block_t* xhci_transfer_block_alloc(size_t);
    71 void xhci_transfer_block_fini(xhci_transfer_block_t*);
    72 int xhci_dequeue_transfer_block(xhci_hc_t*, size_t, xhci_transfer_block_t**);
    73 int xhci_free_transfer_block(xhci_hc_t*, xhci_transfer_block_t*);
    74 int xhci_schedule_transfer_block(xhci_hc_t*, xhci_transfer_block_t*);
Note: See TracChangeset for help on using the changeset viewer.