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

Maxime Ripard maxime at cerno.tech
Mon Oct 12 09:58:45 EDT 2020


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 at sholland.org>
> Signed-off-by: Clément Péron <peron.clem at gmail.com>

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

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20201012/289a4eb2/attachment-0001.sig>


More information about the linux-arm-kernel mailing list