Commit graph

545 commits

Author SHA1 Message Date
Takashi Iwai
3b88bc5229 Merge branch 'topic/pcm-jiffies-check' into for-linus
* topic/pcm-jiffies-check:
  ALSA: pcm - A helper function to compose PCM stream name for debug prints
  ALSA: pcm - Fix update of runtime->hw_ptr_interrupt
  ALSA: pcm - Fix a typo in hw_ptr update check
  ALSA: PCM midlevel: lower jiffies check margin using runtime->delay value
  ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed
  ALSA: PCM midlevel: introduce mask for xrun_debug() macro
  ALSA: PCM midlevel: improve fifo_size handling
2009-06-10 07:26:41 +02:00
Takashi Iwai
eabaf0634a Merge branch 'topic/pcm-delay' into for-linus
* topic/pcm-delay:
  ALSA: usbaudio - Add delay account
  ALSA: Add extra delay count in PCM
2009-06-10 07:26:40 +02:00
Takashi Iwai
19b1a15a3d Merge branch 'topic/div64-cleanup' into for-linus
* topic/div64-cleanup:
  ALSA: Clean up 64bit division functions
2009-06-10 07:26:28 +02:00
Takashi Iwai
d108728ea2 Merge branch 'topic/cleanup' into for-linus
* topic/cleanup:
  ALSA: Remove deprecated include/sound/driver.h
  ALSA: Remove deprecated snd_card_new()
2009-06-10 07:26:24 +02:00
Takashi Iwai
ab2f06cb6b Merge branch 'topic/caiaq' into for-linus
* topic/caiaq:
  ALSA: snd_usb_caiaq: bump version number
  ALSA: snd_usb_caiaq: give better shortname
  ALSA: Core - add snd_card_set_id() function
  ALSA: snd_usb_caiaq: give better longname
  ALSA: snd_usb_caiaq: use strlcpy
  ALSA: snd_usb_caiaq: clean whitespaces
2009-06-10 07:26:23 +02:00
Takashi Iwai
ba252af8d6 Merge branch 'topic/asoc' into for-linus
* topic/asoc: (135 commits)
  ASoC: Apostrophe patrol
  ASoC: codec tlv320aic23 fix bogus divide by 0 message
  ASoC: fix NULL pointer dereference in soc_suspend()
  ASoC: Fix build error in twl4030.c
  ASoC: SSM2602: assign last substream to the master when shutting down
  ASoC: Blackfin: document how anomaly 05000250 is handled
  ASoC: Blackfin: set the transfer size according the ac97_frame size
  ASoC: SSM2602: remove unsupported sample rates
  ASoC: TWL4030: Check the interface format for 4 channel mode
  ASoC: TWL4030: Use reg_cache in twl4030_init_chip
  ASoC: Initialise dev for the dummy S/PDIF DAI
  ASoC: Add dummy S/PDIF codec support
  ASoC: correct print specifiers for unsigneds
  ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout()
  ASoC: Switch FSL SSI DAI over to symmetric_rates
  ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved
  ASoC: Fabric bindings for STAC9766 on the Efika
  ASoC: Support for AC97 on Phytec pmc030 base board.
  ASoC: AC97 driver for mpc5200
  ASoC: Main rewite of the mpc5200 audio DMA code
  ...
2009-06-10 07:26:18 +02:00
Takashi Iwai
3f7440a6b7 ALSA: Clean up 64bit division functions
Replace the house-made div64_32() with the standard div_u64*() functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05 17:45:17 +02:00
Jaroslav Kysela
10a8ebbb08 ALSA: Core - add snd_card_set_id() function
Introduce snd_card_set_id() function to allow lowlevel drivers to set
default identification name for card slot. The function checks also
for identification name collisions and tries to create unique name.

Also, the snd_card_create() function is simplified, because this new
function is used. As bonus, proper name collision checks are evaluated
at the card create time.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02 12:47:46 +02:00
Jaroslav Kysela
8bea869c5e ALSA: PCM midlevel: improve fifo_size handling
Move the fifo_size assignment to hw->ioctl callback to allow lowlevel
drivers overwrite the default behaviour.

fifo_size is in frames not bytes as specified in asound.h and alsa-lib's
documentation, but most hardware have fixed byte based FIFOs. Introduce
internal SNDRV_PCM_INFO_FIFO_IN_FRAMES.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-29 11:47:33 +02:00
Takashi Iwai
e93721a702 Merge branch 'fix/pcm-jiffies-check' into topic/pcm-jiffies-check 2009-05-29 11:46:10 +02:00
Mark Brown
86ed3669f0 ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
The WM9081 is designed to provide high power output at low distortion
levels in space-constrained portable applications.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-22 15:11:22 +01:00
Mark Brown
5c82f56736 AsoC: Make snd_soc_read() and snd_soc_write() functions
Should be no impact on the generated code but it helps the compiler
print clearer messages.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-22 10:22:38 +01:00
Mark Brown
452c5eaa0d ASoC: Integrate bias management with DAPM power management
Rather than managing the bias level of the system based on if there is
an active audio stream manage it based on there being an active DAPM
widget. This simplifies the code a little, moving the power handling
into one place, and improves audio performance for bypass paths when no
playbacks or captures are active.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-18 15:53:16 +01:00
Mark Brown
6d3ddc81f5 ASoC: Split DAPM power checks from sequencing of power changes
DAPM has always applied any changes to the power state of widgets as soon
as it has determined that they are required. Instead of doing this store
all the changes that are required on lists of widgets to power up and
down, then iterate over those lists and apply the changes. This changes
the sequence in which changes are implemented, doing all power downs
before power ups and always using the up/down sequences (previously they
were only used when changes were due to DAC/ADC power events). The error
handling is also changed so that we continue attempting to power widgets
if some changes fail.

