1*005fdd53SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 21da177e4SLinus Torvalds /*************************************************************************** 31da177e4SLinus Torvalds * au88x0_cxtalk.h 41da177e4SLinus Torvalds * 51da177e4SLinus Torvalds * Wed Nov 19 19:07:17 2003 61da177e4SLinus Torvalds * Copyright 2003 mjander 71da177e4SLinus Torvalds * mjander@users.sourceforge.org 81da177e4SLinus Torvalds ****************************************************************************/ 91da177e4SLinus Torvalds 101da177e4SLinus Torvalds /* 111da177e4SLinus Torvalds */ 121da177e4SLinus Torvalds 131da177e4SLinus Torvalds /* The crosstalk canceler supports 5 stereo input channels. The result is 141da177e4SLinus Torvalds available at one single output route pair (stereo). */ 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds #ifndef _AU88X0_CXTALK_H 171da177e4SLinus Torvalds #define _AU88X0_CXTALK_H 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds #include "au88x0.h" 201da177e4SLinus Torvalds 211da177e4SLinus Torvalds #define XTDLINE_SZ 32 221da177e4SLinus Torvalds #define XTGAINS_SZ 10 231da177e4SLinus Torvalds #define XTINST_SZ 4 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds #define XT_HEADPHONE 1 261da177e4SLinus Torvalds #define XT_SPEAKER0 2 271da177e4SLinus Torvalds #define XT_SPEAKER1 3 281da177e4SLinus Torvalds #define XT_DIAMOND 4 291da177e4SLinus Torvalds 3097c67b65STakashi Iwai typedef u32 xtalk_dline_t[XTDLINE_SZ]; 3197c67b65STakashi Iwai typedef u16 xtalk_gains_t[XTGAINS_SZ]; 3297c67b65STakashi Iwai typedef u16 xtalk_instate_t[XTINST_SZ]; 3397c67b65STakashi Iwai typedef u16 xtalk_coefs_t[5][5]; 3497c67b65STakashi Iwai typedef u16 xtalk_state_t[5][4]; 351da177e4SLinus Torvalds 361da177e4SLinus Torvalds static void vortex_XtalkHw_SetGains(vortex_t * vortex, 371da177e4SLinus Torvalds xtalk_gains_t const gains); 381da177e4SLinus Torvalds static void vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex); 3997c67b65STakashi Iwai static void vortex_XtalkHw_SetSampleRate(vortex_t * vortex, u32 sr); 401da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); 411da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); 421da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramXtalkWide(vortex_t * vortex); 431da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramXtalkNarrow(vortex_t * vortex); 441da177e4SLinus Torvalds static void vortex_XtalkHw_ProgramDiamondXtalk(vortex_t * vortex); 451da177e4SLinus Torvalds static void vortex_XtalkHw_Enable(vortex_t * vortex); 461da177e4SLinus Torvalds static void vortex_XtalkHw_Disable(vortex_t * vortex); 471da177e4SLinus Torvalds static void vortex_XtalkHw_init(vortex_t * vortex); 481da177e4SLinus Torvalds 491da177e4SLinus Torvalds #endif /* _AU88X0_CXTALK_H */ 50