[Sound-open-firmware] [PATCH] cnl: ssp: fix DSP_B setting in ssp

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Mar 7 15:01:26 CET 2018


On 3/6/18 10:31 PM, Rander Wang wrote:
> set ssp according to DSP_B spec
> 
> Signed-off-by: Rander Wang <rander.wang at linux.intel.com>
> ---
>   src/drivers/apl-ssp.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/drivers/apl-ssp.c b/src/drivers/apl-ssp.c
> index a726f3c..c32bd35 100644
> --- a/src/drivers/apl-ssp.c
> +++ b/src/drivers/apl-ssp.c
> @@ -333,10 +333,11 @@ static inline int ssp_set_config(struct dai *dai,
>   		sscr0 |= SSCR0_MOD | SSCR0_FRDC(config->num_slots);
>   
>   		/* set asserted frame length */
> -		frame_len = config->sample_container_bits;
> +		frame_len = 1;

this needs to be done for DSP_B as well.

>   
>   		/* handle frame polarity, DSP_A default is rising/active high */
> -		sspsp |= SSPSP_SFRMP(inverted_frame);
> +		sspsp |= SSPSP_SFRMP(!inverted_frame);

I don't think this is correct.  the documentation says with this bit 
asserted (value=1) the frame is active high which is exactly what we want.


> +		sspsp |= SSPSP_FSRT;

why is this necessary? this disables a fix for dummy stop/padding.

>   
>   		break;
>   	default:
> 



More information about the Sound-open-firmware mailing list