|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <ehci_pipe.hpp>
Public Member Functions | |
| EHCIPipe (EHCIModule *ehci) | |
| bool | open (const USBInterruptPipeDesc &desc, InterruptCallback cb) override |
| void | close () override |
| void | on_complete (uint8_t *buf, size_t len, bool error) override |
Data Fields | |
| ehci_queue_head_node_t * | qh_node_ |
| ehci_queue_task_descriptor_node_t * | data_node_ |
Private Member Functions | |
| void | setup_qh () |
| void | arm () |
Private Member Functions inherited from USBInterruptPipe | |
| virtual | ~USBInterruptPipe ()=default |
Private Attributes | |
| EHCIModule * | ehci_ |
| USBInterruptPipeDesc | desc_ |
| InterruptCallback | cb_ |
| uintptr_t | response_ |
| uint32_t | response_buf_ |
| uint32_t | toggle_ |
| uint8_t * | buf_ |
| uintptr_t | buf_phys_ |
Definition at line 7 of file ehci_pipe.hpp.
|
inlineexplicit |
Definition at line 9 of file ehci_pipe.hpp.
References ehci_.
|
private |
Definition at line 40 of file pipe.cpp.
References buf_phys_, data_node_, desc_, EHCI_QTD_TERMINATE, EHCI_QTD_TOKEN_DATA, EHCI_QTD_TOKEN_ERROR_COUNT_3, EHCI_QTD_TOKEN_IOC, EHCI_QTD_TOKEN_LENGTH, EHCI_QTD_TOKEN_PID_IN, EHCI_QTD_TOKEN_STATUS_ACTIVE, IOForge::IOUtils::memset(), qh_node_, and toggle_.
Referenced by on_complete(), and open().
|
overridevirtual |
Implements USBInterruptPipe.
Implements USBInterruptPipe.
Definition at line 66 of file pipe.cpp.
References arm(), buf_, cb_, data_node_, desc_, and len.
Referenced by EHCIModule::call_completion_callback().
|
overridevirtual |
Implements USBInterruptPipe.
Definition at line 5 of file pipe.cpp.
References arm(), buf_, buf_phys_, USBInterruptPipeDesc::buffer_size, cb_, data_node_, desc_, IOForge::IOUtils::DMAAlloc(), ehci_, USBInterruptPipeDesc::interval_ms, IOForge::IOUtils::memset(), qh_node_, setup_qh(), and toggle_.
|
private |
Definition at line 28 of file pipe.cpp.
References desc_, EHCI_QH_CAP_MULT_1, EHCI_QTD_TERMINATE, and qh_node_.
Referenced by open().
|
private |
Definition at line 28 of file ehci_pipe.hpp.
Referenced by on_complete(), and open().
|
private |
Definition at line 29 of file ehci_pipe.hpp.
|
private |
Definition at line 23 of file ehci_pipe.hpp.
Referenced by on_complete(), and open().
| ehci_queue_task_descriptor_node_t* EHCIPipe::data_node_ |
Definition at line 18 of file ehci_pipe.hpp.
Referenced by arm(), EHCIModule::call_completion_callback(), on_complete(), and open().
|
private |
Definition at line 22 of file ehci_pipe.hpp.
Referenced by arm(), on_complete(), open(), and setup_qh().
|
private |
Definition at line 21 of file ehci_pipe.hpp.
Referenced by EHCIPipe(), and open().
| ehci_queue_head_node_t* EHCIPipe::qh_node_ |
Definition at line 17 of file ehci_pipe.hpp.
Referenced by arm(), open(), and setup_qh().
|
private |
Definition at line 25 of file ehci_pipe.hpp.
|
private |
Definition at line 26 of file ehci_pipe.hpp.
|
private |
Definition at line 27 of file ehci_pipe.hpp.