11da177e4SLinus Torvalds /*************************************************************************** 21da177e4SLinus Torvalds * au88x0_cxtalk.h 31da177e4SLinus Torvalds * 41da177e4SLinus Torvalds * Wed Nov 19 19:07:17 2003 51da177e4SLinus Torvalds * Copyright 2003 mjander 61da177e4SLinus Torvalds * mjander@users.sourceforge.org 71da177e4SLinus Torvalds ****************************************************************************/ 81da177e4SLinus Torvalds 91da177e4SLinus Torvalds /* 101da177e4SLinus Torvalds * This program is free software; you can redistribute it and/or modify 111da177e4SLinus Torvalds * it under the terms of the GNU General Public License as published by 121da177e4SLinus Torvalds * the Free Software Foundation; either version 2 of the License, or 131da177e4SLinus Torvalds * (at your option) any later version. 141da177e4SLinus Torvalds * 151da177e4SLinus Torvalds * This program is distributed in the hope that it will be useful, 161da177e4SLinus Torvalds * but WITHOUT ANY WARRANTY; without even the implied warranty of 171da177e4SLinus Torvalds * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 181da177e4SLinus Torvalds * GNU Library General Public License for more details. 191da177e4SLinus Torvalds * 201da177e4SLinus Torvalds * You should have received a copy of the GNU General Public License 211da177e4SLinus Torvalds * along with this program; if not, write to the Free Software 221da177e4SLinus Torvalds * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 231da177e4SLinus Torvalds */ 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds /* The crosstalk canceler supports 5 stereo input channels. The result is 261da177e4SLinus Torvalds available at one single output route pair (stereo). */ 271da177e4SLinus Torvalds 281da177e4SLinus Torvalds #ifndef _AU88X0_CXTALK_H 291da177e4SLinus Torvalds #define _AU88X0_CXTALK_H 301da177e4SLinus Torvalds 311da177e4SLinus Torvalds #include "au88x0.h" 321da177e4SLinus Torvalds 331da177e4SLinus Torvalds #define XTDLINE_SZ 32 341da177e4SLinus Torvalds #define XTGAINS_SZ 10 351da177e4SLinus Torvalds #define XTINST_SZ 4 361da177e4SLinus Torvalds 371da177e4SLinus Torvalds #define XT_HEADPHONE 1 381da177e4SLinus Torvalds #define XT_SPEAKER0 2 391da177e4SLinus Torvalds #define XT_SPEAKER1 3 401da177e4SLinus Torvalds #define XT_DIAMOND 4 411da177e4SLinus Torvalds 421da177e4SLinus Torvalds typedef long xtalk_dline_t[XTDLINE_SZ]; 431da177e4SLinus Torvalds typedef short xtalk_gains_t[XTGAINS_SZ]; 441da177e4SLinus Torvalds typedef short xtalk_instate_t[XTINST_SZ]; 451da177e4SLinus Torvalds typedef short xtalk_coefs_t[5][5]; 461da177e4SLinus Torvalds typedef short xtalk_state_t[5][4]; 471da177e4SLinus Torvalds 481da177e4SLinus Torvalds static void vortex_XtalkHw_SetGains(vortex_t * vortex, 491da177e4SLinus Torvalds xtalk_gains_t const gains); 501da177e4SLinus Torvalds static void vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex); 511da177e4SLinus Torvalds static void vortex_XtalkHw_SetSampleRate(vortex_t * vortex, int sr); 521da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); 531da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); 541da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramXtalkWide(vortex_t * vortex); 551da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramXtalkNarrow(vortex_t * vortex); 561da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramDiamondXtalk(vortex_t * vortex); 571da177e4SLinus Torvalds static void vortex_XtalkHw_Enable(vortex_t * vortex); 581da177e4SLinus Torvalds static void vortex_XtalkHw_Disable(vortex_t * vortex); 591da177e4SLinus Torvalds static void vortex_XtalkHw_init(vortex_t * vortex); 601da177e4SLinus Torvalds 611da177e4SLinus Torvalds #endif /* _AU88X0_CXTALK_H */ 62