From ad402bc5bfa4e8488ee7c7f8f137d86d78948bca Mon Sep 17 00:00:00 2001 From: Brent Lu Date: Tue, 3 Aug 2021 18:08:05 +0800 Subject: [PATCH] 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 --- src/drivers/intel/ssp/ssp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/drivers/intel/ssp/ssp.c b/src/drivers/intel/ssp/ssp.c index 1efc9cfe0..4f163949f 100644 --- a/src/drivers/intel/ssp/ssp.c +++ b/src/drivers/intel/ssp/ssp.c @@ -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) {