Lines Matching refs:params

865 	pcmsycm = pcmsycm | (dp->ssp_plat_data->params.tdm_slots - 1) << 4;  in dai_ssp_program_channel_map()
1002 uint64_t sample_ticks = ssp_plat_data->params.fsync_rate ? in ssp_empty_rx_fifo_on_stop()
1003 1000000 / ssp_plat_data->params.fsync_rate : 0; in ssp_empty_rx_fifo_on_stop()
1080 uint64_t sample_ticks = ssp_plat_data->params.fsync_rate ? in ssp_empty_rx_fifo_on_stop()
1081 1000000 / ssp_plat_data->params.fsync_rate : 0; in ssp_empty_rx_fifo_on_stop()
1132 ret = dai_ssp_mn_set_mclk(dp, ssp_plat_data->params.mclk_id, in dai_ssp_mclk_prepare_enable()
1133 ssp_plat_data->params.mclk_rate); in dai_ssp_mclk_prepare_enable()
1135 LOG_ERR("invalid mclk_rate = %d for mclk_id = %d", ssp_plat_data->params.mclk_rate, in dai_ssp_mclk_prepare_enable()
1136 ssp_plat_data->params.mclk_id); in dai_ssp_mclk_prepare_enable()
1152 dai_ssp_mn_release_mclk(dp, ssp_plat_data->params.mclk_id); in dai_ssp_mclk_disable_unprepare()
1176 ret = dai_ssp_mn_set_bclk(dp, dp->dai_index, ssp_plat_data->params.bclk_rate, in dai_ssp_bclk_prepare_enable()
1180 ssp_plat_data->params.bclk_rate, dp->dai_index); in dai_ssp_bclk_prepare_enable()
1184 if (ft[DAI_INTEL_SSP_DEFAULT_IDX].freq % ssp_plat_data->params.bclk_rate != 0) { in dai_ssp_bclk_prepare_enable()
1186 ssp_plat_data->params.bclk_rate, dp->dai_index); in dai_ssp_bclk_prepare_enable()
1191 mdiv = ft[DAI_INTEL_SSP_DEFAULT_IDX].freq / ssp_plat_data->params.bclk_rate; in dai_ssp_bclk_prepare_enable()
1296 if (!memcmp(&ssp_plat_data->params, bespoke_cfg, in dai_ssp_set_config_tplg()
1334 memcpy(&ssp_plat_data->params, bespoke_cfg, sizeof(struct dai_intel_ipc3_ssp_params)); in dai_ssp_set_config_tplg()
1346 sstsa = SSTSA_SSTSA(ssp_plat_data->params.tx_slots); in dai_ssp_set_config_tplg()
1349 ssrsa = SSRSA_SSRSA(ssp_plat_data->params.rx_slots); in dai_ssp_set_config_tplg()
1396 if (ssp_plat_data->params.clks_control & DAI_INTEL_IPC3_SSP_CLKCTRL_BCLK_IDLE_HIGH) { in dai_ssp_set_config_tplg()
1409 sscr1 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_TINTE) ? in dai_ssp_set_config_tplg()
1413 sscr1 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_PINTE) ? in dai_ssp_set_config_tplg()
1419 sscr1 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_LBM) ? in dai_ssp_set_config_tplg()
1422 if (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_LBM) { in dai_ssp_set_config_tplg()
1431 sscr2 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_SMTATF) ? in dai_ssp_set_config_tplg()
1437 sscr2 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_MMRATF) ? in dai_ssp_set_config_tplg()
1443 sscr2 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_PSPSTWFDFD) ? in dai_ssp_set_config_tplg()
1449 sscr2 |= (ssp_plat_data->params.quirks & DAI_INTEL_IPC3_SSP_QUIRK_PSPSRWFDFD) ? in dai_ssp_set_config_tplg()
1452 if (!ssp_plat_data->params.mclk_rate || in dai_ssp_set_config_tplg()
1453 ssp_plat_data->params.mclk_rate > ft[DAI_INTEL_SSP_MAX_FREQ_INDEX].freq) { in dai_ssp_set_config_tplg()
1454 LOG_ERR("invalid MCLK = %d Hz (valid < %d)", ssp_plat_data->params.mclk_rate, in dai_ssp_set_config_tplg()
1460 if (!ssp_plat_data->params.bclk_rate || in dai_ssp_set_config_tplg()
1461 ssp_plat_data->params.bclk_rate > ssp_plat_data->params.mclk_rate) { in dai_ssp_set_config_tplg()
1462 LOG_ERR("BCLK %d Hz = 0 or > MCLK %d Hz", ssp_plat_data->params.bclk_rate, in dai_ssp_set_config_tplg()
1463 ssp_plat_data->params.mclk_rate); in dai_ssp_set_config_tplg()
1469 if (ssp_plat_data->params.bclk_rate % ssp_plat_data->params.fsync_rate) { in dai_ssp_set_config_tplg()
1470 LOG_ERR("BCLK %d is not divisible by rate %d", ssp_plat_data->params.bclk_rate, in dai_ssp_set_config_tplg()
1471 ssp_plat_data->params.fsync_rate); in dai_ssp_set_config_tplg()
1477 bdiv = ssp_plat_data->params.bclk_rate / ssp_plat_data->params.fsync_rate; in dai_ssp_set_config_tplg()
1478 if (bdiv < ssp_plat_data->params.tdm_slot_width * ssp_plat_data->params.tdm_slots) { in dai_ssp_set_config_tplg()
1480 ssp_plat_data->params.tdm_slot_width * ssp_plat_data->params.tdm_slots); in dai_ssp_set_config_tplg()
1486 if (ssp_plat_data->params.tdm_slot_width > 38) { in dai_ssp_set_config_tplg()
1487 LOG_ERR("tdm_slot_width %d > 38", ssp_plat_data->params.tdm_slot_width); in dai_ssp_set_config_tplg()
1492 bdiv_min = ssp_plat_data->params.tdm_slots * in dai_ssp_set_config_tplg()
1493 (ssp_plat_data->params.tdm_per_slot_padding_flag ? in dai_ssp_set_config_tplg()
1494 ssp_plat_data->params.tdm_slot_width : ssp_plat_data->params.sample_valid_bits); in dai_ssp_set_config_tplg()
1514 sscr0 |= SSCR0_FRDC(ssp_plat_data->params.tdm_slots); in dai_ssp_set_config_tplg()
1562 sscr0 |= SSCR0_FRDC(ssp_plat_data->params.tdm_slots); in dai_ssp_set_config_tplg()
1618 sscr0 |= SSCR0_MOD | SSCR0_FRDC(ssp_plat_data->params.tdm_slots); in dai_ssp_set_config_tplg()
1623 if (cfs && ssp_plat_data->params.frame_pulse_width > 0 && in dai_ssp_set_config_tplg()
1624 ssp_plat_data->params.frame_pulse_width <= in dai_ssp_set_config_tplg()
1626 frame_len = ssp_plat_data->params.frame_pulse_width; in dai_ssp_set_config_tplg()
1630 if (ssp_plat_data->params.frame_pulse_width > in dai_ssp_set_config_tplg()
1644 active_tx_slots = POPCOUNT(ssp_plat_data->params.tx_slots); in dai_ssp_set_config_tplg()
1645 active_rx_slots = POPCOUNT(ssp_plat_data->params.rx_slots); in dai_ssp_set_config_tplg()
1652 if (ssp_plat_data->params.tdm_per_slot_padding_flag) { in dai_ssp_set_config_tplg()
1653 frame_end_padding = bdiv - ssp_plat_data->params.tdm_slots * in dai_ssp_set_config_tplg()
1654 ssp_plat_data->params.tdm_slot_width; in dai_ssp_set_config_tplg()
1656 slot_end_padding = ssp_plat_data->params.tdm_slot_width - in dai_ssp_set_config_tplg()
1657 ssp_plat_data->params.sample_valid_bits; in dai_ssp_set_config_tplg()
1687 data_size = ssp_plat_data->params.sample_valid_bits; in dai_ssp_set_config_tplg()
1696 switch (ssp_plat_data->params.sample_valid_bits) { in dai_ssp_set_config_tplg()
1707 LOG_ERR("sample_valid_bits %d", ssp_plat_data->params.sample_valid_bits); in dai_ssp_set_config_tplg()
1754 if (ssp_plat_data->params.clks_control & DAI_INTEL_IPC3_SSP_CLKCTRL_MCLK_ES) { in dai_ssp_set_config_tplg()
1766 if (ssp_plat_data->params.clks_control & DAI_INTEL_IPC3_SSP_CLKCTRL_BCLK_ES) { in dai_ssp_set_config_tplg()
1807 if (ssp_plat_data->params.clks_control & DAI_INTEL_IPC3_SSP_CLKCTRL_BCLK_ES) { in dai_ssp_set_config_tplg()
1827 if (ssp_plat_data->params.clks_control & DAI_INTEL_IPC3_SSP_CLKCTRL_MCLK_ES) { in dai_ssp_set_config_tplg()
2111 ssp_plat_data->params.sample_valid_bits = SSCR0_DSIZE_GET(ssc0); in dai_ssp_set_reg_config()
2113 ssp_plat_data->params.sample_valid_bits += 16; in dai_ssp_set_reg_config()
2116 ssp_plat_data->params.tx_slots = regs->ssmodytsa[dp->tdm_slot_group]; in dai_ssp_set_reg_config()
2117 ssp_plat_data->params.rx_slots = regs->ssmidytsa[dp->tdm_slot_group]; in dai_ssp_set_reg_config()
2119 ssp_plat_data->params.fsync_rate = cfg->rate; in dai_ssp_set_reg_config()
2169 ssp_plat_data->params.sample_valid_bits = SSCR0_DSIZE_GET(ssc0); in dai_ssp_set_reg_config()
2171 ssp_plat_data->params.sample_valid_bits += 16; in dai_ssp_set_reg_config()
2174 ssp_plat_data->params.tdm_slots = SSCR0_FRDC_GET(ssc0); in dai_ssp_set_reg_config()
2175 ssp_plat_data->params.tx_slots = SSTSA_GET(sstsa); in dai_ssp_set_reg_config()
2176 ssp_plat_data->params.rx_slots = SSRSA_GET(ssrsa); in dai_ssp_set_reg_config()
2177 ssp_plat_data->params.fsync_rate = cfg->rate; in dai_ssp_set_reg_config()
2476 struct dai_config *params = (struct dai_config *)dev->config; in dai_ssp_config_get() local
2486 *cfg = *params; in dai_ssp_config_get()
2490 params->rate = ssp_plat_data->params.fsync_rate; in dai_ssp_config_get()
2493 params->channels = POPCOUNT(ssp_plat_data->params.tx_slots); in dai_ssp_config_get()
2495 params->channels = POPCOUNT(ssp_plat_data->params.rx_slots); in dai_ssp_config_get()
2498 params->word_size = ssp_plat_data->params.sample_valid_bits; in dai_ssp_config_get()
2500 *cfg = *params; in dai_ssp_config_get()
2537 prop->reg_init_delay = ssp_plat_data->params.bclk_delay; in dai_ssp_get_properties()