• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/echo/

Lines Matching defs:fir

4  * fir.h - General telephony FIR routines
91 static inline const int16_t *fir16_create(struct fir16_state_t *fir,
94 fir->taps = taps;
95 fir->curr_pos = taps - 1;
96 fir->coeffs = coeffs;
98 fir->history = kcalloc(2 * taps, sizeof(int16_t), GFP_KERNEL);
100 fir->history = kcalloc(taps, sizeof(int16_t), GFP_KERNEL);
102 return fir->history;
105 static inline void fir16_flush(struct fir16_state_t *fir)
108 memset(fir->history, 0, 2 * fir->taps * sizeof(int16_t));
110 memset(fir->history, 0, fir->taps * sizeof(int16_t));
114 static inline void fir16_free(struct fir16_state_t *fir)
116 kfree(fir->history);
146 static inline int16_t fir16(struct fir16_state_t *fir, int16_t sample)
150 fir->history[fir->curr_pos] = sample;
151 fir->history[fir->curr_pos + fir->taps] = sample;
152 y = dot_asm((int16_t *) fir->coeffs, &fir->history[fir->curr_pos],
153 fir->taps);
159 fir->history[fir->curr_pos] = sample;
161 offset2 = fir->curr_pos;
162 offset1 = fir->taps - offset2;
164 for (i = fir->taps - 1; i >= offset1; i--)
165 y += fir->coeffs[i] * fir->history[i - offset1];
167 y += fir->coeffs[i] * fir->history[i + offset2];
169 if (fir->curr_pos <= 0)
170 fir->curr_pos = fir->taps;
171 fir->curr_pos--;
175 static inline const int16_t *fir32_create(struct fir32_state_t *fir,
178 fir->taps = taps;
179 fir->curr_pos = taps - 1;
180 fir->coeffs = coeffs;
181 fir->history = kcalloc(taps, sizeof(int16_t), GFP_KERNEL);
182 return fir->history;
185 static inline void fir32_flush(struct fir32_state_t *fir)
187 memset(fir->history, 0, fir->taps * sizeof(int16_t));
190 static inline void fir32_free(struct fir32_state_t *fir)
192 kfree(fir->history);
195 static inline int16_t fir32(struct fir32_state_t *fir, int16_t sample)
202 fir->history[fir->curr_pos] = sample;
203 offset2 = fir->curr_pos;
204 offset1 = fir->taps - offset2;
206 for (i = fir->taps - 1; i >= offset1; i--)
207 y += fir->coeffs[i] * fir->history[i - offset1];
209 y += fir->coeffs[i] * fir->history[i + offset2];
210 if (fir->curr_pos <= 0)
211 fir->curr_pos = fir->taps;
212 fir->curr_pos--;