18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/*************************************************************************** 38c2ecf20Sopenharmony_ci * au88x0_cxtalk.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Wed Nov 19 19:07:17 2003 68c2ecf20Sopenharmony_ci * Copyright 2003 mjander 78c2ecf20Sopenharmony_ci * mjander@users.sourceforge.org 88c2ecf20Sopenharmony_ci ****************************************************************************/ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/* 118c2ecf20Sopenharmony_ci */ 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/* The crosstalk canceler supports 5 stereo input channels. The result is 148c2ecf20Sopenharmony_ci available at one single output route pair (stereo). */ 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#ifndef _AU88X0_CXTALK_H 178c2ecf20Sopenharmony_ci#define _AU88X0_CXTALK_H 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#include "au88x0.h" 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#define XTDLINE_SZ 32 228c2ecf20Sopenharmony_ci#define XTGAINS_SZ 10 238c2ecf20Sopenharmony_ci#define XTINST_SZ 4 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#define XT_HEADPHONE 1 268c2ecf20Sopenharmony_ci#define XT_SPEAKER0 2 278c2ecf20Sopenharmony_ci#define XT_SPEAKER1 3 288c2ecf20Sopenharmony_ci#define XT_DIAMOND 4 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_citypedef u32 xtalk_dline_t[XTDLINE_SZ]; 318c2ecf20Sopenharmony_citypedef u16 xtalk_gains_t[XTGAINS_SZ]; 328c2ecf20Sopenharmony_citypedef u16 xtalk_instate_t[XTINST_SZ]; 338c2ecf20Sopenharmony_citypedef u16 xtalk_coefs_t[5][5]; 348c2ecf20Sopenharmony_citypedef u16 xtalk_state_t[5][4]; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_SetGains(vortex_t * vortex, 378c2ecf20Sopenharmony_ci xtalk_gains_t const gains); 388c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex); 398c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_SetSampleRate(vortex_t * vortex, u32 sr); 408c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); 418c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); 428c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_ProgramXtalkWide(vortex_t * vortex); 438c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_ProgramXtalkNarrow(vortex_t * vortex); 448c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_ProgramDiamondXtalk(vortex_t * vortex); 458c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_Enable(vortex_t * vortex); 468c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_Disable(vortex_t * vortex); 478c2ecf20Sopenharmony_cistatic void vortex_XtalkHw_init(vortex_t * vortex); 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci#endif /* _AU88X0_CXTALK_H */ 50