On Mon, Jun 03, 2019 at 07:47:34PM +0200, codekip...@gmail.com wrote: > From: Marcus Cooper <codekip...@gmail.com> > > Extend the functionality of the driver to include support of 20 and > 24 bits per sample for the earlier SoCs. > > Newer SoCs can also handle 32bit samples. > > Signed-off-by: Marcus Cooper <codekip...@gmail.com> > --- > sound/soc/sunxi/sun4i-i2s.c | 34 +++++++++++++++++++++++++++++++--- > 1 file changed, 31 insertions(+), 3 deletions(-) > > diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c > index 3549a87ed9e9..351b8021173b 100644 > --- a/sound/soc/sunxi/sun4i-i2s.c > +++ b/sound/soc/sunxi/sun4i-i2s.c > @@ -428,6 +428,11 @@ static int sun4i_i2s_hw_params(struct snd_pcm_substream > *substream, > case 16: > width = DMA_SLAVE_BUSWIDTH_2_BYTES; > break; > + case 20: > + case 24: > + case 32: > + width = DMA_SLAVE_BUSWIDTH_4_BYTES; > + break;
Doesn't this test the physical width? If so, then I'm not sure that 20 even exists, and that we can support 24. > default: > dev_err(dai->dev, "Unsupported physical sample width: %d\n", > params_physical_width(params)); > @@ -440,7 +445,18 @@ static int sun4i_i2s_hw_params(struct snd_pcm_substream > *substream, > sr = 0; > wss = 0; > break; > - > + case 20: > + sr = 1; > + wss = 1; > + break; > + case 24: > + sr = 2; > + wss = 2; > + break; > + case 32: > + sr = 4; > + wss = 4; > + break; This doesn't really works, wss being the slot size, and you can have a different slot size and sample size. I have a patch that reworks this, I'll send it. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/20190604081938.npye7brtjv7c7noj%40flea. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: PGP signature