Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
EHCIPipe Class Reference

#include <ehci_pipe.hpp>

Inheritance diagram for EHCIPipe:
USBInterruptPipe

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_tqh_node_
 
ehci_queue_task_descriptor_node_tdata_node_
 

Private Member Functions

void setup_qh ()
 
void arm ()
 
- Private Member Functions inherited from USBInterruptPipe
virtual ~USBInterruptPipe ()=default
 

Private Attributes

EHCIModuleehci_
 
USBInterruptPipeDesc desc_
 
InterruptCallback cb_
 
uintptr_t response_
 
uint32_t response_buf_
 
uint32_t toggle_
 
uint8_tbuf_
 
uintptr_t buf_phys_
 

Detailed Description

Definition at line 7 of file ehci_pipe.hpp.

Constructor & Destructor Documentation

◆ EHCIPipe()

EHCIPipe::EHCIPipe ( EHCIModule * ehci)
inlineexplicit

Definition at line 9 of file ehci_pipe.hpp.

References ehci_.

Member Function Documentation

◆ arm()

◆ close()

void EHCIPipe::close ( )
overridevirtual

Implements USBInterruptPipe.

Definition at line 59 of file pipe.cpp.

◆ on_complete()

void EHCIPipe::on_complete ( uint8_t * buf,
size_t len,
bool error )
overridevirtual

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().

◆ open()

◆ setup_qh()

void EHCIPipe::setup_qh ( )
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().

Field Documentation

◆ buf_

uint8_t* EHCIPipe::buf_
private

Definition at line 28 of file ehci_pipe.hpp.

Referenced by on_complete(), and open().

◆ buf_phys_

uintptr_t EHCIPipe::buf_phys_
private

Definition at line 29 of file ehci_pipe.hpp.

Referenced by arm(), and open().

◆ cb_

InterruptCallback EHCIPipe::cb_
private

Definition at line 23 of file ehci_pipe.hpp.

Referenced by on_complete(), and open().

◆ data_node_

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().

◆ desc_

USBInterruptPipeDesc EHCIPipe::desc_
private

Definition at line 22 of file ehci_pipe.hpp.

Referenced by arm(), on_complete(), open(), and setup_qh().

◆ ehci_

EHCIModule* EHCIPipe::ehci_
private

Definition at line 21 of file ehci_pipe.hpp.

Referenced by EHCIPipe(), and open().

◆ qh_node_

ehci_queue_head_node_t* EHCIPipe::qh_node_

Definition at line 17 of file ehci_pipe.hpp.

Referenced by arm(), open(), and setup_qh().

◆ response_

uintptr_t EHCIPipe::response_
private

Definition at line 25 of file ehci_pipe.hpp.

◆ response_buf_

uint32_t EHCIPipe::response_buf_
private

Definition at line 26 of file ehci_pipe.hpp.

◆ toggle_

uint32_t EHCIPipe::toggle_
private

Definition at line 27 of file ehci_pipe.hpp.

Referenced by arm(), and open().


The documentation for this class was generated from the following files: