Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
dsp.h File Reference
#include <linux/timer.h>
#include <linux/workqueue.h>
#include "dsp_ecdis.h"

Go to the source code of this file.

Data Structures

struct  dsp_conf_member
 
struct  dsp_conf
 
struct  dsp_dtmf
 
struct  dsp_pipeline
 
struct  dsp_tone
 
struct  dsp_echo
 
struct  dsp
 

Macros

#define DEBUG_DSP_CTRL   0x0001
 
#define DEBUG_DSP_CORE   0x0002
 
#define DEBUG_DSP_DTMF   0x0004
 
#define DEBUG_DSP_CMX   0x0010
 
#define DEBUG_DSP_TONE   0x0020
 
#define DEBUG_DSP_BLOWFISH   0x0040
 
#define DEBUG_DSP_DELAY   0x0100
 
#define DEBUG_DSP_CLOCK   0x0200
 
#define DEBUG_DSP_DTMFCOEFF   0x8000 /* heavy output */
 
#define DSP_OPT_ULAW   (1 << 0)
 
#define DSP_OPT_NOHARDWARE   (1 << 1)
 
#define MAX_POLL   256 /* maximum number of send-chunks */
 
#define CMX_BUFF_SIZE   0x8000 /* must be 2**n (0x1000 about 1/2 second) */
 
#define CMX_BUFF_HALF   0x4000 /* CMX_BUFF_SIZE / 2 */
 
#define CMX_BUFF_MASK   0x7fff /* CMX_BUFF_SIZE - 1 */
 
#define MAX_SECONDS_JITTER_CHECK   5
 
#define DSP_DTMF_NPOINTS   102
 
#define ECHOCAN_BUFF_SIZE   0x400 /* must be 2**n */
 
#define ECHOCAN_BUFF_MASK   0x3ff /* -1 */
 

Functions

void dsp_audio_generate_law_tables (void)
 
void dsp_audio_generate_s2law_table (void)
 
void dsp_audio_generate_seven (void)
 
void dsp_audio_generate_mix_table (void)
 
void dsp_audio_generate_ulaw_samples (void)
 
void dsp_audio_generate_volume_changes (void)
 
void dsp_change_volume (struct sk_buff *skb, int volume)
 
void dsp_cmx_debug (struct dsp *dsp)
 
void dsp_cmx_hardware (struct dsp_conf *conf, struct dsp *dsp)
 
int dsp_cmx_conf (struct dsp *dsp, u32 conf_id)
 
void dsp_cmx_receive (struct dsp *dsp, struct sk_buff *skb)
 
void dsp_cmx_hdlc (struct dsp *dsp, struct sk_buff *skb)
 
void dsp_cmx_send (void *arg)
 
void dsp_cmx_transmit (struct dsp *dsp, struct sk_buff *skb)
 
int dsp_cmx_del_conf_member (struct dsp *dsp)
 
int dsp_cmx_del_conf (struct dsp_conf *conf)
 
void dsp_dtmf_goertzel_init (struct dsp *dsp)
 
void dsp_dtmf_hardware (struct dsp *dsp)
 
u8dsp_dtmf_goertzel_decode (struct dsp *dsp, u8 *data, int len, int fmt)
 
int dsp_tone (struct dsp *dsp, int tone)
 
void dsp_tone_copy (struct dsp *dsp, u8 *data, int len)
 
void dsp_tone_timeout (void *arg)
 
void dsp_bf_encrypt (struct dsp *dsp, u8 *data, int len)
 
void dsp_bf_decrypt (struct dsp *dsp, u8 *data, int len)
 
int dsp_bf_init (struct dsp *dsp, const u8 *key, unsigned int keylen)
 
void dsp_bf_cleanup (struct dsp *dsp)
 
int dsp_pipeline_module_init (void)
 
void dsp_pipeline_module_exit (void)
 
int dsp_pipeline_init (struct dsp_pipeline *pipeline)
 
void dsp_pipeline_destroy (struct dsp_pipeline *pipeline)
 
int dsp_pipeline_build (struct dsp_pipeline *pipeline, const char *cfg)
 
void dsp_pipeline_process_tx (struct dsp_pipeline *pipeline, u8 *data, int len)
 
void dsp_pipeline_process_rx (struct dsp_pipeline *pipeline, u8 *data, int len, unsigned int txlen)
 

Variables

int dsp_options
 
int dsp_debug
 
int dsp_poll
 
int dsp_tics
 
