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 | |
30 | typedef u32 xtalk_dline_t[XTDLINE_SZ]; |
31 | typedef u16 xtalk_gains_t[XTGAINS_SZ]; |
32 | typedef u16 xtalk_instate_t[XTINST_SZ]; |
33 | typedef u16 xtalk_coefs_t[5][5]; |
34 | typedef u16 xtalk_state_t[5][4]; |
35 | |
36 | static void vortex_XtalkHw_SetGains(vortex_t * vortex, |
37 | xtalk_gains_t const gains); |
38 | static void vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex); |
39 | static void vortex_XtalkHw_SetSampleRate(vortex_t * vortex, u32 sr); |
40 | static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); |
41 | static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); |
42 | static void vortex_XtalkHw_ProgramXtalkWide(vortex_t * vortex); |
43 | static void vortex_XtalkHw_ProgramXtalkNarrow(vortex_t * vortex); |
44 | static void vortex_XtalkHw_ProgramDiamondXtalk(vortex_t * vortex); |
45 | static void vortex_XtalkHw_Enable(vortex_t * vortex); |
46 | static void vortex_XtalkHw_Disable(vortex_t * vortex); |
47 | static void vortex_XtalkHw_init(vortex_t * vortex); |
48 | |
49 | #endif /* _AU88X0_CXTALK_H */ |
50 |