Lines Matching +full:data +full:- +full:rate
4 * SPDX-License-Identifier: Apache-2.0
25 /* global data shared between all alh instances */
34 if (config->channels && config->rate) { in dai_alh_set_config_tplg()
35 alh->params.channels = config->channels; in dai_alh_set_config_tplg()
36 alh->params.rate = config->rate; in dai_alh_set_config_tplg()
37 LOG_INF("%s channels %d rate %d", __func__, config->channels, config->rate); in dai_alh_set_config_tplg()
40 alh->params.stream_id = config->stream_id; in dai_alh_set_config_tplg()
50 const struct ipc4_alh_multi_gtw_cfg *alh_cfg = &blob->alh_cfg; in dai_alh_set_config_blob()
52 alh->params.rate = cfg->rate; in dai_alh_set_config_blob()
54 for (int i = 0; i < alh_cfg->count; i++) { in dai_alh_set_config_blob()
56 int alh_id = alh_cfg->mapping[i].alh_id & 0xff; in dai_alh_set_config_blob()
58 if (IPC4_ALH_DAI_INDEX(alh_id) == dp->index) { in dai_alh_set_config_blob()
59 alh->params.stream_id = alh_id; in dai_alh_set_config_blob()
60 alh->params.channels = POPCOUNT(alh_cfg->mapping[i].channel_mask); in dai_alh_set_config_blob()
109 struct dai_config *params = (struct dai_config *)dev->config; in dai_alh_config_get()
110 struct dai_intel_alh *dp = (struct dai_intel_alh *)dev->data; in dai_alh_config_get()
114 return -EINVAL; in dai_alh_config_get()
117 params->rate = alh->params.rate; in dai_alh_config_get()
118 params->channels = alh->params.channels; in dai_alh_config_get()
119 params->word_size = ALH_WORD_SIZE_DEFAULT; in dai_alh_config_get()
129 struct dai_intel_alh *dp = (struct dai_intel_alh *)dev->data; in dai_alh_config_set()
133 if (cfg->type == DAI_INTEL_ALH) { in dai_alh_config_set()
143 struct dai_intel_alh *dp = (struct dai_intel_alh *)dev->data; in dai_alh_get_properties()
145 struct dai_properties *prop = &alh->props; in dai_alh_get_properties()
149 prop->fifo_address = dai_base(dp) + offset + ALH_STREAM_OFFSET * stream_id; in dai_alh_get_properties()
150 prop->fifo_depth = ALH_GPDMA_BURST_LENGTH; in dai_alh_get_properties()
151 prop->dma_hs_id = alh_handshake_map[stream_id]; in dai_alh_get_properties()
152 prop->stream_id = alh->params.stream_id; in dai_alh_get_properties()
154 LOG_DBG("dai_index %u", dp->index); in dai_alh_get_properties()
155 LOG_DBG("fifo %u", prop->fifo_address); in dai_alh_get_properties()
156 LOG_DBG("handshake %u", prop->dma_hs_id); in dai_alh_get_properties()
188 if (--dai_alh_global.sref == 0) { in dai_alh_remove()