spinlock_t dsp_lock
 
struct work_struct dsp_workq
 
u32 dsp_poll_diff
 
s32 dsp_audio_alaw_to_s32 [256]
 
s32 dsp_audio_ulaw_to_s32 [256]
 
s32dsp_audio_law_to_s32
 
u8 dsp_audio_s16_to_law [65536]
 
u8 dsp_audio_alaw_to_ulaw [256]
 
u8 dsp_audio_mix_law [65536]
 
u8 dsp_audio_seven2law [128]
 
u8 dsp_audio_law2seven [256]
 
u8 dsp_silence
 
struct timer_list dsp_spl_tl
 
unsigned long dsp_spl_jiffies
 
struct list_head dsp_ilist
 
struct list_head conf_ilist
 

Macro Definition Documentation

#define CMX_BUFF_HALF   0x4000 /* CMX_BUFF_SIZE / 2 */

Definition at line 71 of file dsp.h.

#define CMX_BUFF_MASK   0x7fff /* CMX_BUFF_SIZE - 1 */

Definition at line 72 of file dsp.h.

#define CMX_BUFF_SIZE   0x8000 /* must be 2**n (0x1000 about 1/2 second) */

Definition at line 70 of file dsp.h.

#define DEBUG_DSP_BLOWFISH   0x0040

Definition at line 16 of file dsp.h.

#define DEBUG_DSP_CLOCK   0x0200

Definition at line 18 of file dsp.h.

#define DEBUG_DSP_CMX   0x0010

Definition at line 14 of file dsp.h.

#define DEBUG_DSP_CORE   0x0002

Definition at line 12 of file dsp.h.

#define DEBUG_DSP_CTRL   0x0001

Definition at line 11 of file dsp.h.

#define DEBUG_DSP_DELAY   0x0100

Definition at line 17 of file dsp.h.

#define DEBUG_DSP_DTMF   0x0004

Definition at line 13 of file dsp.h.

#define DEBUG_DSP_DTMFCOEFF   0x8000 /* heavy output */

Definition at line 19 of file dsp.h.

#define DEBUG_DSP_TONE   0x0020

Definition at line 15 of file dsp.h.

#define DSP_DTMF_NPOINTS   102

Definition at line 115 of file dsp.h.

#define DSP_OPT_NOHARDWARE   (1 << 1)

Definition at line 28 of file dsp.h.

#define DSP_OPT_ULAW   (1 << 0)

Definition at line 27 of file dsp.h.

#define ECHOCAN_BUFF_MASK   0x3ff /* -1 */

Definition at line 118 of file dsp.h.

#define ECHOCAN_BUFF_SIZE   0x400 /* must be 2**n */

Definition at line 117 of file dsp.h.

#define MAX_POLL   256 /* maximum number of send-chunks */

Definition at line 68 of file dsp.h.

#define MAX_SECONDS_JITTER_CHECK   5

Definition at line 76 of file dsp.h.

Function Documentation

void dsp_audio_generate_law_tables ( void  )

Definition at line 153 of file dsp_audio.c.

void dsp_audio_generate_mix_table ( void  )

Definition at line 251 of file dsp_audio.c.

void dsp_audio_generate_s2law_table ( void  )

Definition at line 171 of file dsp_audio.c.

void dsp_audio_generate_seven ( void  )

Definition at line 203 of file dsp_audio.c.

void dsp_audio_generate_ulaw_samples ( void  )

Definition at line 214 of file dsp_tones.c.

void dsp_audio_generate_volume_changes ( void  )

Definition at line 316 of file dsp_audio.c.

void dsp_bf_cleanup ( struct dsp dsp)

Definition at line 669 of file dsp_blowfish.c.

void dsp_bf_decrypt ( struct dsp dsp,
u8 data,
int  len 
)

Definition at line 458 of file dsp_blowfish.c.

void dsp_bf_encrypt ( struct dsp dsp,
u8 data,
int  len 
)

Definition at line 369 of file dsp_blowfish.c.

int dsp_bf_init ( struct dsp dsp,
const u8 key,
unsigned int  keylen 
)

Definition at line 599 of file dsp_blowfish.c.

void dsp_change_volume ( struct sk_buff skb,
int  volume 
)

Definition at line 403 of file dsp_audio.c.

int dsp_cmx_conf ( struct dsp dsp,
u32  conf_id 
)

Definition at line 1064 of file dsp_cmx.c.

void dsp_cmx_debug ( struct dsp dsp)

