Sound Open Firmware
Loading...
Searching...
No Matches
driver.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2016 Intel Corporation. All rights reserved.
4 *
5 * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
6 * Keyon Jie <yang.jie@linux.intel.com>
7 */
8
9#ifndef __SOF_IPC_DRIVER_H__
10#define __SOF_IPC_DRIVER_H__
11
12#include <sof/platform.h>
13#include <rtos/sof.h>
14#include <sof/ipc/common.h>
15#include <rtos/task.h>
16#include <stdbool.h>
17#include <stdint.h>
18
19struct ipc_msg;
20
36
42
47
53int ipc_platform_send_msg(const struct ipc_msg *msg);
54
59void ipc_platform_send_msg_direct(const struct ipc_msg *msg);
60
69
76int ipc_platform_compact_read_msg(struct ipc_cmd_hdr *hdr, int words);
77
84int ipc_platform_compact_write_msg(struct ipc_cmd_hdr *hdr, int words);
85
91
96
102
108
114
119
120#endif
int ipc_platform_poll_tx_host_msg(struct ipc_msg *msg)
Transmit new message to host.
int ipc_platform_poll_is_cmd_pending(void)
Check whether there is a new IPC command from host.
void ipc_platform_poll_set_cmd_done(void)
Tell host DSP has completed command.
void ipc_platform_wait_ack(struct ipc *ipc)
wait for host acknowledgment to an IPC message
int ipc_platform_compact_write_msg(struct ipc_cmd_hdr *hdr, int words)
Write a compact IPC message to hardware.
void ipc_platform_send_msg_direct(const struct ipc_msg *msg)
Send IPC message to host direct without inserting in msg_list.
void ipc_platform_complete_cmd(struct ipc *ipc)
Tell host we have completed the last IPC command.
struct ipc_data_host_buffer * ipc_platform_get_host_buffer(struct ipc *ipc)
Retrieves the ipc_data_host_buffer allocated by the platform ipc.
int ipc_platform_poll_init(void)
Initialise IPC hardware for polling mode.
int ipc_platform_poll_is_host_ready(void)
Check whether host is ready for new IPC from DSP.
int ipc_platform_compact_read_msg(struct ipc_cmd_hdr *hdr, int words)
Read a compact IPC message from hardware.
int ipc_platform_send_msg(const struct ipc_msg *msg)
Send IPC message to host.
enum task_state ipc_platform_do_cmd(struct ipc *ipc)
Perform IPC command from host.
int platform_ipc_init(struct ipc *ipc)
Provides platform specific IPC initialization.
Platform API definition.
Data provided by the platform which use ipc...page_descriptors().
Definition common.h:173
Definition msg.h:33
Definition common.h:90
task_state
Task states.
Definition task.h:36