linux/sound/soc/intel/atom/sst-mfld-platform.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  sst_mfld_platform.h - Intel MID Platform driver header file
 *
 *  Copyright (C) 2010 Intel Corp
 *  Author: Vinod Koul <[email protected]>
 *  Author: Harsha Priya <[email protected]>
 *  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

#ifndef __SST_PLATFORMDRV_H__
#define __SST_PLATFORMDRV_H__

#include "sst-mfld-dsp.h"
#include "sst-atom-controls.h"

extern struct sst_device *sst;
extern const struct snd_compress_ops sst_platform_compress_ops;

#define DRV_NAME

#define SST_MONO
#define SST_STEREO
#define SST_MAX_CAP

#define SST_MAX_BUFFER
#define SST_MIN_BUFFER
#define SST_MIN_PERIOD_BYTES
#define SST_MAX_PERIOD_BYTES
#define SST_MIN_PERIODS
#define SST_MAX_PERIODS
#define SST_FIFO_SIZE

struct pcm_stream_info {};

enum sst_drv_status {};

enum sst_stream_ops {};

enum sst_audio_device_type {};

/* PCM Parameters */
struct sst_pcm_params {};

struct sst_stream_params {};

struct sst_compress_cb {};

struct compress_sst_ops {};

struct sst_ops {};

struct sst_runtime_stream {};

struct sst_device {};

struct sst_data;

int sst_dsp_init_v2_dpcm(struct snd_soc_component *component);
int sst_send_pipe_gains(struct snd_soc_dai *dai, int stream, int mute);
int send_ssp_cmd(struct snd_soc_dai *dai, const char *id, bool enable);
int sst_handle_vb_timer(struct snd_soc_dai *dai, bool enable);

void sst_set_stream_status(struct sst_runtime_stream *stream, int state);
int sst_fill_stream_params(void *substream, const struct sst_data *ctx,
			   struct snd_sst_params *str_params, bool is_compress);

struct sst_algo_int_control_v2 {};
struct sst_data {};
int sst_register_dsp(struct sst_device *dev);
int sst_unregister_dsp(struct sst_device *dev);
#endif