@@ -137,7 +137,6 @@ static inline int ssp_set_config(struct dai *dai,
137137 uint32_t i2s_m ;
138138 uint32_t i2s_n ;
139139 uint32_t data_size ;
140- uint32_t start_delay = 0 ;
141140 uint32_t frame_end_padding ;
142141 uint32_t slot_end_padding ;
143142 uint32_t frame_len = 0 ;
@@ -150,6 +149,7 @@ static inline int ssp_set_config(struct dai *dai,
150149
151150 bool inverted_frame = false;
152151 bool cfs = false;
152+ bool start_delay = false;
153153 int ret = 0 ;
154154
155155 spin_lock (& ssp -> lock );
@@ -437,7 +437,7 @@ static inline int ssp_set_config(struct dai *dai,
437437 switch (config -> format & SOF_DAI_FMT_FORMAT_MASK ) {
438438 case SOF_DAI_FMT_I2S :
439439
440- start_delay = 1 ;
440+ start_delay = true ;
441441
442442 sscr0 |= SSCR0_FRDC (config -> ssp .tdm_slots );
443443
@@ -457,7 +457,6 @@ static inline int ssp_set_config(struct dai *dai,
457457 * so, we should set SFRMP to inverted_frame.
458458 */
459459 sspsp |= SSPSP_SFRMP (inverted_frame );
460- sspsp |= SSPSP_FSRT ;
461460
462461 /*
463462 * for I2S/LEFT_J, the padding has to happen at the end
@@ -486,7 +485,7 @@ static inline int ssp_set_config(struct dai *dai,
486485
487486 case SOF_DAI_FMT_LEFT_J :
488487
489- start_delay = 0 ;
488+ /* default start_delay value is set to false */
490489
491490 sscr0 |= SSCR0_FRDC (config -> ssp .tdm_slots );
492491
@@ -536,14 +535,13 @@ static inline int ssp_set_config(struct dai *dai,
536535 break ;
537536 case SOF_DAI_FMT_DSP_A :
538537
539- start_delay = 1 ;
540- sspsp |= SSPSP_FSRT ;
538+ start_delay = true;
541539
542540 /* fallthrough */
543541
544542 case SOF_DAI_FMT_DSP_B :
545543
546- /* default start_delay value is set to 0 */
544+ /* default start_delay value is set to false */
547545
548546 sscr0 |= SSCR0_MOD | SSCR0_FRDC (config -> ssp .tdm_slots );
549547
@@ -609,7 +607,9 @@ static inline int ssp_set_config(struct dai *dai,
609607 goto out ;
610608 }
611609
612- sspsp |= SSPSP_STRTDLY (start_delay );
610+ if (start_delay )
611+ sspsp |= SSPSP_FSRT ;
612+
613613 sspsp |= SSPSP_SFRMWDTH (frame_len );
614614
615615 data_size = config -> ssp .sample_valid_bits ;
0 commit comments