Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
cs46xx_lib.h File Reference

Go to the source code of this file.

Macros

#define CS46XX_BA0_SIZE   0x1000
 
#define CS46XX_BA1_DATA0_SIZE   0x3000
 
#define CS46XX_BA1_DATA1_SIZE   0x3800
 
#define CS46XX_BA1_PRG_SIZE   0x7000
 
#define CS46XX_BA1_REG_SIZE   0x0100
 
#define CS46XX_MIN_PERIOD_SIZE   2048
 
#define CS46XX_MAX_PERIOD_SIZE   2048
 
#define CS46XX_FRAGS   2
 
#define SCB_NO_PARENT   0
 
#define SCB_ON_PARENT_NEXT_SCB   1
 
#define SCB_ON_PARENT_SUBLIST_SCB   2
 
#define BA1_DWORD_SIZE   (13 * 1024 + 512)
 
#define BA1_MEMORY_COUNT   3
 
#define cs46xx_dsp_proc_init(card, chip)
 
#define cs46xx_dsp_proc_done(chip)
 
#define cs46xx_dsp_proc_free_scb_desc(scb)
 
#define cs46xx_dsp_proc_register_scb_desc(chip, scb)
 

Functions

struct dsp_spos_instancecs46xx_dsp_spos_create (struct snd_cs46xx *chip)
 
void cs46xx_dsp_spos_destroy (struct snd_cs46xx *chip)
 
int cs46xx_dsp_load_module (struct snd_cs46xx *chip, struct dsp_module_desc *module)
 
struct dsp_symbol_entrycs46xx_dsp_lookup_symbol (struct snd_cs46xx *chip, char *symbol_name, int symbol_type)
 
int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip)
 
int snd_cs46xx_download (struct snd_cs46xx *chip, u32 *src, unsigned long offset, unsigned long len)
 
int snd_cs46xx_clear_BA1 (struct snd_cs46xx *chip, unsigned long offset, unsigned long len)
 
int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip)
 
int cs46xx_dsp_enable_spdif_hw (struct snd_cs46xx *chip)
 
int cs46xx_dsp_disable_spdif_out (struct snd_cs46xx *chip)
 
int cs46xx_dsp_enable_spdif_in (struct snd_cs46xx *chip)
 
int cs46xx_dsp_disable_spdif_in (struct snd_cs46xx *chip)
 
int cs46xx_dsp_enable_pcm_capture (struct snd_cs46xx *chip)
 
int cs46xx_dsp_disable_pcm_capture (struct snd_cs46xx *chip)
 
int cs46xx_dsp_enable_adc_capture (struct snd_cs46xx *chip)
 
int cs46xx_dsp_disable_adc_capture (struct snd_cs46xx *chip)
 
int cs46xx_poke_via_dsp (struct snd_cs46xx *chip, u32 address, u32 data)
 
struct dsp_scb_descriptorcs46xx_dsp_create_scb (struct snd_cs46xx *chip, char *name, u32 *scb_data, u32 dest)
 
struct dsp_scb_descriptorcs46xx_dsp_create_timing_master_scb (struct snd_cs46xx *chip)
 
