summaryrefslogtreecommitdiffstats
path: root/sound/pci/cs46xx/dsp_spos_scb_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/cs46xx/dsp_spos_scb_lib.c')
-rw-r--r--sound/pci/cs46xx/dsp_spos_scb_lib.c342
1 files changed, 177 insertions, 165 deletions
diff --git a/sound/pci/cs46xx/dsp_spos_scb_lib.c b/sound/pci/cs46xx/dsp_spos_scb_lib.c
index 92849e1340b..509aa2b6333 100644
--- a/sound/pci/cs46xx/dsp_spos_scb_lib.c
+++ b/sound/pci/cs46xx/dsp_spos_scb_lib.c
@@ -36,14 +36,14 @@
#include "cs46xx_lib.h"
#include "dsp_spos.h"
-typedef struct _proc_scb_info_t {
- dsp_scb_descriptor_t * scb_desc;
- cs46xx_t *chip;
-} proc_scb_info_t;
+struct proc_scb_info {
+ struct dsp_scb_descriptor * scb_desc;
+ struct snd_cs46xx *chip;
+};
-static void remove_symbol (cs46xx_t * chip,symbol_entry_t * symbol)
+static void remove_symbol (struct snd_cs46xx * chip, struct dsp_symbol_entry * symbol)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
int symbol_index = (int)(symbol - ins->symbol_table.symbols);
snd_assert(ins->symbol_table.nsymbols > 0,return);
@@ -64,12 +64,14 @@ static void remove_symbol (cs46xx_t * chip,symbol_entry_t * symbol)
}
-static void cs46xx_dsp_proc_scb_info_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer)
+#ifdef CONFIG_PROC_FS
+static void cs46xx_dsp_proc_scb_info_read (struct snd_info_entry *entry,
+ struct snd_info_buffer *buffer)
{
- proc_scb_info_t * scb_info = (proc_scb_info_t *)entry->private_data;
- dsp_scb_descriptor_t * scb = scb_info->scb_desc;
- dsp_spos_instance_t * ins;
- cs46xx_t *chip = scb_info->chip;
+ struct proc_scb_info * scb_info = entry->private_data;
+ struct dsp_scb_descriptor * scb = scb_info->scb_desc;
+ struct dsp_spos_instance * ins;
+ struct snd_cs46xx *chip = scb_info->chip;
int j,col;
void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET;
@@ -105,10 +107,11 @@ static void cs46xx_dsp_proc_scb_info_read (snd_info_entry_t *entry, snd_info_buf
snd_iprintf(buffer,"index [%d] ref_count [%d]\n",scb->index,scb->ref_count);
up(&chip->spos_mutex);
}
+#endif
-static void _dsp_unlink_scb (cs46xx_t *chip,dsp_scb_descriptor_t * scb)
+static void _dsp_unlink_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
unsigned long flags;
if ( scb->parent_scb_ptr ) {
@@ -160,7 +163,8 @@ static void _dsp_unlink_scb (cs46xx_t *chip,dsp_scb_descriptor_t * scb)
}
}
-static void _dsp_clear_sample_buffer (cs46xx_t *chip, u32 sample_buffer_addr, int dword_count)
+static void _dsp_clear_sample_buffer (struct snd_cs46xx *chip, u32 sample_buffer_addr,
+ int dword_count)
{
void __iomem *dst = chip->region.idx[2].remap_addr + sample_buffer_addr;
int i;
@@ -171,9 +175,9 @@ static void _dsp_clear_sample_buffer (cs46xx_t *chip, u32 sample_buffer_addr, in
}
}
-void cs46xx_dsp_remove_scb (cs46xx_t *chip, dsp_scb_descriptor_t * scb)
+void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
/* check integrety */
snd_assert ( (scb->index >= 0 &&
@@ -218,10 +222,11 @@ void cs46xx_dsp_remove_scb (cs46xx_t *chip, dsp_scb_descriptor_t * scb)
}
-void cs46xx_dsp_proc_free_scb_desc (dsp_scb_descriptor_t * scb)
+#ifdef CONFIG_PROC_FS
+void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb)
{
if (scb->proc_info) {
- proc_scb_info_t * scb_info = (proc_scb_info_t *)scb->proc_info->private_data;
+ struct proc_scb_info * scb_info = scb->proc_info->private_data;
snd_printdd("cs46xx_dsp_proc_free_scb_desc: freeing %s\n",scb->scb_name);
@@ -233,11 +238,12 @@ void cs46xx_dsp_proc_free_scb_desc (dsp_scb_descriptor_t * scb)
}
}
-void cs46xx_dsp_proc_register_scb_desc (cs46xx_t *chip,dsp_scb_descriptor_t * scb)
+void cs46xx_dsp_proc_register_scb_desc (struct snd_cs46xx *chip,
+ struct dsp_scb_descriptor * scb)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- snd_info_entry_t * entry;
- proc_scb_info_t * scb_info;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct snd_info_entry * entry;
+ struct proc_scb_info * scb_info;
/* register to proc */
if (ins->snd_card != NULL && ins->proc_dsp_dir != NULL &&
@@ -245,7 +251,7 @@ void cs46xx_dsp_proc_register_scb_desc (cs46xx_t *chip,dsp_scb_descriptor_t * sc
if ((entry = snd_info_create_card_entry(ins->snd_card, scb->scb_name,
ins->proc_dsp_dir)) != NULL) {
- scb_info = kmalloc(sizeof(proc_scb_info_t), GFP_KERNEL);
+ scb_info = kmalloc(sizeof(struct proc_scb_info), GFP_KERNEL);
if (!scb_info) {
snd_info_free_entry(entry);
entry = NULL;
@@ -272,15 +278,16 @@ out:
scb->proc_info = entry;
}
}
+#endif /* CONFIG_PROC_FS */
-static dsp_scb_descriptor_t *
-_dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest,
- symbol_entry_t * task_entry,
- dsp_scb_descriptor_t * parent_scb,
+static struct dsp_scb_descriptor *
+_dsp_create_generic_scb (struct snd_cs46xx *chip, char * name, u32 * scb_data, u32 dest,
+ struct dsp_symbol_entry * task_entry,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * scb;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * scb;
unsigned long flags;
@@ -342,13 +349,13 @@ _dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest,
return scb;
}
-static dsp_scb_descriptor_t *
-cs46xx_dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest,
- char * task_entry_name,
- dsp_scb_descriptor_t * parent_scb,
+static struct dsp_scb_descriptor *
+cs46xx_dsp_create_generic_scb (struct snd_cs46xx *chip, char * name, u32 * scb_data,
+ u32 dest, char * task_entry_name,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- symbol_entry_t * task_entry;
+ struct dsp_symbol_entry * task_entry;
task_entry = cs46xx_dsp_lookup_symbol (chip,task_entry_name,
SYMBOL_CODE);
@@ -362,12 +369,12 @@ cs46xx_dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 de
parent_scb,scb_child_type);
}
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_timing_master_scb (cs46xx_t *chip)
+struct dsp_scb_descriptor *
+cs46xx_dsp_create_timing_master_scb (struct snd_cs46xx *chip)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- timing_master_scb_t timing_master_scb = {
+ struct dsp_timing_master_scb timing_master_scb = {
{ 0,
0,
0,
@@ -396,16 +403,15 @@ cs46xx_dsp_create_timing_master_scb (cs46xx_t *chip)
}
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_codec_out_scb(cs46xx_t * chip,char * codec_name,
- u16 channel_disp,u16 fifo_addr,
- u16 child_scb_addr,
- u32 dest,dsp_scb_descriptor_t * parent_scb,
+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)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- codec_output_scb_t codec_out_scb = {
+ struct dsp_codec_output_scb codec_out_scb = {
{ 0,
0,
0,
@@ -435,16 +441,15 @@ cs46xx_dsp_create_codec_out_scb(cs46xx_t * chip,char * codec_name,
return scb;
}
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_codec_in_scb(cs46xx_t * chip,char * codec_name,
- u16 channel_disp,u16 fifo_addr,
- u16 sample_buffer_addr,
- u32 dest,dsp_scb_descriptor_t * parent_scb,
- int scb_child_type)
+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)
{
- dsp_scb_descriptor_t * scb;
- codec_input_scb_t codec_input_scb = {
+ struct dsp_scb_descriptor * scb;
+ struct dsp_codec_input_scb codec_input_scb = {
{ 0,
0,
0,
@@ -481,17 +486,17 @@ cs46xx_dsp_create_codec_in_scb(cs46xx_t * chip,char * codec_name,
}
-static dsp_scb_descriptor_t *
-cs46xx_dsp_create_pcm_reader_scb(cs46xx_t * chip,char * scb_name,
- u16 sample_buffer_addr,u32 dest,
+static struct dsp_scb_descriptor *
+cs46xx_dsp_create_pcm_reader_scb(struct snd_cs46xx * chip, char * scb_name,
+ u16 sample_buffer_addr, u32 dest,
int virtual_channel, u32 playback_hw_addr,
- dsp_scb_descriptor_t * parent_scb,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * scb;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * scb;
- generic_scb_t pcm_reader_scb = {
+ struct dsp_generic_scb pcm_reader_scb = {
/*
Play DMA Task xfers data from host buffer to SP buffer
@@ -584,18 +589,18 @@ cs46xx_dsp_create_pcm_reader_scb(cs46xx_t * chip,char * scb_name,
#define GOF_PER_SEC 200
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name,
+struct dsp_scb_descriptor *
+cs46xx_dsp_create_src_task_scb(struct snd_cs46xx * chip, char * scb_name,
int rate,
u16 src_buffer_addr,
- u16 src_delay_buffer_addr,u32 dest,
- dsp_scb_descriptor_t * parent_scb,
+ u16 src_delay_buffer_addr, u32 dest,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type,
int pass_through)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * scb;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * scb;
unsigned int tmp1, tmp2;
unsigned int phiIncr;
unsigned int correctionPerGOF, correctionPerSec;
@@ -632,7 +637,7 @@ cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name,
correctionPerSec = tmp1;
{
- src_task_scb_t src_task_scb = {
+ struct dsp_src_task_scb src_task_scb = {
0x0028,0x00c8,
0x5555,0x0000,
0x0000,0x0000,
@@ -688,14 +693,14 @@ cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name,
}
#if 0 /* not used */
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_filter_scb(cs46xx_t * chip,char * scb_name,
- u16 buffer_addr,u32 dest,
- dsp_scb_descriptor_t * parent_scb,
+struct dsp_scb_descriptor *
+cs46xx_dsp_create_filter_scb(struct snd_cs46xx * chip, char * scb_name,
+ u16 buffer_addr, u32 dest,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type) {
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- filter_scb_t filter_scb = {
+ struct dsp_filter_scb filter_scb = {
.a0_right = 0x41a9,
.a0_left = 0x41a9,
.a1_right = 0xb8e4,
@@ -738,15 +743,15 @@ cs46xx_dsp_create_filter_scb(cs46xx_t * chip,char * scb_name,
}
#endif /* not used */
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_mix_only_scb(cs46xx_t * chip,char * scb_name,
- u16 mix_buffer_addr,u32 dest,
- dsp_scb_descriptor_t * parent_scb,
+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)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- mix_only_scb_t master_mix_scb = {
+ struct dsp_mix_only_scb master_mix_scb = {
/* 0 */ { 0,
/* 1 */ 0,
/* 2 */ mix_buffer_addr,
@@ -778,15 +783,15 @@ cs46xx_dsp_create_mix_only_scb(cs46xx_t * chip,char * scb_name,
}
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_mix_to_ostream_scb(cs46xx_t * chip,char * scb_name,
- u16 mix_buffer_addr,u16 writeback_spb,u32 dest,
- dsp_scb_descriptor_t * parent_scb,
+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)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- mix2_ostream_scb_t mix2_ostream_scb = {
+ struct dsp_mix2_ostream_scb mix2_ostream_scb = {
/* Basic (non scatter/gather) DMA requestor (4 ints) */
{
DMA_RQ_C1_SOURCE_MOD64 +
@@ -832,18 +837,18 @@ cs46xx_dsp_create_mix_to_ostream_scb(cs46xx_t * chip,char * scb_name,
}
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_vari_decimate_scb(cs46xx_t * chip,char * scb_name,
+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,
- dsp_scb_descriptor_t * parent_scb,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- vari_decimate_scb_t vari_decimate_scb = {
+ struct dsp_vari_decimate_scb vari_decimate_scb = {
0x0028,0x00c8,
0x5555,0x0000,
0x0000,0x0000,
@@ -876,17 +881,17 @@ cs46xx_dsp_create_vari_decimate_scb(cs46xx_t * chip,char * scb_name,
}
-static dsp_scb_descriptor_t *
-cs46xx_dsp_create_pcm_serial_input_scb(cs46xx_t * chip,char * scb_name,u32 dest,
- dsp_scb_descriptor_t * input_scb,
- dsp_scb_descriptor_t * parent_scb,
+static struct dsp_scb_descriptor *
+cs46xx_dsp_create_pcm_serial_input_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest,
+ struct dsp_scb_descriptor * input_scb,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- pcm_serial_input_scb_t pcm_serial_input_scb = {
+ struct dsp_pcm_serial_input_scb pcm_serial_input_scb = {
{ 0,
0,
0,
@@ -919,17 +924,17 @@ cs46xx_dsp_create_pcm_serial_input_scb(cs46xx_t * chip,char * scb_name,u32 dest,
}
-static dsp_scb_descriptor_t *
-cs46xx_dsp_create_asynch_fg_tx_scb(cs46xx_t * chip,char * scb_name,u32 dest,
+static struct dsp_scb_descriptor *
+cs46xx_dsp_create_asynch_fg_tx_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest,
u16 hfg_scb_address,
u16 asynch_buffer_address,
- dsp_scb_descriptor_t * parent_scb,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- asynch_fg_tx_scb_t asynch_fg_tx_scb = {
+ struct dsp_asynch_fg_tx_scb asynch_fg_tx_scb = {
0xfc00,0x03ff, /* Prototype sample buffer size of 256 dwords */
0x0058,0x0028, /* Min Delta 7 dwords == 28 bytes */
/* : Max delta 25 dwords == 100 bytes */
@@ -966,17 +971,17 @@ cs46xx_dsp_create_asynch_fg_tx_scb(cs46xx_t * chip,char * scb_name,u32 dest,
}
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_asynch_fg_rx_scb(cs46xx_t * chip,char * scb_name,u32 dest,
+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,
- dsp_scb_descriptor_t * parent_scb,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * scb;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * scb;
- asynch_fg_rx_scb_t asynch_fg_rx_scb = {
+ struct dsp_asynch_fg_rx_scb asynch_fg_rx_scb = {
0xfe00,0x01ff, /* Prototype sample buffer size of 128 dwords */
0x0064,0x001c, /* Min Delta 7 dwords == 28 bytes */
/* : Max delta 25 dwords == 100 bytes */
@@ -1016,17 +1021,17 @@ cs46xx_dsp_create_asynch_fg_rx_scb(cs46xx_t * chip,char * scb_name,u32 dest,
#if 0 /* not used */
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_output_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest,
+struct dsp_scb_descriptor *
+cs46xx_dsp_create_output_snoop_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest,
u16 snoop_buffer_address,
- dsp_scb_descriptor_t * snoop_scb,
- dsp_scb_descriptor_t * parent_scb,
+ struct dsp_scb_descriptor * snoop_scb,
+ struct dsp_scb_descriptor * parent_scb,
int scb_child_type)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- output_snoop_scb_t output_snoop_scb = {
+ struct dsp_output_snoop_scb output_snoop_scb = {
{ 0, /* not used. Zero */
0,
0,
@@ -1058,14 +1063,14 @@ cs46xx_dsp_create_output_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest,
#endif /* not used */
-dsp_scb_descriptor_t *
-cs46xx_dsp_create_spio_write_scb(cs46xx_t * chip,char * scb_name,u32 dest,
- dsp_scb_descriptor_t * parent_scb,
+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)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- spio_write_scb_t spio_write_scb = {
+ struct dsp_spio_write_scb spio_write_scb = {
0,0, /* SPIOWAddress2:SPIOWAddress1; */
0, /* SPIOWData1; */
0, /* SPIOWData2; */
@@ -1094,15 +1099,16 @@ cs46xx_dsp_create_spio_write_scb(cs46xx_t * chip,char * scb_name,u32 dest,
return scb;
}
-dsp_scb_descriptor_t * cs46xx_dsp_create_magic_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest,
- u16 snoop_buffer_address,
- dsp_scb_descriptor_t * snoop_scb,
- dsp_scb_descriptor_t * parent_scb,
- int scb_child_type)
+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)
{
- dsp_scb_descriptor_t * scb;
+ struct dsp_scb_descriptor * scb;
- magic_snoop_task_t magic_snoop_scb = {
+ struct dsp_magic_snoop_task magic_snoop_scb = {
/* 0 */ 0, /* i0 */
/* 1 */ 0, /* i1 */
/* 2 */ snoop_buffer_address << 0x10,
@@ -1129,10 +1135,11 @@ dsp_scb_descriptor_t * cs46xx_dsp_create_magic_snoop_scb(cs46xx_t * chip,char *
return scb;
}
-static dsp_scb_descriptor_t * find_next_free_scb (cs46xx_t * chip,dsp_scb_descriptor_t * from)
+static struct dsp_scb_descriptor *
+find_next_free_scb (struct snd_cs46xx * chip, struct dsp_scb_descriptor * from)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * scb = from;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * scb = from;
while (scb->next_scb_ptr != ins->the_null_scb) {
snd_assert (scb->next_scb_ptr != NULL, return NULL);
@@ -1212,18 +1219,19 @@ static u32 src_delay_buffer_addr[DSP_MAX_SRC_NR] = {
0x2B00
};
-pcm_channel_descriptor_t * cs46xx_dsp_create_pcm_channel (cs46xx_t * chip,
- u32 sample_rate, void * private_data,
- u32 hw_dma_addr,
- int pcm_channel_id)
+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)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * src_scb = NULL,* pcm_scb, * mixer_scb = NULL;
- dsp_scb_descriptor_t * src_parent_scb = NULL;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * src_scb = NULL, * pcm_scb, * mixer_scb = NULL;
+ struct dsp_scb_descriptor * src_parent_scb = NULL;
- /* dsp_scb_descriptor_t * pcm_parent_scb; */
+ /* struct dsp_scb_descriptor * pcm_parent_scb; */
char scb_name[DSP_MAX_SCB_NAME];
- int i,pcm_index = -1, insert_point, src_index = -1,pass_through = 0;
+ int i, pcm_index = -1, insert_point, src_index = -1, pass_through = 0;
unsigned long flags;
switch (pcm_channel_id) {
@@ -1371,8 +1379,8 @@ pcm_channel_descriptor_t * cs46xx_dsp_create_pcm_channel (cs46xx_t * chip,
return (ins->pcm_channels + pcm_index);
}
-int cs46xx_dsp_pcm_channel_set_period (cs46xx_t * chip,
- pcm_channel_descriptor_t * pcm_channel,
+int cs46xx_dsp_pcm_channel_set_period (struct snd_cs46xx * chip,
+ struct dsp_pcm_channel_descriptor * pcm_channel,
int period_size)
{
u32 temp = snd_cs46xx_peek (chip,pcm_channel->pcm_reader_scb->address << 2);
@@ -1410,7 +1418,7 @@ int cs46xx_dsp_pcm_channel_set_period (cs46xx_t * chip,
return 0;
}
-int cs46xx_dsp_pcm_ostream_set_period (cs46xx_t * chip,
+int cs46xx_dsp_pcm_ostream_set_period (struct snd_cs46xx * chip,
int period_size)
{
u32 temp = snd_cs46xx_peek (chip,WRITEBACK_SCB_ADDR << 2);
@@ -1448,9 +1456,10 @@ int cs46xx_dsp_pcm_ostream_set_period (cs46xx_t * chip,
return 0;
}
-void cs46xx_dsp_destroy_pcm_channel (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel)
+void cs46xx_dsp_destroy_pcm_channel (struct snd_cs46xx * chip,
+ struct dsp_pcm_channel_descriptor * pcm_channel)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
unsigned long flags;
snd_assert(pcm_channel->active, return );
@@ -1478,9 +1487,10 @@ void cs46xx_dsp_destroy_pcm_channel (cs46xx_t * chip,pcm_channel_descriptor_t *
}
}
-int cs46xx_dsp_pcm_unlink (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel)
+int cs46xx_dsp_pcm_unlink (struct snd_cs46xx * chip,
+ struct dsp_pcm_channel_descriptor * pcm_channel)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
unsigned long flags;
snd_assert(pcm_channel->active,return -EIO);
@@ -1503,11 +1513,12 @@ int cs46xx_dsp_pcm_unlink (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channe
return 0;
}
-int cs46xx_dsp_pcm_link (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel)
+int cs46xx_dsp_pcm_link (struct snd_cs46xx * chip,
+ struct dsp_pcm_channel_descriptor * pcm_channel)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * parent_scb;
- dsp_scb_descriptor_t * src_scb = pcm_channel->src_scb;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * parent_scb;
+ struct dsp_scb_descriptor * src_scb = pcm_channel->src_scb;
unsigned long flags;
spin_lock(&pcm_channel->src_scb->lock);
@@ -1544,12 +1555,13 @@ int cs46xx_dsp_pcm_link (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel)
return 0;
}
-dsp_scb_descriptor_t * cs46xx_add_record_source (cs46xx_t *chip,dsp_scb_descriptor_t * source,
- u16 addr,char * scb_name)
+struct dsp_scb_descriptor *
+cs46xx_add_record_source (struct snd_cs46xx *chip, struct dsp_scb_descriptor * source,
+ u16 addr, char * scb_name)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * parent;
- dsp_scb_descriptor_t * pcm_input;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * parent;
+ struct dsp_scb_descriptor * pcm_input;
int insert_point;
snd_assert (ins->record_mixer_scb != NULL,return NULL);
@@ -1569,7 +1581,7 @@ dsp_scb_descriptor_t * cs46xx_add_record_source (cs46xx_t *chip,dsp_scb_descript
return pcm_input;
}
-int cs46xx_src_unlink(cs46xx_t *chip,dsp_scb_descriptor_t * src)
+int cs46xx_src_unlink(struct snd_cs46xx *chip, struct dsp_scb_descriptor * src)
{
snd_assert (src->parent_scb_ptr != NULL, return -EINVAL );
@@ -1581,10 +1593,10 @@ int cs46xx_src_unlink(cs46xx_t *chip,dsp_scb_descriptor_t * src)
return 0;
}
-int cs46xx_src_link(cs46xx_t *chip,dsp_scb_descriptor_t * src)
+int cs46xx_src_link(struct snd_cs46xx *chip, struct dsp_scb_descriptor * src)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
- dsp_scb_descriptor_t * parent_scb;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
+ struct dsp_scb_descriptor * parent_scb;
snd_assert (src->parent_scb_ptr == NULL, return -EINVAL );
snd_assert(ins->master_mix_scb !=NULL, return -EINVAL );
@@ -1605,9 +1617,9 @@ int cs46xx_src_link(cs46xx_t *chip,dsp_scb_descriptor_t * src)
return 0;
}
-int cs46xx_dsp_enable_spdif_out (cs46xx_t *chip)
+int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
if ( ! (ins->spdif_status_out & DSP_SPDIF_STATUS_HW_ENABLED) ) {
cs46xx_dsp_enable_spdif_hw (chip);
@@ -1653,9 +1665,9 @@ int cs46xx_dsp_enable_spdif_out (cs46xx_t *chip)
return 0;
}
-int cs46xx_dsp_disable_spdif_out (cs46xx_t *chip)
+int cs46xx_dsp_disable_spdif_out (struct snd_cs46xx *chip)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
/* dont touch anything if SPDIF is open */
if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) {
@@ -1685,9 +1697,9 @@ int cs46xx_dsp_disable_spdif_out (cs46xx_t *chip)
return 0;
}
-int cs46xx_iec958_pre_open (cs46xx_t *chip)
+int cs46xx_iec958_pre_open (struct snd_cs46xx *chip)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
if ( ins->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED ) {
/* remove AsynchFGTxSCB and and PCMSerialInput_II */
@@ -1718,9 +1730,9 @@ int cs46xx_iec958_pre_open (cs46xx_t *chip)
return 0;
}
-int cs46xx_iec958_post_close (cs46xx_t *chip)
+int cs46xx_iec958_post_close (struct snd_cs46xx *chip)
{
- dsp_spos_instance_t * ins = chip->dsp_spos_instance;
+ struct dsp_spos_instance * ins = chip->dsp_spos_instance;
snd_assert (ins->asynch_tx_scb != NULL, return -EINVAL);