mISDN: use DECLARE_COMPLETION_ONSTACK for non-constant completion
[profile/ivi/kernel-adaptation-intel-automotive.git] / drivers / isdn / mISDN / dsp.h
index 98a33c5..18af868 100644 (file)
@@ -112,9 +112,11 @@ struct dsp_conf {
 
 #define DSP_DTMF_NPOINTS 102
 
-#define ECHOCAN_BUFLEN (4*128)
+#define ECHOCAN_BUFF_SIZE 0x400 /* must be 2**n */
+#define ECHOCAN_BUFF_MASK 0x3ff /* -1 */
 
 struct dsp_dtmf {
+       int             enable; /* dtmf is enabled */
        int             treshold; /* above this is dtmf (square of) */
        int             software; /* dtmf uses software decoding */
        int             hardware; /* dtmf uses hardware decoding */
@@ -123,7 +125,7 @@ struct dsp_dtmf {
                /* buffers one full dtmf frame */
        u8              lastwhat, lastdigit;
        int             count;
-       u8              digits[16]; /* just the dtmf result */
+       u8              digits[16]; /* dtmf result */
 };
 
 
@@ -150,6 +152,15 @@ struct dsp_tone {
        struct timer_list tl;
 };
 
+/***************
+ * echo stuff *
+ ***************/
+
+struct dsp_echo {
+       int             software; /* echo is generated by software */
+       int             hardware; /* echo is generated by hardware */
+};
+
 /*****************
  * general stuff *
  *****************/
@@ -160,7 +171,7 @@ struct dsp {
        struct mISDNchannel     *up;
        unsigned char   name[64];
        int             b_active;
-       int             echo; /* echo is enabled */
+       struct dsp_echo echo;
        int             rx_disabled; /* what the user wants */
        int             rx_is_off; /* what the card is */
        int             tx_mix;
@@ -261,5 +272,5 @@ extern int  dsp_pipeline_build(struct dsp_pipeline *pipeline, const char *cfg);
 extern void dsp_pipeline_process_tx(struct dsp_pipeline *pipeline, u8 *data,
                int len);
 extern void dsp_pipeline_process_rx(struct dsp_pipeline *pipeline, u8 *data,
-               int len);
+               int len, unsigned int txlen);