Hi Maxime,
On Mon, 21 Sep 2020 at 14:29, Maxime Ripard maxime@cerno.tech wrote:
On Mon, Sep 21, 2020 at 12:27:11PM +0200, Clément Péron wrote:
As slots and slot_width can be overwritter in case set_tdm() is called. Avoid to have this logic in set_chan_cfg().
Instead pass the required values as params to set_chan_cfg().
It's not really clear here what the issue is, and how passing the slots and slot_width as arguments addresses it
This also fix a bug when i2s->slot_width is set for TDM but not properly used in set_chan_cfg().
Which bug?
Do you mean my commit log is too short or is it a real question to understand ?
To answer if set_tdm() is called then we set the i2s->slot_width and i2s->slots. But we use lrck_period = params_physical_width(params) instead of lrck_period = i2s->slot_width ? i2s->slot_width : params_physical_width(params);
Also, Fixes tag?
I think this only happens when 20/24bit is enabled so the issue has been introduced in this series.
Clement
Thanks! Maxime