Re: [PATCH v7 01/14] ASoC: sun4i-i2s: Change set_chan_cfg() params

From: Maxime Ripard
Date: Mon Oct 12 2020 - 09:59:36 EST


On Sun, Oct 11, 2020 at 10:22:11PM +0200, Clément Péron wrote:
> As slots and slot_width can be set manually using set_tdm().
> These values are then kept in sun4i_i2s struct.
> So we need to check if these values are set or not.
>
> This is not done actually and will trigger a bug.
> For example, if we set to the simple soundcard in the device-tree
> dai-tdm-slot-width = <32> and then start a stream using S16_LE,
> currently we would calculate BCLK for 32-bit slots, but program
> lrck_period for 16-bit slots, making the sample rate double what we
> expected.
>
> To fix this, we need to check if these values are set or not but as
> this logic is already done by the caller. Avoid duplicating this
> logic and just pass the required values as params to set_chan_cfg().
>
> Suggested-by: Samuel Holland <samuel@xxxxxxxxxxxx>
> Signed-off-by: Clément Péron <peron.clem@xxxxxxxxx>

We still have an ongoing discussion on this one in the v6

Maxime

Attachment: signature.asc
Description: PGP signature