struct dsp_scb_descriptorcs46xx_dsp_create_codec_out_scb (struct snd_cs46xx *chip, char *codec_name, u16 channel_disp, u16 fifo_addr, u16 child_scb_addr, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_scb_descriptorcs46xx_dsp_create_codec_in_scb (struct snd_cs46xx *chip, char *codec_name, u16 channel_disp, u16 fifo_addr, u16 sample_buffer_addr, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor *scb)
 
struct dsp_scb_descriptorcs46xx_dsp_create_src_task_scb (struct snd_cs46xx *chip, char *scb_name, int sample_rate, u16 src_buffer_addr, u16 src_delay_buffer_addr, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type, int pass_through)
 
struct dsp_scb_descriptorcs46xx_dsp_create_mix_only_scb (struct snd_cs46xx *chip, char *scb_name, u16 mix_buffer_addr, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_scb_descriptorcs46xx_dsp_create_vari_decimate_scb (struct snd_cs46xx *chip, char *scb_name, u16 vari_buffer_addr0, u16 vari_buffer_addr1, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_scb_descriptorcs46xx_dsp_create_asynch_fg_rx_scb (struct snd_cs46xx *chip, char *scb_name, u32 dest, u16 hfg_scb_address, u16 asynch_buffer_address, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_scb_descriptorcs46xx_dsp_create_spio_write_scb (struct snd_cs46xx *chip, char *scb_name, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_scb_descriptorcs46xx_dsp_create_mix_to_ostream_scb (struct snd_cs46xx *chip, char *scb_name, u16 mix_buffer_addr, u16 writeback_spb, u32 dest, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_scb_descriptorcs46xx_dsp_create_magic_snoop_scb (struct snd_cs46xx *chip, char *scb_name, u32 dest, u16 snoop_buffer_address, struct dsp_scb_descriptor *snoop_scb, struct dsp_scb_descriptor *parent_scb, int scb_child_type)
 
struct dsp_pcm_channel_descriptorcs46xx_dsp_create_pcm_channel (struct snd_cs46xx *chip, u32 sample_rate, void *private_data, u32 hw_dma_addr, int pcm_channel_id)
 
void cs46xx_dsp_destroy_pcm_channel (struct snd_cs46xx *chip, struct dsp_pcm_channel_descriptor *pcm_channel)
 
int cs46xx_dsp_pcm_unlink (struct snd_cs46xx *chip, struct dsp_pcm_channel_descriptor *pcm_channel)
 
int cs46xx_dsp_pcm_link (struct snd_cs46xx *chip, struct dsp_pcm_channel_descriptor *pcm_channel)
 
struct dsp_scb_descriptorcs46xx_add_record_source (struct snd_cs46xx *chip, struct dsp_scb_descriptor *source, u16 addr, char *scb_name)
 
int cs46xx_src_unlink (struct snd_cs46xx *chip, struct dsp_scb_descriptor *src)
 
int cs46xx_src_link (struct snd_cs46xx *chip, struct dsp_scb_descriptor *src)
 
int cs46xx_iec958_pre_open (struct snd_cs46xx *chip)
 
int cs46xx_iec958_post_close (struct snd_cs46xx *chip)
 
int cs46xx_dsp_pcm_channel_set_period (struct snd_cs46xx *chip, struct dsp_pcm_channel_descriptor *pcm_channel, int period_size)
 
int cs46xx_dsp_pcm_ostream_set_period (struct snd_cs46xx *chip, int period_size)
 
int cs46xx_dsp_set_dac_volume (struct snd_cs46xx *chip, u16 left, u16 right)
 
int cs46xx_dsp_set_iec958_volume (struct snd_cs46xx *chip, u16 left, u16 right)
 

Macro Definition Documentation

#define BA1_DWORD_SIZE   (13 * 1024 + 512)

Definition at line 53 of file cs46xx_lib.h.

#define BA1_MEMORY_COUNT   3

Definition at line 54 of file cs46xx_lib.h.

#define CS46XX_BA0_SIZE   0x1000

Definition at line 29 of file cs46xx_lib.h.

#define CS46XX_BA1_DATA0_SIZE   0x3000

Definition at line 30 of file cs46xx_lib.h.

#define CS46XX_BA1_DATA1_SIZE   0x3800

Definition at line 31 of file cs46xx_lib.h.

#define CS46XX_BA1_PRG_SIZE   0x7000

Definition at line 32 of file cs46xx_lib.h.

#define CS46XX_BA1_REG_SIZE   0x0100

Definition at line 33 of file cs46xx_lib.h.

#define cs46xx_dsp_proc_done (   chip)

Definition at line 103 of file cs46xx_lib.h.

#define cs46xx_dsp_proc_free_scb_desc (   scb)

Definition at line 126 of file cs46xx_lib.h.

#define cs46xx_dsp_proc_init (   card,
  chip 
)

Definition at line 102 of file cs46xx_lib.h.

#define cs46xx_dsp_proc_register_scb_desc (   chip,
  scb 
)

Definition at line 127 of file cs46xx_lib.h.

#define CS46XX_FRAGS   2

Definition at line 45 of file cs46xx_lib.h.

#define CS46XX_MAX_PERIOD_SIZE   2048

Definition at line 42 of file cs46xx_lib.h.

#define CS46XX_MIN_PERIOD_SIZE   2048

Definition at line 41 of file cs46xx_lib.h.

#define SCB_NO_PARENT   0

Definition at line 48 of file cs46xx_lib.h.

#define SCB_ON_PARENT_NEXT_SCB   1

Definition at line 49 of file cs46xx_lib.h.

#define SCB_ON_PARENT_SUBLIST_SCB   2

Definition at line 50 of file cs46xx_lib.h.

Function Documentation

struct dsp_scb_descriptor* cs46xx_add_record_source ( struct snd_cs46xx chip,
struct dsp_scb_descriptor source,
u16  addr,
char scb_name 
)
read

Definition at line 1564 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_asynch_fg_rx_scb ( struct snd_cs46xx chip,
char scb_name,
u32  dest,
u16  hfg_scb_address,
u16  asynch_buffer_address,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 982 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor * cs46xx_dsp_create_codec_in_scb ( struct snd_cs46xx chip,
char codec_name,
u16  channel_disp,
u16  fifo_addr,
u16  sample_buffer_addr,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 452 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_codec_out_scb ( struct snd_cs46xx chip,
char codec_name,
u16  channel_disp,
u16  fifo_addr,
u16  child_scb_addr,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 414 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_magic_snoop_scb ( struct snd_cs46xx chip,
char scb_name,
u32  dest,
u16  snoop_buffer_address,
struct dsp_scb_descriptor snoop_scb,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 1110 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_mix_only_scb ( struct snd_cs46xx chip,
char scb_name,
u16  mix_buffer_addr,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 754 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_mix_to_ostream_scb ( struct snd_cs46xx chip,
char scb_name,
u16  mix_buffer_addr,
u16  writeback_spb,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 794 of file dsp_spos_scb_lib.c.

struct dsp_pcm_channel_descriptor* cs46xx_dsp_create_pcm_channel ( struct snd_cs46xx chip,
u32  sample_rate,
void private_data,
u32  hw_dma_addr,
int  pcm_channel_id 
)
read

Definition at line 1231 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_scb ( struct snd_cs46xx chip,
char name,
u32 scb_data,
u32  dest 
)
read

Definition at line 1018 of file dsp_spos.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_spio_write_scb ( struct snd_cs46xx chip,
char scb_name,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 1074 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_src_task_scb ( struct snd_cs46xx chip,
char scb_name,
int  sample_rate,
u16  src_buffer_addr,
u16  src_delay_buffer_addr,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type,
int  pass_through 
)
read

Definition at line 600 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_timing_master_scb ( struct snd_cs46xx chip)
read

Definition at line 380 of file dsp_spos_scb_lib.c.

struct dsp_scb_descriptor* cs46xx_dsp_create_vari_decimate_scb ( struct snd_cs46xx chip,
char scb_name,
u16  vari_buffer_addr0,
u16  vari_buffer_addr1,
u32  dest,
struct dsp_scb_descriptor parent_scb,
int  scb_child_type 
)
read

Definition at line 848 of file dsp_spos_scb_lib.c.

void cs46xx_dsp_destroy_pcm_channel ( struct snd_cs46xx chip,
struct dsp_pcm_channel_descriptor pcm_channel 
)

Definition at line 1469 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_disable_adc_capture ( struct snd_cs46xx chip)

Definition at line 1841 of file dsp_spos.c.

int cs46xx_dsp_disable_pcm_capture ( struct snd_cs46xx chip)

Definition at line 1809 of file dsp_spos.c.

int cs46xx_dsp_disable_spdif_in ( struct snd_cs46xx chip)

Definition at line 1764 of file dsp_spos.c.

int cs46xx_dsp_disable_spdif_out ( struct snd_cs46xx chip)

Definition at line 1684 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_enable_adc_capture ( struct snd_cs46xx chip)

Definition at line 1824 of file dsp_spos.c.

int cs46xx_dsp_enable_pcm_capture ( struct snd_cs46xx chip)

Definition at line 1792 of file dsp_spos.c.

int cs46xx_dsp_enable_spdif_hw ( struct snd_cs46xx chip)

Definition at line 1679 of file dsp_spos.c.

int cs46xx_dsp_enable_spdif_in ( struct snd_cs46xx chip)

Definition at line 1702 of file dsp_spos.c.

int cs46xx_dsp_enable_spdif_out ( struct snd_cs46xx chip)

Definition at line 1633 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_load_module ( struct snd_cs46xx chip,
struct dsp_module_desc module 
)

Definition at line 349 of file dsp_spos.c.

struct dsp_symbol_entry* cs46xx_dsp_lookup_symbol ( struct snd_cs46xx chip,
char symbol_name,
int  symbol_type 
)
read

Definition at line 433 of file dsp_spos.c.

int cs46xx_dsp_pcm_channel_set_period ( struct snd_cs46xx chip,
struct dsp_pcm_channel_descriptor pcm_channel,
int  period_size 
)

Definition at line 1392 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_pcm_link ( struct snd_cs46xx chip,
struct dsp_pcm_channel_descriptor pcm_channel 
)

Definition at line 1525 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_pcm_ostream_set_period ( struct snd_cs46xx chip,
int  period_size 
)

Definition at line 1431 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_pcm_unlink ( struct snd_cs46xx chip,
struct dsp_pcm_channel_descriptor pcm_channel 
)

Definition at line 1502 of file dsp_spos_scb_lib.c.

void cs46xx_dsp_remove_scb ( struct snd_cs46xx chip,
struct dsp_scb_descriptor scb 
)

Definition at line 177 of file dsp_spos_scb_lib.c.

int cs46xx_dsp_scb_and_task_init ( struct snd_cs46xx chip)

Definition at line 1061 of file dsp_spos.c.

int cs46xx_dsp_set_dac_volume ( struct snd_cs46xx chip,
u16  left,
u16  right 
)

Definition at line 1893 of file dsp_spos.c.

int cs46xx_dsp_set_iec958_volume ( struct snd_cs46xx chip,
u16  left,
u16  right 
)

Definition at line 1922 of file dsp_spos.c.

struct dsp_spos_instance* cs46xx_dsp_spos_create ( struct snd_cs46xx chip)
read

Definition at line 224 of file dsp_spos.c.

void cs46xx_dsp_spos_destroy ( struct snd_cs46xx chip)

Definition at line 277 of file dsp_spos.c.

int cs46xx_iec958_post_close ( struct snd_cs46xx chip)

Definition at line 1754 of file dsp_spos_scb_lib.c.

int cs46xx_iec958_pre_open ( struct snd_cs46xx chip)

Definition at line 1721 of file dsp_spos_scb_lib.c.

int cs46xx_poke_via_dsp ( struct snd_cs46xx chip,
u32  address,
u32  data 
)

Definition at line 1856 of file dsp_spos.c.

int cs46xx_src_link ( struct snd_cs46xx chip,
struct dsp_scb_descriptor src 
)

Definition at line 1607 of file dsp_spos_scb_lib.c.

int cs46xx_src_unlink ( struct snd_cs46xx chip,
struct dsp_scb_descriptor src 
)

Definition at line 1590 of file dsp_spos_scb_lib.c.

int snd_cs46xx_clear_BA1 ( struct snd_cs46xx chip,
unsigned long  offset,
unsigned long  len 
)
int snd_cs46xx_download ( struct snd_cs46xx chip,
u32 src,
unsigned long  offset,
unsigned long  len 
)

Definition at line 311 of file cs46xx_lib.c.