Clément,

On 9/3/20 3:30 PM, Clément Péron wrote:
> From: Marcus Cooper <codekip...@gmail.com>
> 
> Some codecs such as i2s based HDMI audio and the Pine64 DAC require
> a different amount of bit clocks per frame than what is calculated
> by the sample width. Use the values obtained by the tdm slot bindings
> to adjust the LRCLK width accordingly.
> 
> Signed-off-by: Marcus Cooper <codekip...@gmail.com>
> Signed-off-by: Clément Péron <peron.c...@gmail.com>
> Acked-by: Maxime Ripard <max...@cerno.tech>
> ---
>  sound/soc/sunxi/sun4i-i2s.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
> index acf24f512f2c..1b4482b0f4af 100644
> --- a/sound/soc/sunxi/sun4i-i2s.c
> +++ b/sound/soc/sunxi/sun4i-i2s.c
> @@ -478,6 +478,9 @@ static int sun8i_i2s_set_chan_cfg(const struct sun4i_i2s 
> *i2s,
>               return -EINVAL;
>       }
>  
> +     if (i2s->slot_width)
> +             lrck_period = i2s->slot_width;
> +

Same as patch 2, this duplicates logic in sun4i_i2s_hw_params, and would need to
be multiplied by `slots` for PCM (DSP_A/B) mode.

Regards,
Samuel

>       regmap_update_bits(i2s->regmap, SUN4I_I2S_FMT0_REG,
>                          SUN8I_I2S_FMT0_LRCK_PERIOD_MASK,
>                          SUN8I_I2S_FMT0_LRCK_PERIOD(lrck_period));
> 

Reply via email to