ssp: bclk/mclk control is ignored

The code to control bclk/mclk is skipped after the SSP is configured
once. The clock control code should be executed always.

Signed-off-by: Brent Lu <brent.lu@intel.com>
This commit is contained in:
Brent Lu 2021-08-03 18:08:05 +08:00 committed by Liam Girdwood
parent c5ac4a44b9
commit ad402bc5bf
1 changed files with 2 additions and 1 deletions

View File

@ -273,7 +273,7 @@ static int ssp_set_config_tplg(struct dai *dai, struct ipc_config_dai *common_co
if (ssp->state[DAI_DIR_PLAYBACK] > COMP_STATE_READY ||
ssp->state[DAI_DIR_CAPTURE] > COMP_STATE_READY) {
dai_info(dai, "ssp_set_config(): Already configured. Ignore config");
goto out;
goto clk;
}
dai_info(dai, "ssp_set_config(), config->format = 0x%4x",
@ -713,6 +713,7 @@ static int ssp_set_config_tplg(struct dai *dai, struct ipc_config_dai *common_co
ssp->state[DAI_DIR_PLAYBACK] = COMP_STATE_PREPARE;
ssp->state[DAI_DIR_CAPTURE] = COMP_STATE_PREPARE;
clk:
switch (config->flags & SOF_DAI_CONFIG_FLAGS_MASK) {
case SOF_DAI_CONFIG_FLAGS_HW_PARAMS:
if (ssp->params.clks_control & SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_ES) {