[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEKpxB=5nd2fqpAJQ4L6EFqxCZ=pkCvE9v5EYUR=6BGVYbwp_g@mail.gmail.com>
Date: Thu, 25 Jan 2018 10:03:51 +0100
From: Code Kipper <codekipper@...il.com>
To: Maxime Ripard <maxime.ripard@...e-electrons.com>
Cc: linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-sunxi <linux-sunxi@...glegroups.com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Linux-ALSA <alsa-devel@...a-project.org>,
"Andrea Venturi (pers)" <be17068@...rbole.bo.it>
Subject: Re: [PATCH 3/3] ASoC: sun4i-i2s: Add regmap field to sign extend sample
On 25 January 2018 at 09:41, Maxime Ripard
<maxime.ripard@...e-electrons.com> wrote:
> Hi,
>
> On Wed, Jan 24, 2018 at 03:11:01PM +0100, codekipper@...il.com wrote:
>> From: Marcus Cooper <codekipper@...il.com>
>>
>> On the newer SoCs this is set by default to transfer a 0 after
>> each sample in each slot. Add the regmap field to configure this
>> and set it so that it pads the sample with 0s.
>>
>> Signed-off-by: Marcus Cooper <codekipper@...il.com>
>> ---
>> sound/soc/sunxi/sun4i-i2s.c | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
>> index 626679057d0f..9fda1240b717 100644
>> --- a/sound/soc/sunxi/sun4i-i2s.c
>> +++ b/sound/soc/sunxi/sun4i-i2s.c
>> @@ -139,6 +139,7 @@
>> * @field_fmt_bclk: regmap field to set clk polarity.
>> * @field_fmt_lrclk: regmap field to set frame polarity.
>> * @field_fmt_mode: regmap field to set the operational mode.
>> + * @field_fmt_sext: regmap field to set the sign extension.
>> * @field_txchanmap: location of the tx channel mapping register.
>> * @field_rxchanmap: location of the rx channel mapping register.
>> * @field_txchansel: location of the tx channel select bit fields.
>> @@ -164,6 +165,7 @@ struct sun4i_i2s_quirks {
>> struct reg_field field_fmt_bclk;
>> struct reg_field field_fmt_lrclk;
>> struct reg_field field_fmt_mode;
>> + struct reg_field field_fmt_sext;
>> struct reg_field field_txchanmap;
>> struct reg_field field_rxchanmap;
>> struct reg_field field_txchansel;
>> @@ -188,6 +190,7 @@ struct sun4i_i2s {
>> struct regmap_field *field_fmt_bclk;
>> struct regmap_field *field_fmt_lrclk;
>> struct regmap_field *field_fmt_mode;
>> + struct regmap_field *field_fmt_sext;
>> struct regmap_field *field_txchanmap;
>> struct regmap_field *field_rxchanmap;
>> struct regmap_field *field_txchansel;
>> @@ -358,6 +361,9 @@ static int sun4i_i2s_set_clk_rate(struct snd_soc_dai *dai,
>> SUN8I_I2S_FMT0_LRCK_PERIOD_MASK,
>> SUN8I_I2S_FMT0_LRCK_PERIOD(word_size));
>>
>> + /* Set sign extension to pad out LSB with 0 */
>> + regmap_field_write(i2s->field_fmt_sext, 0);
>> +
>
> Your commit log seems to suggest that it's only relevant for the newer
> SoCs (which ones?), yet you enable it for all the supported
> ones. Either the code or the commit log should be adjusted to be
> consistent with the other.
ACK
Thanks,
CK
>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
Powered by blists - more mailing lists