linux/sound/soc/intel/common/sst-ipc.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Intel SST generic IPC Support
 *
 * Copyright (C) 2015, Intel Corporation
 */

#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/wait.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/workqueue.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <sound/asound.h>

#include "sst-dsp.h"
#include "sst-dsp-priv.h"
#include "sst-ipc.h"

/* IPC message timeout (msecs) */
#define IPC_TIMEOUT_MSECS

#define IPC_EMPTY_LIST_SIZE

/* locks held by caller */
static struct ipc_message *msg_get_empty(struct sst_generic_ipc *ipc)
{}

static int tx_wait_done(struct sst_generic_ipc *ipc,
	struct ipc_message *msg, struct sst_ipc_message *reply)
{}

static int ipc_tx_message(struct sst_generic_ipc *ipc,
	struct sst_ipc_message request,
	struct sst_ipc_message *reply, int wait)
{}

static int msg_empty_list_init(struct sst_generic_ipc *ipc)
{}

static void ipc_tx_msgs(struct work_struct *work)
{}

int sst_ipc_tx_message_wait(struct sst_generic_ipc *ipc,
	struct sst_ipc_message request, struct sst_ipc_message *reply)
{}
EXPORT_SYMBOL_GPL();

int sst_ipc_tx_message_nowait(struct sst_generic_ipc *ipc,
	struct sst_ipc_message request)
{}
EXPORT_SYMBOL_GPL();

int sst_ipc_tx_message_nopm(struct sst_generic_ipc *ipc,
	struct sst_ipc_message request, struct sst_ipc_message *reply)
{}
EXPORT_SYMBOL_GPL();

struct ipc_message *sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc,
	u64 header)
{}
EXPORT_SYMBOL_GPL();

/* locks held by caller */
void sst_ipc_tx_msg_reply_complete(struct sst_generic_ipc *ipc,
	struct ipc_message *msg)
{}
EXPORT_SYMBOL_GPL();

int sst_ipc_init(struct sst_generic_ipc *ipc)
{}
EXPORT_SYMBOL_GPL();

void sst_ipc_fini(struct sst_generic_ipc *ipc)
{}
EXPORT_SYMBOL_GPL();

/* Module information */
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();