Re: [PATCH RFC 5/6] ASoC: cs35l36: Implement set_tdm_slot to program RX slot register
David Heidelberg <[email protected]> Wed, 29 Jul 2026 20:22:42 +0200
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
On 06/07/2026 10:52, Charles Keepax wrote: > On Sun, Jul 05, 2026 at 10:06:55PM +0200, David Heidelberg via B4 Relay wrote: >> From: David Heidelberg <[email protected]> >> >> Program ASP_RX1_SLOT with the first set bit of rx_mask so the >> amplifier listens on the correct TDM slot when configured by >> machine drivers. >> >> Assisted-by: Claude:claude-4.6-opus >> Signed-off-by: David Heidelberg <[email protected]> >> --- >> +static int cs35l36_set_tdm_slot(struct snd_soc_dai *dai, >> + unsigned int tx_mask, unsigned int rx_mask, >> + int slots, int slot_width) >> +{ >> + struct cs35l36_private *cs35l36 = >> + snd_soc_component_get_drvdata(dai->component); >> + >> + if (rx_mask) >> + regmap_update_bits(cs35l36->regmap, CS35L36_ASP_RX1_SLOT, >> + CS35L36_ASP_RX1_SLOT_MASK, >> + ffs(rx_mask) - 1); > > It is more normal for the masks to specify the slot number rather > than the bit number, it would probably be nicer to stick with > that convention even though it will complicate the code here a > little. Thank you, is there one of the cs*l* series which implements in similar fashion as requested? Thanks David > > Thanks, > Charles -- David Heidelberg