Turnstone Operating System
Loading...
Searching...
No Matches
usb_ehci.64.c File Reference

USB EHCI driver. More...

#include <driver/usb.h>
#include <driver/usb_ehci.h>
#include <pci.h>
#include <logging.h>
#include <memory/paging.h>
#include <apic.h>
#include <time/timer.h>
#include <hashmap.h>
#include <cpu/task.h>
#include <cpu/sync.h>
#include <future.h>
#include <cpu.h>

Classes

struct  usb_controller_metadata_t
 

Typedefs

typedef struct usb_controller_metadata_t usb_controller_metadata_t
 

Functions

 MODULE ("turnstone.kernel.hw.usb")
 
usb_ehci_qh_tusb_ehci_find_qh (usb_controller_t *usb_controller)
 
int8_t usb_ehci_init_qh (usb_controller_t *usb_controller, usb_ehci_qh_t *qh, usb_ehci_qtd_t *head, usb_ehci_qtd_t *tail, usb_transfer_t *transfer, boolean_t ioc)
 
int8_t usb_ehci_link_qh (usb_controller_t *usb_controller, usb_ehci_qh_t *list, usb_ehci_qh_t *qh)
 
int8_t usb_ehci_unlink_qh (usb_controller_t *usb_controller, usb_ehci_qh_t *list, usb_ehci_qh_t *qh)
 
int8_t usb_ehci_free_qh (usb_controller_t *usb_controller, usb_ehci_qh_t *qh)
 
usb_ehci_qtd_tusb_ehci_find_qtd (usb_controller_t *usb_controller)
 
int8_t usb_ehci_free_qtd (usb_controller_t *usb_controller, usb_ehci_qtd_t *qtd)
 
int8_t usb_ehci_free_qtd_chain (usb_controller_t *usb_controller, usb_ehci_qtd_t *qtd)
 
int8_t usb_ehci_init_qtd (usb_controller_t *usb_controller, usb_ehci_qtd_t *qtd, usb_ehci_qtd_t *prev, uint32_t data_toggle, uint32_t packet_type, void *data, uint32_t data_size)
 
usb_ehci_itd_tusb_ehci_find_itd (usb_controller_t *usb_controller)
 
int8_t usb_ehci_free_itd (usb_controller_t *usb_controller, usb_ehci_itd_t *itd)
 
int8_t usb_ehci_isr (interrupt_frame_ext_t *frame)
 
int8_t usb_ehci_probe_all_ports (usb_controller_t *usb_controller)
 
int8_t usb_ehci_probe_port (usb_controller_t *usb_controller, uint8_t port)
 
int8_t usb_ehci_reset_port (usb_controller_t *usb_controller, uint8_t port)
 
int8_t usb_ehci_control_transfer (usb_controller_t *usb_controller, usb_transfer_t *transfer)
 
int8_t usb_ehci_isochronous_transfer (usb_controller_t *usb_controller, usb_transfer_t *transfer)
 
int8_t usb_ehci_bulk_transfer (usb_controller_t *usb_controller, usb_transfer_t *transfer)
 
int8_t usb_ehci_periodiclist_lookup_task (int32_t argc, void **argv)
 
int8_t usb_ehci_asynclist_lookup_task (int32_t argc, void **argv)
 
void usb_ehci_wait_for_transfer (usb_controller_t *usb_controller, usb_ehci_qh_t *qh, usb_transfer_t *transfer)
 
void usb_ehci_poll (usb_controller_t *usb_controller, usb_ehci_qh_t *qh, usb_transfer_t *transfer)
 
void video_text_print (char_t *string)
 
int8_t usb_ehci_init (usb_controller_t *usb_controller)
 

Variables

hashmap_tusb_ehci_controllers = NULL
 

Detailed Description

USB EHCI driver.

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.