08 Jun, 2011
1 commit
-
Currently pcm_new() passes in 3 arguments :- card, pcm and DAI.
Refactor this to only pass in 1 argument (i.e. the rtd) since struct rtd contains
card, pcm and DAI along with other members too that are useful too.Signed-off-by: Liam Girdwood
Signed-off-by: Mark Brown
07 Jun, 2011
22 commits
-
Fix the codec_name field of the dai_link to match the actual device name
of the codec. Otherwise the card won't be instantiated.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
Commit f97d0c6d5f94 ("ASoC: AD1836: Add input gain control for ADC2") contained
a typo in the register name, causing a build error. This patch fixes it.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
removing unnecessary if(ret) checks
This updated patch corrects a minor spelling problem in the commit message
and resolves two other (similar) issues found in wm8940.c by Jonathan Cameron.Signed-off-by: Greg Dietsche
Acked-by: Jonathan Cameron
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The AD1836 has a PGA for its second ADC. This patch adds a control for
adjusting the the gain of the PGA.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
The control_type field is never used, so it can be removed. The
control_data field is used to initialize the codec's control_data field,
but since this is also done by the snd-soc-cache core, the redundant
assignment can be removed and the field can be dropped.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
The AD183X codec devices are mostly register compatible and can easily be
supported by the same driver. The main difference between those devices
is the number of DACs and ADCs.This patch adjusts the driver to allocate the controls, DAPM widgets and
routes for the DACs and ADCs dynamically based on the chip type.The AD1836 is a bit special in that it supports different modes for its second
ADC, so it needs some special handling. Right now the driver hardcodes the mode
to the differential PGA mode.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Use snd_soc_update_bits for read-modify-write register access instead of
open-coding it using snd_soc_read and snd_soc_write.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
The different ADC and DAC controls follow the same scheme, so add some helper
macros for declaring them.
This should make the code a bit more readable and also decreases the code size
a bit.Signed-off-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Now that the CODEC driver supports it defer configuration of the system
clock until bias management which is a much more idiomatic place to do
system power control and makes things a lot more happy when we're using
both interfaces.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
This allows the card driver to use the bias level variable more easily in
multi component systems.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
The card callback will get called for each DAPM context in the card so it
can be useful for it to know which device is currently undergoing a
transition.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
No functional changes but much less indentation.
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
It's redundant now thanks to the use of the generic trace infrastructure.
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
More with the legibility.
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
If the only widgets active within a CODEC are supplies and micbiases we
are not passing audio, we are probably just doing microphone detection.
This will not generally require either fully accurate reference voltages
or much power soIf this turns out to be unsuitable for some systems we can provide a
facility to override this decision.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Rather than a simple flag to say if we want the DAPM context to be at full
power specify the target bias state. This should have no current effect
but is a bit more direct and so makes it easier to change our decisions
about the which bias state to go into in future.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Allow more dynamic management of the device clocking by allowing BCLK to
be calculated when we set SYSCLK. This means that if the system is idle
when hw_params() runs then we don't try to use the SYSCLK used in that case
to set up the BCLK dividers, we can instead wait until a later point such
as bias level configuration. This makes it easier to manage low power modes.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood
06 Jun, 2011
8 commits
-
Avoids issues if someone does a read followed by restore and doesn't mask
out only the bits being updated.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
When the FLL locks on the WM8915 an interrupt is generated. For safety
error out if we don't get that interrupt when the IRQ output of the
WM8915 is hooked up. Since we *really* expect an interrupt but the
threaded IRQ handler may take a bit longer than expected to get
scheduled also dramatically increase the delay in this case.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
…sound-2.6 into for-3.0
03 Jun, 2011
2 commits
-
We should only call ssc_free() when ssc_request() succeeds or bad
things will happen.Signed-off-by: Joachim Eastwood
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
We only need to increase the detection rate to maximum if we're monitoring
for button presses as the response times needed for user interaction there
are much lower.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood
02 Jun, 2011
5 commits
-
Revision 2 of the Speyside platform supplies a 32kHz clock on MCLK2 rather
than MCLK1.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
DCVDD and MICVDD are intended to be (and almost always are) generated by
on-board LDOs which are transparently controlled by the driver so we
shouldn't really be requesting them from the regulator API. If the driver
is updated to support external supply of these then we will need to change
the way we handle this.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
This goto is after the call to clk_get, so it should go to the label that
includes a call to clk_put.A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)//
@r exists@
expression e1,e2;
statement S;
@@e1 = clk_get@p1(...);
... when != e1 = e2
when != clk_put(e1)
when any
if (...) { ... when != clk_put(e1)
when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
} else S
//Signed-off-by: Julia Lawall
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Really this should be something the IRQ core can cope with for us but since
it doesn't currently do so (at least for threaded interrupts like this) do
so in the driver. This allows us to run with interrupt controllers that
only support edge triggered interrupts.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood
30 May, 2011
2 commits
-
.. except there are various scripts that really know that there are
three numbers, so it calls itself "3.0.0-rc1".Hopefully by the time the final 3.0 is out, we'll have that extra zero
all figured out.Signed-off-by: Linus Torvalds