view src/gpf/ccd/ccddata_ccdptab.c @ 304:58c7961bd0b0 default tip

TCH tap: extend DL sniffing feature to support CSD modes Our debug feature for TCH DL sniffing reads the content of the DSP's a_dd_0 buffer (or a_dd_1 for TCH/H subchannel 1) at appropriate times and forwards captured bits to the host. This feature was originally implemented for TCH/FS, TCH/EFS and TCH/HS - now extend it to cover TCH/F data modes too.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 25 Nov 2024 23:33:27 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/* 
+----------------------------------------------------------------------------- 
|  Project :  
|  Modul   : ccddata_ccdptab.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 :  Ccddata abstraction for use in lib/dll. The four tables
|             pvar, pcomp, pelem, and pmtx, genereraed by ccdgen
|             (in ccdptab.cdg) are supplied. In addition, corresponding
|             functions deliver specified elements of the tables. For
|             pmtx the function must be used, because this three-dimesional
|             array cannot be declared as extern without knowing the constants
|             at compile time.
+----------------------------------------------------------------------------- 
*/ 

#include "typedefs.h"
#include "pconst.cdg"
#include "ccdtable.h"

static const T_CCD_VarTabEntry   ccddata_pvar  [] =
{
#include "pvar.cdg"
};

static const T_CCD_CompTabEntry  ccddata_pcomp [] =
{
#include "pcomp.cdg"
};

static const T_CCD_ElemTabEntry  ccddata_pelem [] =
{
#include "pelem.cdg"
};

static const USHORT ccddata_pmtx [MAX_PMTX_SIZE] =
{
#include "pmtxval.cdg"
};

const T_CCD_MTXIDX  ccddata_pmtx_idx [] =
{
#include "pmtxidx.cdg"
};

const T_CCD_VarTabEntry* ccddata_get_pvar (USHORT idx)
{
  return &ccddata_pvar[idx];
}

const T_CCD_CompTabEntry* ccddata_get_pcomp (USHORT idx)
{
  return &ccddata_pcomp[idx];
}

const T_CCD_ElemTabEntry* ccddata_get_pelem (USHORT idx)
{
  return &ccddata_pelem[idx];
}

USHORT ccddata_get_pmtx (USHORT sap, USHORT primid, USHORT index)
{
  if ((sap > MAX_SAP_NUM) || (primid >= ccddata_pmtx_idx[sap].numitems))
    return NO_REF;
  return ccddata_pmtx[2*(ccddata_pmtx_idx[sap].idx + primid) + index];
}