The main benefit of this is to allow future changes to do optimisations
over the whole power sequence and to reduce the number of walks of the
widget graph required to check the power status of widgets.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-18 15:53:14 +01:00
Jon Smirl
d34c430782 ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format
Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 12:47:33 +01:00
Jaroslav Kysela
35edb4003c ALSA: Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-06 12:32:26 +02:00
Takashi Iwai
4bbe1ddf89 ALSA: Add extra delay count in PCM
Added runtime->delay field to adjust the delayed samples for snd_pcm_delay().
Typically a hardware FIFO length is stored in this field, so that the
extra delay between hwptr and applptr can be computed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-05 14:47:21 +02:00
Mark Brown
bbd993077d ASoC: Remove redundant codec pointer from DAIs
The DAI structure has two pointers to the codec, one in the body of the
DAI and one in a union for a parent pointer.  Drop the parent pointer
version.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05 10:27:38 +01:00
Mark Brown
f3831a592f Merge commit 'takashi/topic/asoc' into for-2.6.31 2009-05-05 10:12:55 +01:00
Takashi Iwai
8560b9321f Merge branch 'fix/asoc' into topic/asoc 2009-05-04 16:05:23 +02:00
Mark Brown
4072604b9d ASoC: Remove unused DAI format defines
The defines for TDM and synchronous clocks are not used - they are
mostly a legacy of the automatic clocking configuration.  TDM will
require configuration of the number of timeslots and which ones to use
so can't be fit into the DAI format and synchronous mode is handled by
symmetric_rates (and needs to be done by constraints rather than when
the DAI format is being configured).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-02 12:32:10 +01:00
Mark Brown
33f503c96c ASoC: Use a shared define for AC97 CODEC data formats
The AC97 wire format is completely fixed so CODECs don't have any choice
about the formats they accept but controllers accept a variety of data
formats and render them down onto the bus.  Have a shared define so all
the CODEC drivers will interoperate with any of our controller drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-02 12:32:09 +01:00
Daniel Mack
7629ad24f2 ASoC: add SOC_DOUBLE_EXT macro
Add a macro for double controls with special callback functions.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-24 17:39:31 +01:00
Mark Brown
246d0a17f5 ASoC: Add power supply widget to DAPM
Many modern CODECs have shared resources on chip which must be enabled
for portions of the chip to work but which can be disabled at other times
in order to achieve power savings. Examples of such resources include
power supplies and some internal clocks.

Since these widgets are dependencies for the audio path but do not carry
audio signals they require slightly different handling to most widgets -
they do not contribute to the audio path and so should not be counted as
either inputs or outputs during path walks.

Cases where one supply provides a supply for another will require
additional work. There is also room for more optimisation of the graph
walking to avoid repeated checks for the same thing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22 19:10:13 +01:00
Takashi Iwai
ef9dfa4b10 ALSA: Remove deprecated include/sound/driver.h
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 08:53:41 +02:00
Takashi Iwai
cd474f2d54 ALSA: Remove deprecated snd_card_new()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 08:53:08 +02:00
Mark Brown
b75576d76d ASoC: Make the DAPM power check an operation on the widget
Rather than having switch statements at point of use make the DAPM
power check a member of the widget structure and set it when we
instantiate the widget.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-20 18:09:48 +01:00
Russell King
64bd43a086 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 2009-04-20 14:03:04 +01:00
Takashi Iwai
2e8e59f437 Merge branch 'topic/hda' into for-linus
* topic/hda:
  ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
  ALSA: hda - Avoid call of snd_jack_report at release
  ALSA: add private_data to struct snd_jack
2009-04-15 11:24:09 +02:00
Mark Brown
eae17754ab [ARM] pxa: merge AC97 platform data structures
Currently there are two possible platform datas for the PXA AC97 driver:
one supported by the generic AC97 driver only which provides callbacks
to allow board-specific configuration at stream startup and teardown,
and another for pxa2xx-ac97-lib which allows configuration of the reset
GPIO for PXA2xx CPUs.

