* Binding multiple registers to an enum
@ 2010-09-12 23:31 Stuart Longland
2010-09-13 8:43 ` Mark Brown
0 siblings, 1 reply; 2+ messages in thread
From: Stuart Longland @ 2010-09-12 23:31 UTC (permalink / raw)
To: alsa-devel; +Cc: Mark Brown, Liam Girdwood
Hi all,
Just working on the TLV320AIC3204 driver again... I've got an issue
where we get noise on recording inputs if I don't drive unused inputs to
the common mode. Now there's a register which can do exactly this.
Each of the inputs can be routed through a difference series
resistance... this selection is done by enum controls, with the options
being: not-connected, 10k, 20k or 40k. My plan, is that when
'not-selected' is chosen, I set the appropriate bit in the floating
input register so it gets connected to common-mode... and when something
else is chosen, that bit gets cleared.
I've tried lying to DAPM and telling it these bits control PGAs on the
inputs themselves... but it gets the wrong idea about which ones need to
be turned on. Perhaps I should investigate that ... but the idea of
using PGA controls doesn't seem quite right.
I've looked at SOC_ENUM_EXT, which would do what I want (I already use
this to keep ADC OSR and DAC OSR settings in sync) however, these
controls have implications for signal routing, and therefore DAPM needs
to know about them, so really it'd be a SOC_DAPM_ENUM_EXT control I'd be
after. I can't see such a thing however... how does one go about doing
this?
Regards,
--
Stuart Longland (aka Redhatter, VK4MSL) .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer '.'` :
. . . . . . . . . . . . . . . . . . . . . . .'.'
http://dev.gentoo.org/~redhatter :.'
I haven't lost my mind...
...it's backed up on a tape somewhere.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Binding multiple registers to an enum
2010-09-12 23:31 Binding multiple registers to an enum Stuart Longland
@ 2010-09-13 8:43 ` Mark Brown
0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2010-09-13 8:43 UTC (permalink / raw)
To: Stuart Longland; +Cc: alsa-devel, Liam Girdwood
On Mon, Sep 13, 2010 at 09:31:51AM +1000, Stuart Longland wrote:
> I've tried lying to DAPM and telling it these bits control PGAs on the
> inputs themselves... but it gets the wrong idea about which ones need to
> be turned on. Perhaps I should investigate that ... but the idea of
> using PGA controls doesn't seem quite right.
It would be helpful if you could be a bit more specific about what the
registers look like and what the problems you are encountering are.
Since what you're saying is so generic and non-specific it's hard to
really say anything concrete. Possibly what you want to do is have an
event on the widgets for the mixers which does the appropriate setup?
> I've looked at SOC_ENUM_EXT, which would do what I want (I already use
> this to keep ADC OSR and DAC OSR settings in sync) however, these
> controls have implications for signal routing, and therefore DAPM needs
> to know about them, so really it'd be a SOC_DAPM_ENUM_EXT control I'd be
> after. I can't see such a thing however... how does one go about doing
> this?
The easiest thing is to look at the git logs and see how similar things
were added then do the equivalent thing. That'll show all the areas
that need updating.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-09-13 8:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-12 23:31 Binding multiple registers to an enum Stuart Longland
2010-09-13 8:43 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox