#include <linux/acpi.h>
#include <linux/cleanup.h>
#include <linux/device.h>
#include <linux/soundwire/sdw_registers.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_intel.h>
#include <sound/hdaudio.h>
#include <sound/hda-mlink.h>
#include <sound/hda_register.h>
#include <sound/pcm_params.h>
#include "cadence_master.h"
#include "bus.h"
#include "intel.h"
static void intel_shim_vs_init(struct sdw_intel *sdw)
{ … }
static void intel_shim_vs_set_clock_source(struct sdw_intel *sdw, u32 source)
{ … }
static int intel_shim_check_wake(struct sdw_intel *sdw)
{ … }
static void intel_shim_wake(struct sdw_intel *sdw, bool wake_enable)
{ … }
static int intel_link_power_up(struct sdw_intel *sdw)
{ … }
static int intel_link_power_down(struct sdw_intel *sdw)
{ … }
static void intel_sync_arm(struct sdw_intel *sdw)
{ … }
static int intel_sync_go_unlocked(struct sdw_intel *sdw)
{ … }
static int intel_sync_go(struct sdw_intel *sdw)
{ … }
static bool intel_check_cmdsync_unlocked(struct sdw_intel *sdw)
{ … }
static int intel_params_stream(struct sdw_intel *sdw,
struct snd_pcm_substream *substream,
struct snd_soc_dai *dai,
struct snd_pcm_hw_params *hw_params,
int link_id, int alh_stream_id)
{ … }
static int intel_free_stream(struct sdw_intel *sdw,
struct snd_pcm_substream *substream,
struct snd_soc_dai *dai,
int link_id)
{ … }
static int intel_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{ … }
static int intel_prepare(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int
intel_hw_free(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
{ … }
static int intel_pcm_set_sdw_stream(struct snd_soc_dai *dai,
void *stream, int direction)
{ … }
static void *intel_get_sdw_stream(struct snd_soc_dai *dai,
int direction)
{ … }
static int intel_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_dai *dai)
{ … }
static const struct snd_soc_dai_ops intel_pcm_dai_ops = …;
static const struct snd_soc_component_driver dai_component = …;
static void intel_pdi_init(struct sdw_intel *sdw,
struct sdw_cdns_stream_config *config)
{ … }
static int
intel_pdi_get_ch_cap(struct sdw_intel *sdw, unsigned int pdi_num)
{ … }
static void intel_pdi_get_ch_update(struct sdw_intel *sdw,
struct sdw_cdns_pdi *pdi,
unsigned int num_pdi,
unsigned int *num_ch)
{ … }
static void intel_pdi_stream_ch_update(struct sdw_intel *sdw,
struct sdw_cdns_streams *stream)
{ … }
static int intel_create_dai(struct sdw_cdns *cdns,
struct snd_soc_dai_driver *dais,
enum intel_pdi_type type,
u32 num, u32 off, u32 max_ch)
{ … }
static int intel_register_dai(struct sdw_intel *sdw)
{ … }
static void intel_program_sdi(struct sdw_intel *sdw, int dev_num)
{ … }
static int intel_get_link_count(struct sdw_intel *sdw)
{ … }
const struct sdw_intel_hw_ops sdw_intel_lnl_hw_ops = …;
EXPORT_SYMBOL_NS(…);
MODULE_IMPORT_NS(…);