linux/sound/pci/au88x0/au88x0_xtalk.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/***************************************************************************
   3 *            au88x0_cxtalk.h
   4 *
   5 *  Wed Nov 19 19:07:17 2003
   6 *  Copyright  2003  mjander
   7 *  mjander@users.sourceforge.org
   8 ****************************************************************************/
   9
  10/*
  11 */
  12
  13/* The crosstalk canceler supports 5 stereo input channels. The result is 
  14   available at one single output route pair (stereo). */
  15
  16#ifndef _AU88X0_CXTALK_H
  17#define _AU88X0_CXTALK_H
  18
  19#include "au88x0.h"
  20
  21#define XTDLINE_SZ 32
  22#define XTGAINS_SZ 10
  23#define XTINST_SZ 4
  24
  25#define XT_HEADPHONE    1
  26#define XT_SPEAKER0             2
  27#define XT_SPEAKER1             3
  28#define XT_DIAMOND              4
  29
  30typedef u32 xtalk_dline_t[XTDLINE_SZ];
  31typedef u16 xtalk_gains_t[XTGAINS_SZ];
  32typedef u16 xtalk_instate_t[XTINST_SZ];
  33typedef u16 xtalk_coefs_t[5][5];
  34typedef u16 xtalk_state_t[5][4];
  35
  36static void vortex_XtalkHw_SetGains(vortex_t * vortex,
  37                                    xtalk_gains_t const gains);
  38static void vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex);
  39static void vortex_XtalkHw_SetSampleRate(vortex_t * vortex, u32 sr);
  40static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex);
  41static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex);
  42static void vortex_XtalkHw_ProgramXtalkWide(vortex_t * vortex);
  43static void vortex_XtalkHw_ProgramXtalkNarrow(vortex_t * vortex);
  44static void vortex_XtalkHw_ProgramDiamondXtalk(vortex_t * vortex);
  45static void vortex_XtalkHw_Enable(vortex_t * vortex);
  46static void vortex_XtalkHw_Disable(vortex_t * vortex);
  47static void vortex_XtalkHw_init(vortex_t * vortex);
  48
  49#endif                          /* _AU88X0_CXTALK_H */
  50