FreeCalypso > hg > fc-tourmaline
view src/g23m-gprs/grlc/grlc_tmf.h @ 283:d9e3f3e293ac
etm_audio.c: fix off-by-one error in auw of FIR coefficients
The implementation of auw operation for UL or DL FIR upload
had this bug: the number of 16-bit shortwords copied into the
RVF-allocated temporary buffer was one too many, causing memory
corruption errors. The present change fixes this bug.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 08 Nov 2021 02:54:04 +0000 |
parents | fa8dc04885d8 |
children |
line wrap: on
line source
/* +----------------------------------------------------------------------------- | Project : GPRS (8441) | Modul : GRLC +----------------------------------------------------------------------------- | Copyright 2002 Texas Instruments Berlin, AG | All rights reserved. | | This file is confidential and a trade secret of Texas | Instruments Berlin, AG | The receipt of or possession of this file does not convey | any rights to reproduce or disclose its contents or to | manufacture, use, or sell anything it may describe, in | whole, or in part, without the specific written consent of | Texas Instruments Berlin, AG. +----------------------------------------------------------------------------- | Purpose : Definitions for service TC. +----------------------------------------------------------------------------- */ #ifndef GRLC_TCF_H #define GRLC_TCF_H typedef enum { C_PRIM_CONTINUE, /* primitive has lower prio, throughput and so on */ C_PRIM_PUT, /* queue at that possition */ C_PRIM_REALLOC_START, /* primitive needs to start re-allocation immedatly */ C_PRIM_REALLOC_MARK, /* primitive needs to start re-allocation at next llc bondary */ C_PRIM_NEW_TBF, /* mark begin of an new tbf in the prim_queue */ C_PRIM_REALLOC_SHORT, /* primitive needs to start re-allocation if previous on is short access*/ C_PRIM_RLC_MODE_CHANGE /* prim whose rlc mode changes and had greater priority*/ } T_COMPARE_PRIM; typedef enum { R_BUILD_2PHASE_ACCESS, R_RE_ALLOC, R_FIX_RE_ALLOC } T_REASON_BUILD; EXTERN BOOL tm_access_allowed ( UBYTE radio_prio ); EXTERN void tm_get_gmm_prim_queue ( void ); EXTERN void tm_handle_grlc_ready_ind ( void ); EXTERN void tm_get_llc_prim_queue ( void ); EXTERN void tm_ul_tbf_ind ( void ); EXTERN UBYTE tm_prim_queue_get_free_count ( void ); EXTERN void tm_abort_tbf ( T_TBF_TYPE tbf_i ); EXTERN void tm_data_req ( T_PRIM_TYPE prime_tpye_i,T_GRLC_DATA_REQ * ptr2prim_i); EXTERN void tm_build_chan_req_des ( T_chan_req_des * out_i,T_PRIM_QUEUE * p_ptr_i ); EXTERN void tm_handle_error_ra ( void ); EXTERN void tm_build_res_req ( T_U_GRLC_RESOURCE_REQ *ptr2res_req, T_REASON_BUILD reason_i); EXTERN BOOL tm_store_ctrl_blk ( T_BLK_OWNER blk_owner, void *blk_struct ); EXTERN void tm_delete_prim_queue ( void); EXTERN void tm_queue_test_mode_prim ( UBYTE pdu_num_i ); EXTERN void tm_send_tbf_rel ( T_TBF_TYPE ); EXTERN T_COMPARE_PRIM tm_compare_prim ( UBYTE new_prim_i,UBYTE position_i,BOOL *new_qos); EXTERN void tm_tfi_handling ( ULONG tbf_start, UBYTE tbf_type, UBYTE ul_tfi, BYTE dl_tfi); EXTERN void tm_activate_tbf ( T_TBF_TYPE ); EXTERN void tm_deactivate_tbf ( T_TBF_TYPE ); EXTERN void tm_ini_realloc ( UBYTE start_of_new_tbf_i ); EXTERN void tm_init_prim ( void ); EXTERN void tm_start_access ( void ); EXTERN void tm_grlc_init ( void ); EXTERN void tm_cgrlc_status_ind ( UBYTE cause ); EXTERN void tm_handle_polling_bit ( ULONG st_fn, UBYTE tn ); EXTERN void tm_store_fa_bitmap (T_CGRLC_fix_alloc_struct * ptr2_fix_alloc); EXTERN void tm_handle_final_alloc (UBYTE final_allocation); EXTERN USHORT tm_set_fa_bitmap ( UBYTE ts_mask, T_FA_ALLOC* ptr_alloc); EXTERN void tm_handle_test_mode_cnf ( BOOL v_test_mode_cnf ); /*********************************************************************************/ EXTERN void tm_prcs_pwr_ctrl ( T_CGRLC_pwr_ctrl *pwr_ctrl ); EXTERN BOOL tm_cancel_ctrl_blk ( T_BLK_OWNER blk_owner ); EXTERN UBYTE* tm_set_start_ctrl_blk ( UBYTE *index ); EXTERN T_BLK_INDEX tm_set_stop_ctrl_blk ( BOOL is_tx_success, T_BLK_OWNER srch_owner, T_BLK_INDEX start_idx ); EXTERN void tm_set_stop_tc_ctrl_blk ( void ); EXTERN void tm_set_stop_all_ctrl_blk ( void ); #endif /* !GRLC_TCF_H */