diff options
Diffstat (limited to 'include/sound/cs46xx_dsp_spos.h')
| -rw-r--r-- | include/sound/cs46xx_dsp_spos.h | 234 | 
1 files changed, 0 insertions, 234 deletions
diff --git a/include/sound/cs46xx_dsp_spos.h b/include/sound/cs46xx_dsp_spos.h deleted file mode 100644 index 49b03c9e5e5..00000000000 --- a/include/sound/cs46xx_dsp_spos.h +++ /dev/null @@ -1,234 +0,0 @@ -/* - *  The driver for the Cirrus Logic's Sound Fusion CS46XX based soundcards - *  Copyright (c) by Jaroslav Kysela <perex@perex.cz> - * - * - *   This program is free software; you can redistribute it and/or modify - *   it under the terms of the GNU General Public License as published by - *   the Free Software Foundation; either version 2 of the License, or - *   (at your option) any later version. - * - *   This program is distributed in the hope that it will be useful, - *   but WITHOUT ANY WARRANTY; without even the implied warranty of - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *   GNU General Public License for more details. - * - *   You should have received a copy of the GNU General Public License - *   along with this program; if not, write to the Free Software - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA - * - */ - -#ifndef __CS46XX_DSP_SPOS_H__ -#define __CS46XX_DSP_SPOS_H__ - -#include "cs46xx_dsp_scb_types.h" -#include "cs46xx_dsp_task_types.h" - -#define SYMBOL_CONSTANT  0x0 -#define SYMBOL_SAMPLE    0x1 -#define SYMBOL_PARAMETER 0x2 -#define SYMBOL_CODE      0x3 - -#define SEGTYPE_SP_PROGRAM              0x00000001 -#define SEGTYPE_SP_PARAMETER            0x00000002 -#define SEGTYPE_SP_SAMPLE               0x00000003 -#define SEGTYPE_SP_COEFFICIENT          0x00000004 - -#define DSP_SPOS_UU      0x0deadul     /* unused */ -#define DSP_SPOS_DC      0x0badul      /* don't care */ -#define DSP_SPOS_DC_DC   0x0bad0badul  /* don't care */ -#define DSP_SPOS_UUUU    0xdeadc0edul  /* unused */ -#define DSP_SPOS_UUHI    0xdeadul -#define DSP_SPOS_UULO    0xc0edul -#define DSP_SPOS_DCDC    0x0badf1d0ul  /* don't care */ -#define DSP_SPOS_DCDCHI  0x0badul -#define DSP_SPOS_DCDCLO  0xf1d0ul - -#define DSP_MAX_TASK_NAME   60 -#define DSP_MAX_SYMBOL_NAME 100 -#define DSP_MAX_SCB_NAME    60 -#define DSP_MAX_SCB_DESC    200 -#define DSP_MAX_TASK_DESC   50 - -#define DSP_MAX_PCM_CHANNELS 32 -#define DSP_MAX_SRC_NR       14 - -#define DSP_PCM_MAIN_CHANNEL        1 -#define DSP_PCM_REAR_CHANNEL        2 -#define DSP_PCM_CENTER_LFE_CHANNEL  3 -#define DSP_PCM_S71_CHANNEL         4 /* surround 7.1 */ -#define DSP_IEC958_CHANNEL          5 - -#define DSP_SPDIF_STATUS_OUTPUT_ENABLED       1 -#define DSP_SPDIF_STATUS_PLAYBACK_OPEN        2 -#define DSP_SPDIF_STATUS_HW_ENABLED           4 -#define DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED   8 - -struct dsp_symbol_entry { -	u32 address; -	char symbol_name[DSP_MAX_SYMBOL_NAME]; -	int symbol_type; - -	/* initialized by driver */ -	struct dsp_module_desc * module; -	int deleted; -}; - -struct dsp_symbol_desc { -	int nsymbols; - -	struct dsp_symbol_entry *symbols; - -	/* initialized by driver */ -	int highest_frag_index; -}; - -struct dsp_segment_desc { -	int segment_type; -	u32 offset; -	u32 size; -	u32 * data; -}; - -struct dsp_module_desc { -	char * module_name; -	struct dsp_symbol_desc symbol_table; -	int nsegments; -	struct dsp_segment_desc * segments; - -	/* initialized by driver */ -	u32 overlay_begin_address; -	u32 load_address; -	int nfixups; -}; - -struct dsp_scb_descriptor { -	char scb_name[DSP_MAX_SCB_NAME]; -	u32 address; -	int index; -	u32 *data; - -	struct dsp_scb_descriptor * sub_list_ptr; -	struct dsp_scb_descriptor * next_scb_ptr; -	struct dsp_scb_descriptor * parent_scb_ptr; - -	struct dsp_symbol_entry * task_entry; -	struct dsp_symbol_entry * scb_symbol; - -	struct snd_info_entry *proc_info; -	int ref_count; - -	u16 volume[2]; -	unsigned int deleted :1; -	unsigned int updated :1; -	unsigned int volume_set :1; -}; - -struct dsp_task_descriptor { -	char task_name[DSP_MAX_TASK_NAME]; -	int size; -	u32 address; -	int index; -	u32 *data; -}; - -struct dsp_pcm_channel_descriptor { -	int active; -	int src_slot; -	int pcm_slot; -	u32 sample_rate; -	u32 unlinked; -	struct dsp_scb_descriptor * pcm_reader_scb; -	struct dsp_scb_descriptor * src_scb; -	struct dsp_scb_descriptor * mixer_scb; - -	void * private_data; -}; - -struct dsp_spos_instance { -	struct dsp_symbol_desc symbol_table; /* currently availble loaded symbols in SP */ - -	int nmodules; -	struct dsp_module_desc * modules; /* modules loaded into SP */ - -	struct dsp_segment_desc code; - -	/* Main PCM playback mixer */ -	struct dsp_scb_descriptor * master_mix_scb; -	u16 dac_volume_right; -	u16 dac_volume_left; - -	/* Rear/surround PCM playback mixer */ -	struct dsp_scb_descriptor * rear_mix_scb; - -	/* Center/LFE mixer */ -	struct dsp_scb_descriptor * center_lfe_mix_scb; - -	int npcm_channels; -	int nsrc_scb; -	struct dsp_pcm_channel_descriptor pcm_channels[DSP_MAX_PCM_CHANNELS]; -	int src_scb_slots[DSP_MAX_SRC_NR]; - -	/* cache this symbols */ -	struct dsp_symbol_entry * null_algorithm; /* used by PCMreaderSCB's */ -	struct dsp_symbol_entry * s16_up;         /* used by SRCtaskSCB's */ - -	/* proc fs */   -	struct snd_card *snd_card; -	struct snd_info_entry * proc_dsp_dir; -	struct snd_info_entry * proc_sym_info_entry; -	struct snd_info_entry * proc_modules_info_entry; -	struct snd_info_entry * proc_parameter_dump_info_entry; -	struct snd_info_entry * proc_sample_dump_info_entry; - -	/* SCB's descriptors */ -	int nscb; -	int scb_highest_frag_index; -	struct dsp_scb_descriptor scbs[DSP_MAX_SCB_DESC]; -	struct snd_info_entry * proc_scb_info_entry; -	struct dsp_scb_descriptor * the_null_scb; - -	/* Task's descriptors */ -	int ntask; -	struct dsp_task_descriptor tasks[DSP_MAX_TASK_DESC]; -	struct snd_info_entry * proc_task_info_entry; - -	/* SPDIF status */ -	int spdif_status_out; -	int spdif_status_in; -	u16 spdif_input_volume_right; -	u16 spdif_input_volume_left; -	/* spdif channel status, -	   left right and user validity bits */ -	unsigned int spdif_csuv_default; -	unsigned int spdif_csuv_stream; - -	/* SPDIF input sample rate converter */ -	struct dsp_scb_descriptor * spdif_in_src; -	/* SPDIF input asynch. receiver */ -	struct dsp_scb_descriptor * asynch_rx_scb; - -	/* Capture record mixer SCB */ -	struct dsp_scb_descriptor * record_mixer_scb; -     -	/* CODEC input SCB */ -	struct dsp_scb_descriptor * codec_in_scb; - -	/* reference snooper */ -	struct dsp_scb_descriptor * ref_snoop_scb; - -	/* SPDIF output  PCM reference  */ -	struct dsp_scb_descriptor * spdif_pcm_input_scb; - -	/* asynch TX task */ -	struct dsp_scb_descriptor * asynch_tx_scb; - -	/* record sources */ -	struct dsp_scb_descriptor * pcm_input; -	struct dsp_scb_descriptor * adc_input; - -	int spdif_in_sample_rate; -}; - -#endif /* __DSP_SPOS_H__ */  | 
