aif
u64 aif : 1; /* bit 41 */
val = aif->master_mask;
ret = regmap_update_bits(regmap, aif->ctrl_reg, aif->master_mask, val);
const struct lochnagar_aif *aif = group->priv;
ret = regmap_update_bits(regmap, aif->src_reg, aif->src_mask, op);
ret = regmap_update_bits(regmap, aif->ctrl_reg,
aif->ena_mask, aif->ena_mask);
const struct lochnagar_aif *aif = group->priv;
snd_soc_component_update_bits(component, reg_aif, DA732X_AIF_WORD_MASK, aif);
u32 aif = 0;
aif |= DA732X_AIF_WORD_16;
aif |= DA732X_AIF_WORD_20;
aif |= DA732X_AIF_WORD_24;
aif |= DA732X_AIF_WORD_32;
u16 aif = 0;
aif |= ISABELLE_AIF_LENGTH_20;
aif |= ISABELLE_AIF_LENGTH_32;
ISABELLE_AIF_LENGTH_MASK, aif);
struct aif aifs[TSCS454_DAI_COUNT];
struct aif *aif, unsigned int fmt)
aif->provider = true;
aif->provider = false;
struct aif *aif = &tscs454->aifs[dai->id];
ret = set_aif_provider_from_fmt(component, aif, fmt);
struct aif *aif = &tscs454->aifs[dai->id];
aif->id, fs);
if (!aif_active(&tscs454->aifs_status, aif->id)) {
aif->pll = &tscs454->pll1;
aif->pll = &tscs454->pll2;
aif->pll->id, aif->id);
reserve_pll(aif->pll);
ret = set_aif_fs(component, aif->id, fs);
ret = set_aif_sample_format(component, params_format(params), aif->id);
set_aif_status_active(&tscs454->aifs_status, aif->id,
aif->id, tscs454->aifs_status.streams);
struct aif *aif = &tscs454->aifs[dai->id];
return aif_free(component, aif,
struct aif *aif = &tscs454->aifs[dai->id];
ret = aif_prepare(component, aif);
static inline void aif_init(struct aif *aif, unsigned int id)
aif->id = id;
int aif_prepare(struct snd_soc_component *component, struct aif *aif)
ret = aif_set_provider(component, aif->id, aif->provider);
struct aif *aif, bool playback)
dev_dbg(component->dev, "%s(): aif %d\n", __func__, aif->id);
set_aif_status_inactive(&tscs454->aifs_status, aif->id, playback);
aif->id, tscs454->aifs_status.streams);
if (!aif_active(&tscs454->aifs_status, aif->id)) {
aif_set_provider(component, aif->id, false);
aif->pll->id, aif->id);
free_pll(aif->pll);
u16 aif = 0;
aif |= WM8955_MS;
aif |= WM8955_LRP;
aif |= 0x3;
aif |= 0x2;
aif |= 0x1;
aif |= WM8955_BCLKINV;
aif |= WM8955_BCLKINV | WM8955_LRP;
aif |= WM8955_BCLKINV;
aif |= WM8955_LRP;
WM8955_LRP, aif);
int ena, reg, aif;
aif = 0;
aif = 0;
aif = 1;
aif << WM8958_DSP2CLK_SRC_SHIFT |
static int wm8958_dsp2_busy(struct wm8994_priv *wm8994, int aif)
if (i == aif)
u16 aif = snd_soc_component_read(component, WM8961_AUDIO_INTERFACE_0);
aif &= ~(WM8961_BCLKINV | WM8961_LRP |
aif |= WM8961_MS;
aif |= 1;
aif |= 2;
aif |= WM8961_LRP;
aif |= 3;
aif |= WM8961_LRP;
aif |= WM8961_BCLKINV;
aif |= WM8961_BCLKINV | WM8961_LRP;
return snd_soc_component_write(component, WM8961_AUDIO_INTERFACE_0, aif);
static int aif_mclk_set(struct snd_soc_component *component, int aif, bool enable)
if (aif)
static int configure_aif_clock(struct snd_soc_component *component, int aif)
if (aif)
switch (wm8994->sysclk[aif]) {
aif + 1, rate);
wm8994->aifclk[aif] = rate;
int aif;
aif = 0;
aif |= WM8995_AIF1_LRCLK_INV;
aif |= (0x3 << WM8995_AIF1_FMT_SHIFT);
aif |= (0x2 << WM8995_AIF1_FMT_SHIFT);
aif |= (0x1 << WM8995_AIF1_FMT_SHIFT);
aif |= WM8995_AIF1_BCLK_INV;
aif |= WM8995_AIF1_BCLK_INV | WM8995_AIF1_LRCLK_INV;
aif |= WM8995_AIF1_BCLK_INV;
aif |= WM8995_AIF1_LRCLK_INV;
WM8995_AIF1_FMT_MASK, aif);
static int configure_aif_clock(struct snd_soc_component *component, int aif)
if (aif)
switch (wm8995->sysclk[aif]) {
aif + 1, rate);
wm8995->aifclk[aif] = rate;
int aif, best, cur_val, bclk_rate, bclk_reg, i;
for (aif = 0; aif < WM8996_AIFS; aif++) {
switch (aif) {
bclk_rate = wm8996->bclk_rate[aif];
int i, aif;
aif = 2;
aif = 1;
map_name[BYT_RT5640_MAP(byt_rt5640_quirk)], aif,
struct sun8i_codec_aif *aif = &scodec->aifs[i];
if (aif->active_streams)
max_rate = max(max_rate, aif->sample_rate);
struct sun8i_codec_aif *aif = &scodec->aifs[dai->id];
aif->slots = slots;
aif->slot_width = slot_width;
struct sun8i_codec_aif *aif = &scodec->aifs[dai->id];
unsigned int slots = aif->slots ?: params_channels(params);
unsigned int slot_width = aif->slot_width ?: params_width(params);
ret = (aif->open_streams ? clk_set_rate : clk_set_rate_exclusive)(scodec->clk_module,
if (!aif->open_streams)
aif->lrck_div_order = lrck_div_order;
aif->sample_rate = sample_rate;
aif->open_streams |= BIT(substream->stream);
struct sun8i_codec_aif *aif = &scodec->aifs[dai->id];
if (aif->open_streams != BIT(substream->stream))
aif->lrck_div_order = 0;
aif->sample_rate = 0;
aif->open_streams &= ~BIT(substream->stream);
struct sun8i_codec_aif *aif = &scodec->aifs[w->sname[3] - '1'];
aif->active_streams |= BIT(stream);
aif->active_streams &= ~BIT(stream);