FreeCalypso > hg > fc-tourmaline
view src/gpf/inc/nuc/old/qu_defs.h @ 273:5caa86ee2cfa
enable L1_NEW_AEC in l1_confg.h (bold change)
The AEC function implemented in DSP ROM 3606 on the Calypso silicon
we work with is the one that corresponds to L1_NEW_AEC; the same holds
for DSP 34 and even for DSP 33 with more recent patch versions.
However, TI shipped their TCS211 reference fw with L1_NEW_AEC set to 0,
thus driving AEC the old way if anyone tried to enable it, either via
AT%Nxxxx or via the audio mode facility. As a result, the fw would
try to control features which no longer exist in the DSP (long vs short
echo and the old echo suppression level bits), while providing no way
to tune the 8 new parameter words added to the DSP's NDB page.
The only sensible solution is to bite the bullet and enable L1_NEW_AEC
in L1 config, with fallout propagating into RiViera Audio Service
T_AUDIO_AEC_CFG structure and into /aud/*.cfg binary file format.
The latter fallout will be addressed in further code changes.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 29 Jul 2021 18:32:40 +0000 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
/*************************************************************************/ /* */ /* Copyright (c) 1993-1996 Accelerated Technology, Inc. */ /* */ /* PROPRIETARY RIGHTS of Accelerated Technology are involved in the */ /* subject matter of this material. All manufacturing, reproduction, */ /* use, and sales rights pertaining to this subject matter are governed */ /* by the license agreement. The recipient of this software implicitly */ /* accepts the terms of the license. */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* FILE NAME VERSION */ /* */ /* qu_defs.h PLUS 1.2 */ /* */ /* COMPONENT */ /* */ /* QU - Queue Management */ /* */ /* DESCRIPTION */ /* */ /* This file contains data structure definitions and constants for */ /* the message Queue component. */ /* */ /* AUTHOR */ /* */ /* William E. Lamie, Accelerated Technology, Inc. */ /* */ /* DATA STRUCTURES */ /* */ /* QU_QCB Queue control block */ /* QU_SUSPEND Queue suspension block */ /* */ /* FUNCTIONS */ /* */ /* None */ /* */ /* DEPENDENCIES */ /* */ /* cs_defs.h Common service definitions */ /* tc_defs.h Thread Control definitions */ /* */ /* HISTORY */ /* */ /* NAME DATE REMARKS */ /* */ /* W. Lamie 03-01-1993 Created initial version 1.0 */ /* D. Lamie 04-19-1993 Verified version 1.0 */ /* W. Lamie 03-01-1994 Moved include files outside of */ /* the file #ifndef to allow the */ /* use of actual data structures, */ /* removed protection structure, */ /* put padding into structure, */ /* resulting in version 1.1 */ /* R. Pfaff - */ /* D. Lamie 03-18-1994 Verified version 1.1 */ /* M.Q. Qian 04-17-1996 updated to version 1.2 */ /* */ /*************************************************************************/ #include "cs_defs.h" /* Common service constants */ #include "tc_defs.h" /* Thread control constants */ /* Check to see if the file has been included already. */ #ifndef QU_DEFS #define QU_DEFS /* Define constants local to this component. */ #define QU_QUEUE_ID 0x51554555UL /* Define the Queue Control Block data type. */ typedef struct QU_QCB_STRUCT { CS_NODE qu_created; /* Node for linking to */ /* created queue list */ UNSIGNED qu_id; /* Internal QCB ID */ CHAR qu_name[NU_MAX_NAME]; /* Queue name */ DATA_ELEMENT qu_fixed_size; /* Fixed-size messages? */ DATA_ELEMENT qu_fifo_suspend; /* Suspension type flag */ #if PAD_2 DATA_ELEMENT qu_padding[PAD_2]; #endif UNSIGNED qu_queue_size; /* Total size of queue */ UNSIGNED qu_messages; /* Messages in queue */ UNSIGNED qu_message_size; /* Size of each message */ UNSIGNED qu_available; /* Available words */ UNSIGNED_PTR qu_start; /* Start of queue area */ UNSIGNED_PTR qu_end; /* End of queue area + 1 */ UNSIGNED_PTR qu_read; /* Read pointer */ UNSIGNED_PTR qu_write; /* Write pointer */ UNSIGNED qu_tasks_waiting; /* Number of waiting tasks*/ struct QU_SUSPEND_STRUCT *qu_urgent_list; /* Urgent message suspend */ struct QU_SUSPEND_STRUCT *qu_suspension_list; /* Suspension list */ } QU_QCB; /* Define the queue suspension structure. This structure is allocated off of the caller's stack. */ typedef struct QU_SUSPEND_STRUCT { CS_NODE qu_suspend_link; /* Link to suspend blocks */ QU_QCB *qu_queue; /* Pointer to the queue */ TC_TCB *qu_suspended_task; /* Task suspended */ UNSIGNED_PTR qu_message_area; /* Pointer to message area*/ UNSIGNED qu_message_size; /* Message size requested */ UNSIGNED qu_actual_size; /* Actual size of message */ STATUS qu_return_status; /* Return status */ } QU_SUSPEND; #endif