Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ehci.cpp File Reference
#include "memory/kalloc.h"
#include <type.h>
#include "usb.h"
#include "ehci/ehci.hpp"
#include "ioforge/ioforge.h"
#include "ioforge/ioforge.hpp"
#include "ehci/ehci_pipe.hpp"
#include "ioforge/ioforge_usb.h"
#include <ioforge/ioforge_new.hpp>

Go to the source code of this file.

Macros

#define EHCI_MAX_QH_CACHE   4096
 
#define EHCI_MAX_QH_CACHE_MASK   (EHCI_MAX_QH_CACHE - 1)
 
#define EHCI_MAX_QTD_CACHE   4096
 
#define EHCI_MAX_QTD_CACHE_MASK   (EHCI_MAX_QTD_CACHE - 1)
 
#define HCSPARAM_N_PORTS_MASK   0b1111
 

Variables

static ehci_queue_head_node_t qh_pool [4096]
 
static uint16_t qh_ring [4096]
 
static size_t qh_ring_head = 0
 
static size_t qh_ring_tail = 0
 
static ehci_queue_task_descriptor_node_t qtd_pool [4096]
 
static uint16_t qtd_ring [4096]
 
static size_t qtd_ring_head = 0
 
static size_t qtd_ring_tail = 0
 
static ehci_queue_head_node_tframelist_node [1024]
 
static ehci_queue_head_node_tmain_async_qh = 0
 

Macro Definition Documentation

◆ EHCI_MAX_QH_CACHE

#define EHCI_MAX_QH_CACHE   4096

Definition at line 11 of file ehci.cpp.

Referenced by EHCIModule::init_controller(), and EHCIModule::store_qh().

◆ EHCI_MAX_QH_CACHE_MASK

#define EHCI_MAX_QH_CACHE_MASK   (EHCI_MAX_QH_CACHE - 1)

Definition at line 12 of file ehci.cpp.

Referenced by EHCIModule::retrieve_qh(), and EHCIModule::store_qh().

◆ EHCI_MAX_QTD_CACHE

#define EHCI_MAX_QTD_CACHE   4096

Definition at line 13 of file ehci.cpp.

Referenced by EHCIModule::init_controller(), and EHCIModule::store_qtd().

◆ EHCI_MAX_QTD_CACHE_MASK

#define EHCI_MAX_QTD_CACHE_MASK   (EHCI_MAX_QTD_CACHE - 1)

Definition at line 14 of file ehci.cpp.

Referenced by EHCIModule::retrieve_qtd(), and EHCIModule::store_qtd().

◆ HCSPARAM_N_PORTS_MASK

#define HCSPARAM_N_PORTS_MASK   0b1111

Definition at line 259 of file ehci.cpp.

Referenced by EHCIModule::probe().

Variable Documentation

◆ framelist_node

ehci_queue_head_node_t* framelist_node[1024]
static

Definition at line 28 of file ehci.cpp.

Referenced by EHCIModule::init_periodic(), and EHCIModule::insert_periodic().

◆ main_async_qh

ehci_queue_head_node_t* main_async_qh = 0
static

◆ qh_pool

ehci_queue_head_node_t qh_pool[4096]
static

◆ qh_ring

uint16_t qh_ring[4096]
static

◆ qh_ring_head

size_t qh_ring_head = 0
static

◆ qh_ring_tail

size_t qh_ring_tail = 0
static

◆ qtd_pool

◆ qtd_ring

uint16_t qtd_ring[4096]
static

◆ qtd_ring_head

size_t qtd_ring_head = 0
static

◆ qtd_ring_tail

size_t qtd_ring_tail = 0
static