Obviously this won't actually work when using the generic AC97 driver
since the drivers will attempt to parse the platform data in both
formats. Fix this by merging the two structures.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
2009-04-15 10:54:06 +08:00
Takashi Iwai
9d59065cd6 ALSA: add private_data to struct snd_jack
Added private_data and private_free fields to struct snd_jack so that
the caller can assign the data.  It'll be helpful for avoiding the
double-free of the jack instance.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14 16:15:09 +02:00
Mark Brown
6967963d6d Merge branch 'for-2.6.30' into for-2.6.31 2009-04-14 13:22:37 +01:00
Mark Brown
f6d655a6e6 ASoC: Support DAPM events for DACs and ADCs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13 11:59:01 +01:00
Jaroslav Kysela
bbf6ad1399 [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
Some drivers like Intel8x0 or Intel HDA are broken for some hardware variants.
This patch adds more strict buffer position checks based on jiffies when
internal hw_ptr is updated. Enable xrun_debug to see mangling of wrong
positions.

As a side effect, the hw_ptr interrupt update routine might do slightly better
job when many interrupts are lost.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-04-10 12:28:58 +02:00
Mark Brown
06f409d76f ASoC: Provide core support for symmetric sample rates
Many devices require symmetric configurations of capture and playback
data formats, often due to shared clocking but sometimes also due to
other shared playback and record configuration in the device. Start
providing core support for this by allowing the DAIs or the machine
to specify that the sample rates used should be kept symmetric.

A flag symmetric_rates is provided in the snd_soc_dai and
snd_soc_dai_link structures. If this is set in either of the DAIs or in
the machine then a constraint will be applied when a stream is already
open preventing any changes in sample rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-07 18:51:22 +01:00
Mauro Carvalho Chehab
9b76ede411 V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:02 -03:00
Linus Torvalds
ba1eb95cf3 Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)
  x86: headers cleanup - setup.h
  emu101k1.h: fix duplicate include of <linux/types.h>
  compiler-gcc4: conditionalize #error on __KERNEL__
  remove __KERNEL_STRICT_NAMES
  make netfilter use strict integer types
  make drm headers use strict integer types
  make MTD headers use strict integer types
  make most exported headers use strict integer types
  make exported headers use strict posix types
  unconditionally include asm/types.h from linux/types.h
  make linux/types.h as assembly safe
  Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h
  headers_check fix cleanup: linux/reiserfs_fs.h
  headers_check fix cleanup: linux/nubus.h
  headers_check fix cleanup: linux/coda_psdev.h
  headers_check fix: x86, setup.h
  headers_check fix: x86, prctl.h
  headers_check fix: linux/reinserfs_fs.h
  headers_check fix: linux/socket.h
  headers_check fix: linux/nubus.h
  ...

Manually fix trivial conflicts in:
	include/linux/netfilter/xt_limit.h
	include/linux/netfilter/xt_statistic.h
2009-03-26 16:11:41 -07:00
Arnd Bergmann
f9f35677d8 emu101k1.h: fix duplicate include of <linux/types.h>
Impact: cleanup

The earlier patch 'make most exported headers use strict integer
types' accidentally includes <linux/types.h> both from the common and
from the kernel-only parts.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-03-26 18:14:24 +01:00
Arnd Bergmann
9adfbfb611 make most exported headers use strict integer types
This takes care of all files that have only a small number
of non-strict integer type uses.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Cc: netdev@vger.kernel.org
Cc: linux-ppp@vger.kernel.org
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-03-26 18:14:15 +01:00
Arnd Bergmann
85efde6f4e make exported headers use strict posix types
A number of standard posix types are used in exported headers, which
is not allowed if __STRICT_KERNEL_NAMES is defined. In order to
get rid of the non-__STRICT_KERNEL_NAMES part and to make sane headers
the default, we have to change them all to safe types.

There are also still some leftovers in reiserfs_fs.h, elfcore.h
and coda.h, but these files have not compiled in user space for
a long time.

This leaves out the various integer types ({u_,u,}int{8,16,32,64}_t),
which we take care of separately.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Cc: netdev@vger.kernel.org
Cc: linux-ppp@vger.kernel.org
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-03-26 18:14:14 +01:00
Takashi Iwai
fa15fdeffa Merge branch 'topic/isa-misc' into for-linus 2009-03-24 00:36:13 +01:00
Takashi Iwai
ae02cde7e9 Merge branch 'topic/drop-l3' into for-linus 2009-03-24 00:36:05 +01:00
Takashi Iwai
a3c6048dcf Merge branch 'topic/cs423x-merge' into for-linus 2009-03-24 00:35:59 +01:00
Takashi Iwai
158c1529fe Merge branch 'topic/atmel' into for-linus 2009-03-24 00:35:56 +01:00
Takashi Iwai
b5c784894c Merge branch 'topic/asoc' into for-linus 2009-03-24 00:35:53 +01:00
Takashi Iwai
e0d2054fd3 Merge branch 'topic/misc' into for-linus 2009-03-24 00:35:50 +01:00
Takashi Iwai
d807500a24 Merge branch 'topic/pcm-cleanup' into for-linus 2009-03-24 00:35:49 +01:00
Takashi Iwai
c7ccfd060f Merge branch 'topic/ioctl-use-define' into for-linus 2009-03-24 00:35:48 +01:00
Takashi Iwai
ec6659c389 Merge branch 'topic/vmaster-update' into for-linus 2009-03-24 00:35:47 +01:00
Takashi Iwai
c944a93df0 Merge branch 'topic/rawmidi-fix' into for-linus 2009-03-24 00:35:46 +01:00