view src/g23m-fad/l2r/tra_mgts.c @ 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 :  CSD (8411)
|  Modul   :  tra_mgts.c
+----------------------------------------------------------------------------- 
|  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 :  This Modul defines the functions for processing
|             of incomming signals for the component TRA
+----------------------------------------------------------------------------- 
*/ 

#ifndef TRA_MGTS_C
#define TRA_MGTS_C
#endif

#define ENTITY_L2R

/*==== INCLUDES ===================================================*/
#include <string.h>

#include "typedefs.h"
#include "pconst.cdg"
#include "vsi.h"
#include "macdef.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "pei.h"
#include "tok.h"
#include "dti.h"

#include "cl_ribu.h"
#include "tra_pei.h"
#include "tra.h"

/*==== CONST =======================================================*/

/*==== TYPES =======================================================*/

/*==== VAR EXPORT ==================================================*/

/*==== VAR LOCAL ===================================================*/

/*==== FUNCTIONS ===================================================*/

/*
+------------------------------------------------------------------------------
|  Function    : sig_up_tra_mgt_break_ind
+------------------------------------------------------------------------------
|  Description : Process signal SIG_UP_MGT_BREAK_IND received from process DN.
|
|  Parameters  : USHORT break_len
|                 
|
|  Return      : -
+------------------------------------------------------------------------------
*/

GLOBAL void sig_up_tra_mgt_break_ind(USHORT break_len)
{
  TRACE_FUNCTION ("sig_up_tra_mgt_break_ind()");

  switch (GET_STATE (MGT))
  {
  case MGT_IDLE:
    sig_mgt_tra_up_break_req();
    sig_mgt_tra_up_send_break_req(break_len);
    break;
  }
}

/*
+------------------------------------------------------------------------------
|  Function    : sig_dn_tra_mgt_break_ind
+------------------------------------------------------------------------------
|  Description : Process signal SIG_DN_MGT_BREAK_IND received from process DN. 
|
|  Parameters  : sa   - 
|                sb
|                flow            
|
|  Return      : 
+------------------------------------------------------------------------------
*/
GLOBAL void sig_dn_tra_mgt_break_ind(U8 sa, U8 sb, U8 flow, USHORT break_len)
{
  TRACE_FUNCTION ("sig_dn_mgt_break_ind()");

  switch (GET_STATE (MGT))
  {
  case MGT_IDLE:
    {
    PALLOC (dti_data_ind, DTI2_DATA_IND);
    dti_data_ind->parameters.st_lines.st_line_sa = sa;
    dti_data_ind->parameters.st_lines.st_line_sb = sb;
    dti_data_ind->parameters.st_lines.st_flow = flow;
    dti_data_ind->desc_list2.first                  = 0;
    dti_data_ind->desc_list2.list_len               = 0;
    dti_data_ind->parameters.st_lines.st_break_len  = break_len;
    dti_data_ind->parameters.p_id                   = DTI_PID_UOS;
    tra_data->dn.Brk_dti_data_ind = dti_data_ind;
    }
    sig_mgt_tra_dn_break_req();
    sig_mgt_tra_up_break_req();
    sig_any_tra_dn_send_break_req();
    break;
  }
}