: [bits] "rm" (bits));
return res;
}
-/*- End of function --------------------------------------------------------*/
/*! \brief Find the bit position of the lowest set bit in a word
\param bits The word to be searched
: [bits] "rm" (bits));
return res;
}
-/*- End of function --------------------------------------------------------*/
#else
static __inline__ int top_bit(unsigned int bits)
{
}
return i;
}
-/*- End of function --------------------------------------------------------*/
static __inline__ int bottom_bit(unsigned int bits)
{
}
return i;
}
-/*- End of function --------------------------------------------------------*/
#endif
/*! \brief Bit reverse a byte.
return ((x & 0xAA) >> 1) | ((x & 0x55) << 1);
#endif
}
-/*- End of function --------------------------------------------------------*/
/*! \brief Bit reverse a 16 bit word.
\param data The word to be reversed.
{
return (x & (-(int32_t) x));
}
-/*- End of function --------------------------------------------------------*/
/*! \brief Find the most significant one in a word, and return a word
with just that bit set.
return (x ^ (x >> 1));
#endif
}
-/*- End of function --------------------------------------------------------*/
/*! \brief Find the parity of a byte.
\param x The byte to be checked.
x = (x ^ (x >> 4)) & 0x0F;
return (0x6996 >> x) & 1;
}
-/*- End of function --------------------------------------------------------*/
/*! \brief Find the parity of a 16 bit word.
\param x The word to be checked.
x = (x ^ (x >> 4)) & 0x0F;
return (0x6996 >> x) & 1;
}
-/*- End of function --------------------------------------------------------*/
/*! \brief Find the parity of a 32 bit word.
\param x The word to be checked.
x = (x ^ (x >> 4)) & 0x0F;
return (0x6996 >> x) & 1;
}
-/*- End of function --------------------------------------------------------*/
#endif
/*- End of file ------------------------------------------------------------*/
}
#endif
-/*- End of function --------------------------------------------------------*/
struct oslec_state *oslec_create(int len, int adaption_mode)
{
return NULL;
}
EXPORT_SYMBOL_GPL(oslec_create);
-/*- End of function --------------------------------------------------------*/
void oslec_free(struct oslec_state *ec)
{
kfree(ec);
}
EXPORT_SYMBOL_GPL(oslec_free);
-/*- End of function --------------------------------------------------------*/
void oslec_adaption_mode(struct oslec_state *ec, int adaption_mode)
{
ec->adaption_mode = adaption_mode;
}
EXPORT_SYMBOL_GPL(oslec_adaption_mode);
-/*- End of function --------------------------------------------------------*/
void oslec_flush(struct oslec_state *ec)
{
ec->Pstates = 0;
}
EXPORT_SYMBOL_GPL(oslec_flush);
-/*- End of function --------------------------------------------------------*/
void oslec_snapshot(struct oslec_state *ec) {
memcpy(ec->snapshot, ec->fir_taps16[0], ec->taps*sizeof(int16_t));
}
EXPORT_SYMBOL_GPL(oslec_snapshot);
-/*- End of function --------------------------------------------------------*/
/* Dual Path Echo Canceller ------------------------------------------------*/
return (int16_t) ec->clean_nlp << 1;
}
EXPORT_SYMBOL_GPL(oslec_update);
-/*- End of function --------------------------------------------------------*/
/* This function is seperated from the echo canceller is it is usually called
as part of the tx process. See rx HP (DC blocking) filter above, it's
#endif
return fir->history;
}
-/*- End of function --------------------------------------------------------*/
static __inline__ void fir16_flush(fir16_state_t *fir)
{
memset(fir->history, 0, fir->taps*sizeof(int16_t));
#endif
}
-/*- End of function --------------------------------------------------------*/
static __inline__ void fir16_free(fir16_state_t *fir)
{
kfree(fir->history);
}
-/*- End of function --------------------------------------------------------*/
#ifdef __bfin__
static inline int32_t dot_asm(short *x, short *y, int len)
return dot;
}
#endif
-/*- End of function --------------------------------------------------------*/
static __inline__ int16_t fir16(fir16_state_t *fir, int16_t sample)
{
fir->curr_pos--;
return (int16_t) (y >> 15);
}
-/*- End of function --------------------------------------------------------*/
static __inline__ const int16_t *fir32_create(fir32_state_t *fir,
const int32_t *coeffs,
fir->history = kcalloc(taps, sizeof(int16_t), GFP_KERNEL);
return fir->history;
}
-/*- End of function --------------------------------------------------------*/
static __inline__ void fir32_flush(fir32_state_t *fir)
{
memset(fir->history, 0, fir->taps*sizeof(int16_t));
}
-/*- End of function --------------------------------------------------------*/
static __inline__ void fir32_free(fir32_state_t *fir)
{
kfree(fir->history);
}
-/*- End of function --------------------------------------------------------*/
static __inline__ int16_t fir32(fir32_state_t *fir, int16_t sample)
{
fir->curr_pos--;
return (int16_t) (y >> 15);
}
-/*- End of function --------------------------------------------------------*/
#endif
/*- End of file ------------------------------------------------------------*/