#include <linux/slab.h>
#include "core.h"
#include "messages.h"
#include "registers.h"
int catpt_ipc_get_fw_version(struct catpt_dev *cdev,
struct catpt_fw_version *version)
{ … }
struct catpt_alloc_stream_input { … } __packed;
int catpt_ipc_alloc_stream(struct catpt_dev *cdev,
enum catpt_path_id path_id,
enum catpt_stream_type type,
struct catpt_audio_format *afmt,
struct catpt_ring_info *rinfo,
u8 num_modules,
struct catpt_module_entry *modules,
struct resource *persistent,
struct resource *scratch,
struct catpt_stream_info *sinfo)
{ … }
int catpt_ipc_free_stream(struct catpt_dev *cdev, u8 stream_hw_id)
{ … }
int catpt_ipc_set_device_format(struct catpt_dev *cdev,
struct catpt_ssp_device_format *devfmt)
{ … }
int catpt_ipc_enter_dxstate(struct catpt_dev *cdev, enum catpt_dx_state state,
struct catpt_dx_context *context)
{ … }
int catpt_ipc_get_mixer_stream_info(struct catpt_dev *cdev,
struct catpt_mixer_stream_info *info)
{ … }
int catpt_ipc_reset_stream(struct catpt_dev *cdev, u8 stream_hw_id)
{ … }
int catpt_ipc_pause_stream(struct catpt_dev *cdev, u8 stream_hw_id)
{ … }
int catpt_ipc_resume_stream(struct catpt_dev *cdev, u8 stream_hw_id)
{ … }
struct catpt_set_volume_input { … } __packed;
int catpt_ipc_set_volume(struct catpt_dev *cdev, u8 stream_hw_id,
u32 channel, u32 volume,
u32 curve_duration,
enum catpt_audio_curve_type curve_type)
{ … }
struct catpt_set_write_pos_input { … } __packed;
int catpt_ipc_set_write_pos(struct catpt_dev *cdev, u8 stream_hw_id,
u32 pos, bool eob, bool ll)
{ … }
int catpt_ipc_mute_loopback(struct catpt_dev *cdev, u8 stream_hw_id, bool mute)
{ … }