FreeCalypso > hg > fc-tourmaline
diff src/g23m-fad/l2r/tra_ups.c @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:25:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/g23m-fad/l2r/tra_ups.c Fri Oct 16 06:25:50 2020 +0000 @@ -0,0 +1,205 @@ +/* ++----------------------------------------------------------------------------- +| Project : CSD (8411) +| Modul : L2r_ups.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 +| L2R of the base station ++----------------------------------------------------------------------------- +*/ + + +#ifndef TRA_UPS_C +#define TRA_UPS_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_mgt_tra_up_dti_conn_setup ++------------------------------------------------------------------------------------- +| Description : Process signal SIG_MGT_UL_CONNECT received from process management. +| +| Parameters : - +| +| Return : - ++------------------------------------------------------------------------------------- +*/ +GLOBAL void sig_mgt_tra_up_dti_conn_setup () +{ + TRACE_FUNCTION ("sig_mgt_tra_up_dti_conn_setup()"); + + switch (GET_STATE (UP)) + { + case UP_INACTIVE: + ul_init(&tra_data->up); + break; + } +} + + +/* ++------------------------------------------------------------------------------------- +| Function : sig_mgt_tra_up_dti_conn_open ++------------------------------------------------------------------------------------- +| Description : Process signal SIG_MGT_UL_CONNECT received from process management. +| +| Parameters : - +| +| Return : - ++------------------------------------------------------------------------------------- +*/ +GLOBAL void sig_mgt_tra_up_dti_conn_open () +{ + TRACE_FUNCTION ("sig_mgt_tra_up_dti_conn_open()"); + + switch (GET_STATE (UP)) + { + case UP_INACTIVE: + /* changed from _IDLE, + * for not having to wait for RA_READY_IND + */ + SET_STATE (UP, UP_WAIT); + up_start_dti_flow(); + break; + } +} + + +/* ++------------------------------------------------------------------------------ +| Function : sig_mgt_tra_up_dti_disc ++------------------------------------------------------------------------------ +| Description : Process signal SIG_MGT_UL_DISC received from +| process management. +| +| Parameters : - +| +| +| Return : - ++------------------------------------------------------------------------------ +*/ + + +GLOBAL void sig_mgt_tra_up_dti_disc(void) +{ + TRACE_FUNCTION ("sig_mgt_tra_up_dti_disc()"); + + if (tra_data->up.Prim NEQ NULL) /* free allocated prims and their lists */ + { + PFREE_DESC2(tra_data->up.Prim) + tra_data->up.Prim = NULL; + } + + SET_STATE (UP, UP_INACTIVE); +} + + +/* ++------------------------------------------------------------------------------ +| Function : sig_mgt_tra_up_sendbreak_req ++------------------------------------------------------------------------------ +| Description : Process signal SIG_MGT_UP_SEND_BREAK_REQ +| received from process management. +| +| Parameters : - +| +| Return : - ++------------------------------------------------------------------------------ +*/ +GLOBAL void sig_mgt_tra_up_send_break_req(USHORT break_len) +{ + TRACE_FUNCTION ("sig_mgt_tra_up_send_break_req()"); + + /* xxxxx correct location? Lock ringbuffer! */ + + snd_break_to_RA(break_len); +} + + +/* ++------------------------------------------------------------------------------ +| Function : sig_mgt_tra_up_break_req ++------------------------------------------------------------------------------ +| Description : Process signal SIG_MGT_UP_BREAK_REQ received from process management. +| +| Parameters : - +| +| Return : - ++------------------------------------------------------------------------------ +*/ + +GLOBAL void sig_mgt_tra_up_break_req(void) +{ + T_TRA_UP *dul = &tra_data->up; + + TRACE_FUNCTION ("sig_mgt_tra_up_break_req()"); + + switch (GET_STATE (UP)) + { + case UP_SEND: + SET_STATE (UP, UP_IDLE); + /* Fall through */ + + case UP_IDLE: + case UP_WAIT: + /* + * Reset + */ + dul->sa = FL_INACTIVE; + dul->sb = FL_INACTIVE; + dul->x = FL_INACTIVE; + dul->List_off = 0; + + if (dul->Prim NEQ NULL) /* free allocated prims and their lists */ + { + PFREE_DESC2(dul->Prim) + dul->Prim = NULL; + } + break; + } +} + +