Kernel: Refactor some xHCI code and add new definitions
This commit is contained in:
@@ -199,6 +199,27 @@ namespace Kernel::XHCI
|
||||
uint32_t dword3;
|
||||
} raw;
|
||||
|
||||
struct
|
||||
{
|
||||
uint64_t data_buffer_pointer : 64;
|
||||
|
||||
uint32_t trb_transfer_length : 17;
|
||||
uint32_t td_size : 5;
|
||||
uint32_t interrupt_target : 10;
|
||||
|
||||
uint32_t cycle_bit : 1;
|
||||
uint32_t evaluate_next_trb : 1;
|
||||
uint32_t interrupt_on_short_packet : 1;
|
||||
uint32_t no_snoop : 1;
|
||||
uint32_t chain_bit : 1;
|
||||
uint32_t interrupt_on_completion : 1;
|
||||
uint32_t immediate_data : 1;
|
||||
uint32_t : 2;
|
||||
uint32_t block_event_interrupt : 1;
|
||||
uint32_t trb_type : 6;
|
||||
uint32_t : 16;
|
||||
} normal;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t bmRequestType : 8;
|
||||
@@ -340,6 +361,18 @@ namespace Kernel::XHCI
|
||||
uint32_t slot_id : 8;
|
||||
} address_device_command;
|
||||
|
||||
struct
|
||||
{
|
||||
uint64_t input_context_pointer : 64;
|
||||
uint32_t : 32;
|
||||
uint32_t cycle_bit : 1;
|
||||
uint32_t : 8;
|
||||
uint32_t deconfigure : 1;
|
||||
uint32_t trb_type : 6;
|
||||
uint32_t : 8;
|
||||
uint32_t slot_id : 8;
|
||||
} configure_endpoint_command;
|
||||
|
||||
struct
|
||||
{
|
||||
uint64_t ring_segment_ponter : 64;
|
||||
@@ -444,7 +477,7 @@ namespace Kernel::XHCI
|
||||
uint64_t tr_dequeue_pointer;
|
||||
|
||||
uint32_t average_trb_length : 16;
|
||||
uint32_t max_esit_paylod_lo : 16;
|
||||
uint32_t max_esit_payload_lo : 16;
|
||||
|
||||
uint32_t : 32;
|
||||
uint32_t : 32;
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace Kernel
|
||||
struct Endpoint
|
||||
{
|
||||
BAN::UniqPtr<DMARegion> transfer_ring;
|
||||
uint32_t max_packet_size { 0 };
|
||||
uint32_t dequeue_index { 0 };
|
||||
uint32_t enqueue_index { 0 };
|
||||
bool cycle_bit { 1 };
|
||||
@@ -57,8 +58,6 @@ namespace Kernel
|
||||
|
||||
Mutex m_mutex;
|
||||
|
||||
uint32_t m_max_packet_size { 0 };
|
||||
|
||||
BAN::UniqPtr<DMARegion> m_input_context;
|
||||
BAN::UniqPtr<DMARegion> m_output_context;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user