From: Patrick Lai <plai@codeaurora.org>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel <alsa-devel@alsa-project.org>, lrg@ti.com
Subject: Re: Mixer control for signed gain value
Date: Tue, 28 Jun 2011 09:21:31 -0700 [thread overview]
Message-ID: <4E09FF8B.4090103@codeaurora.org> (raw)
In-Reply-To: <20110623103757.GC21932@opensource.wolfsonmicro.com>
On 6/23/2011 3:37 AM, Mark Brown wrote:
> On Wed, Jun 22, 2011 at 11:32:19PM -0700, Patrick Lai wrote:
>
>> The CODEC I am working with takes byte-long gain value in two's
>> complement form.
>> In soc-core.c, the closest functions I see are
>> snd_soc_info_volsw_s8
>> snd_soc_get_volsw_s8
>> snd_soc_set_volsw_s8
>
>> These functions are coded to work with two integer values. For my
>> purpose, I suppose that I can always set 2nd integer input as zero.
>> However, would I still be able to set volume like
>> amixer sset "Codec Gain" 100 as percentage. If yes, how will amixer
>> know to put upper 8 bits of 16 bit gain in 2nd integer value element?
>
> Could you clarify what the control you're dealing with is? You say
> above that your gains are byte long but here you're talking about them
> actually being 16 bit. If they're 16 bit you probably need to write a
> new control type.
Yes, CODEC in question takes byte-long signed gain value and would like
to reuse snd_soc_xxx_volsw_xx mixer callback functions in soc-core.c.
The only functions I see handle signed value are
snd_soc_info_volsw_s8, snd_soc_get_volsw_s8, snd_soc_get_volsw_s8
Unless I am mistaken, these functions deal with two signed byte-long
values which get concatenated into 16-bit value. Perhaps, original
purpose is to set left and right 8-bit gain values at the same time on
a single codec register which takes 16-bit value.
So, my question is whether I should reuse volsw_s8 mixer control
functions and have mixer application ignore integer.value[1] to suit my
purpose or redefine new set of mixer control functions i.e
snd_soc_set_volsw_single_s8. Otherwise, is there existing alternative
to handle set/put byte-long signed value?
Thanks
Patrick
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2011-06-28 16:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-23 6:32 Mixer control for signed gain value Patrick Lai
2011-06-23 10:37 ` Mark Brown
2011-06-28 16:21 ` Patrick Lai [this message]
2011-06-28 16:32 ` 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=4E09FF8B.4090103@codeaurora.org \
--to=plai@codeaurora.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=lrg@ti.com \
/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