forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathipc.c
More file actions
57 lines (45 loc) · 1.32 KB
/
ipc.c
File metadata and controls
57 lines (45 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright(c) 2018 Intel Corporation. All rights reserved.
//
// Author: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
// Liam Girdwood <liam.r.girdwood@linux.intel.com>
// Keyon Jie <yang.jie@linux.intel.com>
// Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
#include <rtos/alloc.h>
#include <sof/ipc/driver.h>
#include <stdlib.h>
/* testbench ipc */
struct ipc *_ipc;
/* private data for IPC */
struct ipc_data {
struct ipc_data_host_buffer dh_buffer;
};
int ipc_platform_compact_write_msg(struct ipc_cmd_hdr *hdr, int words)
{
return 0; /* number of words read - not currently used on this platform */
}
int ipc_platform_compact_read_msg(struct ipc_cmd_hdr *hdr, int words)
{
return 0; /* number of words read - not currently used on this platform */
}
enum task_state ipc_platform_do_cmd(struct ipc *ipc)
{
return SOF_TASK_STATE_COMPLETED;
}
void ipc_platform_complete_cmd(struct ipc *ipc)
{
}
int platform_ipc_init(struct ipc *ipc)
{
struct ipc_data *iipc;
_ipc = ipc;
/* init ipc data */
iipc = malloc(sizeof(struct ipc_data));
ipc_set_drvdata(_ipc, iipc);
/* allocate page table buffer */
iipc->dh_buffer.page_table = malloc(HOST_PAGE_SIZE);
if (iipc->dh_buffer.page_table)
bzero(iipc->dh_buffer.page_table, HOST_PAGE_SIZE);
return 0;
}