Definition at line 159 of file dsp_cmx.c.

int dsp_cmx_del_conf ( struct dsp_conf conf)

Definition at line 337 of file dsp_cmx.c.

int dsp_cmx_del_conf_member ( struct dsp dsp)

Definition at line 265 of file dsp_cmx.c.

void dsp_cmx_hardware ( struct dsp_conf conf,
struct dsp dsp 
)

Definition at line 384 of file dsp_cmx.c.

void dsp_cmx_hdlc ( struct dsp dsp,
struct sk_buff skb 
)

Definition at line 1921 of file dsp_cmx.c.

void dsp_cmx_receive ( struct dsp dsp,
struct sk_buff skb 
)

Definition at line 1182 of file dsp_cmx.c.

void dsp_cmx_send ( void arg)

Definition at line 1632 of file dsp_cmx.c.

void dsp_cmx_transmit ( struct dsp dsp,
struct sk_buff skb 
)

Definition at line 1864 of file dsp_cmx.c.

u8* dsp_dtmf_goertzel_decode ( struct dsp dsp,
u8 data,
int  len,
int  fmt 
)

Definition at line 118 of file dsp_dtmf.c.

void dsp_dtmf_goertzel_init ( struct dsp dsp)

Definition at line 40 of file dsp_dtmf.c.

void dsp_dtmf_hardware ( struct dsp dsp)

Definition at line 50 of file dsp_dtmf.c.

int dsp_pipeline_build ( struct dsp_pipeline pipeline,
const char cfg 
)

Definition at line 236 of file dsp_pipeline.c.

void dsp_pipeline_destroy ( struct dsp_pipeline pipeline)

Definition at line 223 of file dsp_pipeline.c.

int dsp_pipeline_init ( struct dsp_pipeline pipeline)

Definition at line 194 of file dsp_pipeline.c.

void dsp_pipeline_module_exit ( void  )

Definition at line 174 of file dsp_pipeline.c.

int dsp_pipeline_module_init ( void  )

Definition at line 159 of file dsp_pipeline.c.

void dsp_pipeline_process_rx ( struct dsp_pipeline pipeline,
u8 data,
int  len,
unsigned int  txlen 
)

Definition at line 351 of file dsp_pipeline.c.

void dsp_pipeline_process_tx ( struct dsp_pipeline pipeline,
u8 data,
int  len 
)

Definition at line 339 of file dsp_pipeline.c.

int dsp_tone ( struct dsp dsp,
int  tone 
)

Definition at line 497 of file dsp_tones.c.

void dsp_tone_copy ( struct dsp dsp,
u8 data,
int  len 
)

Definition at line 375 of file dsp_tones.c.

void dsp_tone_timeout ( void arg)

Definition at line 460 of file dsp_tones.c.

Variable Documentation

struct list_head conf_ilist

Definition at line 183 of file dsp_core.c.

s32 dsp_audio_alaw_to_s32[256]

Definition at line 22 of file dsp_audio.c.

u8 dsp_audio_alaw_to_ulaw[256]

Definition at line 32 of file dsp_audio.c.

u8 dsp_audio_law2seven[256]

Definition at line 196 of file dsp_audio.c.

s32* dsp_audio_law_to_s32

Definition at line 24 of file dsp_audio.c.

u8 dsp_audio_mix_law[65536]

Definition at line 244 of file dsp_audio.c.

u8 dsp_audio_s16_to_law[65536]

Definition at line 28 of file dsp_audio.c.

u8 dsp_audio_seven2law[128]

Definition at line 195 of file dsp_audio.c.

s32 dsp_audio_ulaw_to_s32[256]

Definition at line 20 of file dsp_audio.c.

int dsp_debug

Definition at line 184 of file dsp_core.c.

struct list_head dsp_ilist

Definition at line 182 of file dsp_core.c.

spinlock_t dsp_lock

Definition at line 181 of file dsp_core.c.

int dsp_options

Definition at line 185 of file dsp_core.c.

int dsp_poll

Definition at line 186 of file dsp_core.c.

u32 dsp_poll_diff
u8 dsp_silence

Definition at line 35 of file dsp_audio.c.

unsigned long dsp_spl_jiffies

Definition at line 1627 of file dsp_cmx.c.

struct timer_list dsp_spl_tl

Definition at line 1626 of file dsp_cmx.c.

int dsp_tics

Definition at line 186 of file dsp_core.c.

struct work_struct dsp_workq