From: "Andrew F. Davis" <afd@ti.com>
To: Mark Brown <broonie@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
Liam Girdwood <lgirdwood@gmail.com>,
linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>
Subject: Re: [PATCH 3/4] ASoC: codecs: tas5720: add TAS5722 specific volume control
Date: Mon, 15 Jan 2018 08:50:09 -0600 [thread overview]
Message-ID: <ada57df8-66c0-0692-9250-422ef37cce95@ti.com> (raw)
In-Reply-To: <20171212120121.GH16323@sirena.org.uk>
On 12/12/2017 06:01 AM, Mark Brown wrote:
> On Mon, Dec 11, 2017 at 01:01:56PM -0600, Andrew F. Davis wrote:
>
>> The TAS5722 supports modifying volume in 0.25dB steps (as opposed to 0.5dB
>> steps on the TAS5720). Introduce a custom mixer control that allows taking
>> advantage of this finer output volume granularity.
>
> Don't do this, it's just making things more complicated. Instead do
> what other drivers do and register different sets of controls depending
> on which part you're working with. The normal thing is to have a big
> table for all the shared controls that are the same on all variants then
> register additional tables during probe with those that vary for the
> individul devices.
>
That is what we are doing here, the reason for the custom mixer control
is that the controlled bits span two registers in a odd way that is not
supported by the standard handlers.
>> static const struct snd_kcontrol_new tas5720_snd_controls[] = {
>> SOC_SINGLE_TLV("Speaker Driver Playback Volume",
>> - TAS5720_VOLUME_CTRL_REG, 0, 0xff, 0, dac_tlv),
>> + TAS5720_VOLUME_CTRL_REG, 0, 0xff, 0, tas5720_dac_tlv),
>> + SOC_SINGLE_TLV("Speaker Driver Analog Gain", TAS5720_ANALOG_CTRL_REG,
>> + TAS5720_ANALOG_GAIN_SHIFT, 3, 0, dac_analog_tlv),
>
> As ever all volume controls should end in Volume (like the immediately
> adjacent control does).
>
This was done so this table exactly matches the existing table. If you
would like me to change this then I can, and can do it for the other
table as well, up to you.
next prev parent reply other threads:[~2018-01-15 14:50 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-11 19:01 [PATCH 1/4] ASoC: codecs: tas5720: add basic support for TAS5722 devices Andrew F. Davis
2017-12-11 19:01 ` [PATCH 3/4] ASoC: codecs: tas5720: add TAS5722 specific volume control Andrew F. Davis
[not found] ` <20171211190157.12371-3-afd-l0cyMroinI0@public.gmane.org>
2017-12-12 12:01 ` Mark Brown
2018-01-15 14:50 ` Andrew F. Davis [this message]
[not found] ` <ada57df8-66c0-0692-9250-422ef37cce95-l0cyMroinI0@public.gmane.org>
2018-01-15 16:41 ` Mark Brown
[not found] ` <20171211190157.12371-1-afd-l0cyMroinI0@public.gmane.org>
2017-12-11 19:01 ` [PATCH 2/4] ASoC: codecs: tas5720: add TAS5722 register support Andrew F. Davis
2017-12-12 12:05 ` Applied "ASoC: tas5720: add TAS5722 register support" to the asoc tree Mark Brown
2017-12-11 19:01 ` [PATCH 4/4] ASoC: codecs: tas5720: add TAS5722 TDM slot width setting support Andrew F. Davis
2017-12-12 12:02 ` Mark Brown
2018-01-15 14:50 ` Andrew F. Davis
2017-12-12 12:05 ` Applied "ASoC: tas5720: add basic support for TAS5722 devices" to the asoc tree Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ada57df8-66c0-0692-9250-422ef37cce95@ti.com \
--to=afd@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).