Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/ehci/hc.h

    r5a6cc679 rb7fd2a0  
    5555/** Main EHCI driver structure */
    5656typedef struct hc {
    57         /* Common device header */
    58         hc_device_t base;
    59 
    6057        /** Memory mapped CAPS register area */
    6158        ehci_caps_regs_t *caps;
     
    6360        ehci_regs_t *registers;
    6461
    65         /** Iso transfer list, backed by dma_buffer */
    66         link_pointer_t *periodic_list;
    67 
    68         dma_buffer_t dma_buffer;
     62        /** Iso transfer list */
     63        link_pointer_t *periodic_list_base;
    6964
    7065        /** CONTROL and BULK schedules */
     
    7570
    7671        /** List of active transfers */
    77         list_t pending_endpoints;
     72        list_t pending_batches;
    7873
    7974        /** Guards schedule and endpoint manipulation */
     
    8580        /** USB hub emulation structure */
    8681        ehci_rh_t rh;
    87 
    88         /** USB bookkeeping */
    89         ehci_bus_t bus;
    9082} hc_t;
    9183
    92 static inline hc_t *hcd_to_hc(hc_device_t *hcd)
    93 {
    94         assert(hcd);
    95         return (hc_t *) hcd;
    96 }
     84errno_t hc_init(hc_t *instance, const hw_res_list_parsed_t *hw_res, bool interrupts);
     85void hc_fini(hc_t *instance);
    9786
    98 void hc_enqueue_endpoint(hc_t *, const endpoint_t *);
    99 void hc_dequeue_endpoint(hc_t *, const endpoint_t *);
     87void hc_enqueue_endpoint(hc_t *instance, const endpoint_t *ep);
     88void hc_dequeue_endpoint(hc_t *instance, const endpoint_t *ep);
    10089
    101 /* Boottime operations */
    102 extern errno_t hc_add(hc_device_t *, const hw_res_list_parsed_t *);
    103 extern errno_t hc_start(hc_device_t *);
    104 extern errno_t hc_setup_roothub(hc_device_t *);
    105 extern errno_t hc_gen_irq_code(irq_code_t *, hc_device_t *, const hw_res_list_parsed_t *, int *);
    106 extern errno_t hc_gone(hc_device_t *);
     90errno_t ehci_hc_gen_irq_code(irq_code_t *code, const hw_res_list_parsed_t *hw_res, int *irq);
    10791
    108 /** Runtime operations */
    109 extern void ehci_hc_interrupt(bus_t *, uint32_t);
    110 extern errno_t ehci_hc_status(bus_t *, uint32_t *);
    111 extern errno_t ehci_hc_schedule(usb_transfer_batch_t *);
    112 
     92void ehci_hc_interrupt(hcd_t *hcd, uint32_t status);
     93errno_t ehci_hc_status(hcd_t *hcd, uint32_t *status);
     94errno_t ehci_hc_schedule(hcd_t *hcd, usb_transfer_batch_t *batch);
    11395#endif
    11496/**
Note: See TracChangeset for help on using the changeset viewer.