summaryrefslogtreecommitdiff
path: root/hifi/xaf/hifi-dpf/ipc/xt-shmem/xf-main.c
diff options
context:
space:
mode:
Diffstat (limited to 'hifi/xaf/hifi-dpf/ipc/xt-shmem/xf-main.c')
-rw-r--r--hifi/xaf/hifi-dpf/ipc/xt-shmem/xf-main.c189
1 files changed, 0 insertions, 189 deletions
diff --git a/hifi/xaf/hifi-dpf/ipc/xt-shmem/xf-main.c b/hifi/xaf/hifi-dpf/ipc/xt-shmem/xf-main.c
deleted file mode 100644
index dd52bd27..00000000
--- a/hifi/xaf/hifi-dpf/ipc/xt-shmem/xf-main.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-*
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and
-* not with any other processors and platforms, subject to
-* the following conditions:
-*
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-main.c
- *
- * DSP processing framework main file
- *
- ******************************************************************************/
-
-#define MODULE_TAG MAIN
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-#ifndef XAF_ENABLE_NON_HIKEY
-volatile int waitstate;
-#endif
-
-#ifdef XAF_PROFILE_DSP
-/* ... MCPS/profile info */
-#include "xa_profiler.h"
-#endif
-
-/*******************************************************************************
- * Global data definition
- ******************************************************************************/
-/* ...per-core execution data */
-xf_core_data_t xf_core_data[XF_CFG_CORES_NUM];
-
-/* ...AP-DSP shared memory pool */
-xf_mm_pool_t xf_ap_shmem_pool;
-
-/* ...per-core local memory pool */
-xf_mm_pool_t xf_dsp_local_pool[XF_CFG_CORES_NUM];
-
-#if XF_CFG_CORES_NUM > 1
-/* ...DSP cluster shared memory pool */
-xf_mm_pool_t xf_dsp_shmem_pool;
-#endif
-
-/* ...per-core shared memory with read-only access */
-__xf_core_ro_data_t xf_core_ro_data[XF_CFG_CORES_NUM];
-
-/* ...per-core shared memory with read-write access */
-__xf_core_rw_data_t xf_core_rw_data[XF_CFG_CORES_NUM];
-
-/*******************************************************************************
- * Memory buffers - take them from linker file somehow - tbd
- ******************************************************************************/
-
-/* ...unallocated memory region - AP-DSP shared memory buffer - export from linker somehow */
-//u8 xf_ap_shmem_buffer[XF_CFG_REMOTE_IPC_POOL_SIZE] __xf_shmem__;
-
-#if XF_CFG_CORES_NUM > 1
-/* ...unallocated DSP shared memory buffer */
-u8 xf_dsp_shmem_buffer[XF_CFG_LOCAL_IPC_POOL_SIZE] __xf_shmem__;
-#endif
-
-/* ...unallocated per-core local memory (in 32-byte chunks) */
-#ifdef XAF_ENABLE_NON_HIKEY
-u8 xf_dsp_local_buffer[XF_CFG_CORES_NUM][XF_CFG_LOCAL_POOL_SIZE] __xf_mm__;
-#else
-u8 xf_dsp_local_buffer[XF_CFG_CORES_NUM][XF_CFG_LOCAL_POOL_SIZE];
-//u8 g_tmp[2];
-#endif
-
-#ifdef XAF_PROFILE_DSP
-xa_profiler prof;
-#endif
-
-/*******************************************************************************
- * Timer interrupt - tbd
- ******************************************************************************/
-
-/*******************************************************************************
- * IPC layer initialization
- ******************************************************************************/
-
-/* ...system-specific IPC layer initialization */
-int xf_ipc_init(u32 core)
-{
- xf_core_data_t *cd = XF_CORE_DATA(core);
- xf_shmem_data_t *shmem = (xf_shmem_data_t *)XF_CFG_SHMEM_ADDRESS(core);
-
- /* ...initialize pointer to shared memory */
- cd->shmem = (xf_shmem_handle_t *)shmem;
- shmem->buffer = (uint8_t *) HIFI_MUSIC_DATA_LOCATION;
- /* ...global memory pool initialization */
-#ifdef XAF_ENABLE_NON_HIKEY
- XF_CHK_API(xf_mm_init(&cd->shared_pool, shmem->buffer, XF_CFG_REMOTE_IPC_POOL_SIZE));
-#else
- XF_CHK_API(xf_mm_init(&cd->shared_pool, (void *) HIFI_MUSIC_DATA_LOCATION, XF_CFG_REMOTE_IPC_POOL_SIZE));
-#endif
- return 0;
-}
-
-/*******************************************************************************
- * Core executive loop
- ******************************************************************************/
-
-static void xf_core_loop(u32 core)
-{
- /* ...initialize internal core structures */
- xf_core_init(core);
-
-#ifdef XAF_PROFILE_DSP
-/* Profiler initialization */
- INIT_XA_PROFILER(prof,"DSP core");
-#endif
-
- for(;;)
- {
- /* ...wait in a low-power mode until event is triggered */
- xf_ipi_wait(core);
-
- /* ...service core event */
- xf_core_service(core);
- }
-}
-
-/*******************************************************************************
- * Global entry point
- ******************************************************************************/
-
-int main(void)
-{
-#if XF_CFG_CORES_NUM > 1
- u32 i;
-#endif
-
- /* ...reset ro/rw core data - tbd */
- memset(xf_core_rw_data, 0, sizeof(xf_core_rw_data));
- memset(xf_core_ro_data, 0, sizeof(xf_core_ro_data));
-
- TRACE_INIT("Xtensa Audio DSP Codec Server");
-#ifdef XAF_ENABLE_NON_HIKEY
- /* ...initialize board */
- xf_board_init();
-
- /* ...global framework data initialization */
- xf_global_init();
-#endif
-
-#if XF_CFG_CORES_NUM > 1
- /* ...DSP shared memory pool initialization */
- XF_CHK_API(xf_mm_init(&xf_dsp_shmem_pool, xf_dsp_shmem_buffer, XF_CFG_LOCAL_IPC_POOL_SIZE));
-#endif
-
- /* ...initialize per-core memory loop */
- XF_CHK_API(xf_mm_init(&xf_core_data[0].local_pool, xf_dsp_local_buffer[0], XF_CFG_LOCAL_POOL_SIZE));
-
-#if XF_CFG_CORES_NUM > 1
- /* ...bring up all cores */
- for (i = 1; i < XF_CFG_CORES_NUM; i++)
- {
- /* ...wake-up secondary core somehow and make it execute xf_core_loop */
- xf_core_secondary_startup(i, xf_core_loop, i);
-
- }
-#endif
-
- /* ...enter execution loop on main core #0 */
- xf_core_loop(0);
-
- /* ...not reachable */
- return 0;
-}