ReactOS 0.4.15-dev-7934-g1dc8d80
hda_stream Struct Reference

#include <driver.h>

Collaboration diagram for hda_stream:

Public Member Functions

uint8 Read8 (uint32 reg)
 
uint16 Read16 (uint32 reg)
 
uint32 Read32 (uint32 reg)
 
void Write8 (uint32 reg, uint8 value)
 
void Write16 (uint32 reg, uint16 value)
 
void Write32 (uint32 reg, uint32 value)
 

Public Attributes

uint32 id
 
uint32 offset
 
bool running
 
spinlock lock
 
uint32 type
 
hda_controllercontroller
 
uint32 pin_widget
 
uint32 io_widgets [MAX_IO_WIDGETS]
 
uint32 num_io_widgets
 
uint32 sample_rate
 
uint32 sample_format
 
uint32 num_buffers
 
uint32 num_channels
 
uint32 buffer_length
 
uint32 buffer_size
 
uint32 sample_size
 
uint8buffers [STREAM_MAX_BUFFERS]
 
phys_addr_t physical_buffers [STREAM_MAX_BUFFERS]
 
volatile bigtime_t real_time
 
volatile uint64 frames_count
 
uint32 last_link_frame_position
 
volatile int32 buffer_cycle
 
uint32 rate
 
uint32 bps
 
area_id buffer_area
 
area_id buffer_descriptors_area
 
phys_addr_t physical_buffer_descriptors
 
int32 incorrect_position_count
 
bool use_dma_position
 

Detailed Description

This structure describes a single stream of audio data, which is can have multiple channels (for stereo or better).

Definition at line 159 of file driver.h.

Member Function Documentation

◆ Read16()

uint16 hda_stream::Read16 ( uint32  reg)
inline

Definition at line 204 of file driver.h.

205 {
207 }
GLintptr offset
Definition: glext.h:5920
#define HDAC_STREAM_BASE
static int reg
Definition: i386-dis.c:1290
uint16 Read16(uint32 reg)
Definition: driver.h:106
hda_controller * controller
Definition: driver.h:166

◆ Read32()

uint32 hda_stream::Read32 ( uint32  reg)
inline

Definition at line 209 of file driver.h.

210 {
212 }
uint32 Read32(uint32 reg)
Definition: driver.h:111

◆ Read8()

uint8 hda_stream::Read8 ( uint32  reg)
inline

Definition at line 199 of file driver.h.

200 {
202 }
uint8 Read8(uint32 reg)
Definition: driver.h:101

◆ Write16()

void hda_stream::Write16 ( uint32  reg,
uint16  value 
)
inline

Definition at line 219 of file driver.h.

220 {
221 *(vuint16*)(controller->regs + HDAC_STREAM_BASE + offset + reg) = value;
222 }
vuint8 * regs
Definition: driver.h:75
Definition: pdh_main.c:94

◆ Write32()

void hda_stream::Write32 ( uint32  reg,
uint32  value 
)
inline

Definition at line 224 of file driver.h.

225 {
226 *(vuint32*)(controller->regs + HDAC_STREAM_BASE + offset + reg) = value;
227 }

◆ Write8()

void hda_stream::Write8 ( uint32  reg,
uint8  value 
)
inline

Definition at line 214 of file driver.h.

215 {
217 }

Member Data Documentation

◆ bps

uint32 hda_stream::bps

Definition at line 190 of file driver.h.

◆ buffer_area

area_id hda_stream::buffer_area

Definition at line 192 of file driver.h.

◆ buffer_cycle

volatile int32 hda_stream::buffer_cycle

Definition at line 188 of file driver.h.

◆ buffer_descriptors_area

area_id hda_stream::buffer_descriptors_area

Definition at line 193 of file driver.h.

◆ buffer_length

uint32 hda_stream::buffer_length

Definition at line 177 of file driver.h.

◆ buffer_size

uint32 hda_stream::buffer_size

Definition at line 178 of file driver.h.

◆ buffers

uint8* hda_stream::buffers[STREAM_MAX_BUFFERS]

Definition at line 180 of file driver.h.

◆ controller

hda_controller* hda_stream::controller

Definition at line 166 of file driver.h.

Referenced by Read16(), Read32(), Read8(), Write16(), Write32(), and Write8().

◆ frames_count

volatile uint64 hda_stream::frames_count

Definition at line 186 of file driver.h.

◆ id

uint32 hda_stream::id

Definition at line 160 of file driver.h.

◆ incorrect_position_count

int32 hda_stream::incorrect_position_count

Definition at line 196 of file driver.h.

◆ io_widgets

uint32 hda_stream::io_widgets[MAX_IO_WIDGETS]

Definition at line 169 of file driver.h.

◆ last_link_frame_position

uint32 hda_stream::last_link_frame_position

Definition at line 187 of file driver.h.

◆ lock

spinlock hda_stream::lock

Definition at line 163 of file driver.h.

◆ num_buffers

uint32 hda_stream::num_buffers

Definition at line 175 of file driver.h.

◆ num_channels

uint32 hda_stream::num_channels

Definition at line 176 of file driver.h.

◆ num_io_widgets

uint32 hda_stream::num_io_widgets

Definition at line 170 of file driver.h.

◆ offset

uint32 hda_stream::offset

Definition at line 161 of file driver.h.

◆ physical_buffer_descriptors

phys_addr_t hda_stream::physical_buffer_descriptors

Definition at line 194 of file driver.h.

◆ physical_buffers

phys_addr_t hda_stream::physical_buffers[STREAM_MAX_BUFFERS]

Definition at line 182 of file driver.h.

◆ pin_widget

uint32 hda_stream::pin_widget

Definition at line 168 of file driver.h.

◆ rate

uint32 hda_stream::rate

Definition at line 190 of file driver.h.

◆ real_time

volatile bigtime_t hda_stream::real_time

Definition at line 185 of file driver.h.

◆ running

bool hda_stream::running

Definition at line 162 of file driver.h.

◆ sample_format

uint32 hda_stream::sample_format

Definition at line 173 of file driver.h.

◆ sample_rate

uint32 hda_stream::sample_rate

Definition at line 172 of file driver.h.

◆ sample_size

uint32 hda_stream::sample_size

Definition at line 179 of file driver.h.

◆ type

uint32 hda_stream::type

Definition at line 164 of file driver.h.

◆ use_dma_position

bool hda_stream::use_dma_position

Definition at line 197 of file driver.h.


The documentation for this struct was generated from the following file: