]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: audio_graph_card2: Support variable slot widths
authorMark Brown <broonie@kernel.org>
Mon, 7 Mar 2022 20:36:55 +0000 (20:36 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 7 Mar 2022 20:36:55 +0000 (20:36 +0000)
commita0b3ac6c0d347f1a05529ed0ab48742bb9729f7d
treea82f2135c93fe257db9873dd4e6fadf7edb56f2e
parent031597363890b7898d968b444f09e7bcd2ec6d73
parentc49f18833622662366d915ddbaf5a165ef31e315
ASoC: audio_graph_card2: Support variable slot widths

Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:

This adds support for I2S/TDM links where the slot width varies
depending on the sample width, in a way that cannot be guessed by
component hw_params().

A typical example is:

- 16-bit samples use 16-bit slots
- 24-bit samples use 32-bit slots

There is no way for a component hw_params() to deduce from the information
it is passed that 24-bit samples will be in 32-bit slots.

Some audio hardware cannot support a fixed slot width or a slot width
equal to the sample width in all cases. This is usually due either to
limitations of the audio serial port or system clocking restrictions.