Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: (148 commits)
[ALSA] intel8x0m - Free irq in suspend
[ALSA] Move CONFIG_SND_AC97_POWER_SAVE to pci/Kconfig
[ALSA] usb-audio: add mixer control names for the Aureon 5.1 MkII
[ALSA] ES1938: remove duplicate field initialization
[ALSA] usb-audio: increase number of packets per URB
[ALSA] hda-codec - Fix headphone auto-toggle on sigmatel codec
[ALSA] hda-intel - A slight cleanup of timeout check in azx_get_response()
[ALSA] hda-codec - Fix mic input with STAC92xx codecs
[ALSA] mixart: Use SEEK_{SET,CUR,END} instead of hardcoded values
[ALSA] gus: Use SEEK_{SET,CUR,END} instead of hardcoded values
[ALSA] opl4: Use SEEK_{SET,CUR,END} instead of hardcoded values
[ALSA] sound core: Use SEEK_{SET,CUR,END} instead of hardcoded values
[ALSA] hda-codec - Support multiple headphone pins
[ALSA] hda_intel prefer 24bit instead of 20bit
[ALSA] hda-codec - Add vendor ids for Motorola and Conexant
[ALSA] hda-codec - Add device id for Motorola si3054-compatible codec
[ALSA] Add missing compat ioctls for ALSA control API
[ALSA] powermac - Fix Oops when conflicting with aoa driver
[ALSA] aoa: add locking to tas codec
[ALSA] hda-intel - Fix suspend/resume with MSI
...
* git://git.linux-nfs.org/pub/linux/nfs-2.6: (74 commits)
NFS: unmark NFS direct I/O as experimental
NFS: add comments clarifying the use of nfs_post_op_update()
NFSv4: rpc_mkpipe creating socket inodes w/out sk buffers
NFS: Use SEEK_END instead of hardcoded value
NFSv4: When mounting with a port=0 argument, substitute port=2049
NFSv4: Poll more aggressively when handling NFS4ERR_DELAY
NFSv4: Handle the condition NFS4ERR_FILE_OPEN
NFSv4: Retry lease recovery if it failed during a synchronous operation.
NFS: Don't invalidate the symlink we just stuffed into the cache
NFS: Make read() return an ESTALE if the file has been deleted
NFSv4: It's perfectly legal for clp to be NULL here....
NFS: nfs_lookup - don't hash dentry when optimising away the lookup
SUNRPC: Fix Oops in pmap_getport_done
SUNRPC: Add refcounting to the struct rpc_xprt
SUNRPC: Clean up soft task error handling
SUNRPC: Handle ENETUNREACH, EHOSTUNREACH and EHOSTDOWN socket errors
SUNRPC: rpc_delay() should not clobber the rpc_task->tk_status
Fix a referral error Oops
NFS: NFS_ROOT should use the new rpc_create API
NFS: Fix up compiler warnings on 64-bit platforms in client.c
...
Manually resolved conflict in net/sunrpc/xprtsock.c
Al Viro [Sat, 23 Sep 2006 15:44:16 +0000 (16:44 +0100)]
[PATCH] missing includes from infiniband merge
indirect chains of includes are arch-specific and can't
be relied upon... (hell, even attempt to build it for
itanic would trigger vmalloc.h ones; err.h triggers
on e.g. alpha).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Herbert Xu [Sat, 23 Sep 2006 14:40:41 +0000 (00:40 +1000)]
[CRYPTO] hmac: Fix hmac_init update call
The crypto_hash_update call in hmac_init gave the number 1
instead of the length of the sg list in bytes. This is a
missed conversion from the digest => hash change.
As tcrypt only tests crypto_hash_digest it didn't catch this.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Free the irq handler in suspend and reacquire in resume as well as
intel8x0 audio driver does. Some devices may change the irq line
dynamically during suspend/resume.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Fix headphone auto-toggle on sigmatel codec
Fix/optimize the headphone auto-toggle function on sigmatel codecs.
The headphone pins are kept as output. When headhpones are unplugged,
you cannot hear anyway ;)
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Fix mic input with STAC92xx codecs
Fixed mic input with STAC92xx codecs. The mic pin was sometimes set to
OUTPUT by the headphone jack detection.
Also, try to assign a secondary mic as front-mic (or vice versa)
in the auto-detection if possible.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Support multiple headphone pins
Some machines have multiple headpohne pins (usually on the lpatop
and on the docking station) while the current hda-codec driver
assumes a single headphone pin. Now it supports multiple hp pins
(at least for detection).
The sigmatel 92xx code supports this new multiple hp pins.
It detects all hp pins for auto-muting, too.
Also, the driver checks speaker pins in addition. In some cases,
all line-out, speaker and hp-pins coexist.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Nicolas Graziano [Tue, 19 Sep 2006 12:23:14 +0000 (14:23 +0200)]
[ALSA] hda_intel prefer 24bit instead of 20bit
If I understand the hda_intel code, for format > 20bit it only advertise
the SNDRV_PCM_FMTBIT_S32_LE format and play it at 32 bit, 20 bit or 24 bit.
But if the 20bit and 24bit are available, actually it prefer the 20bit
format. This path is to prefer the 24bit format instead of 20bit.
Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Johannes Berg [Sun, 17 Sep 2006 19:59:25 +0000 (21:59 +0200)]
[ALSA] aoa: add locking to tas codec
Looks like I completely forgot to do this. This patch adds locking to
the tas codec so two userspace programs can't hit the controls at the
same time. Tested on my powerbook, but I obviously can't find any
problems even without it since it doesn't do SMP.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Remove IPGA volume controls and merge the IPGA range to ADC volume
controls. These two volumes are not really independent but connected
simply in different ranges 0-0x7f and 0x80-max. It doesn't make sense
to provide two controls.
Since both 0x7f and 0x80 specify 0dB, a hack is needed for IPGA range
to skip 0x80 (increment one) for such controls.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This patch fixes a build error (introduced by me) in ac97_patch.c wrt
WM9705 touchscreen.
o Removed spurious '3D' from character after |= operation (0x3D is
ASCII for '=')
[ALSA] hda-codec - Fix SPDIF device number of ALC codecs
Assign the SPDIF always to the secondary device (dev#1) to keep
the same configuration. Move the optional capture device to the
third device (dev#2).
hda_intel now just ignores the NULL entries in the pcm arrays
from codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Fix the order to call pci_disable_msi() to be after free_irq().
(Otherwise pci_disable_msi() bugs you.)
Also, added a description of disable_msi option to documentation.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This patch adds a new attribute, pcm_class, to each PCM sysfs entry.
It's useful to detect what kind of PCM stream is, for example, HAL
can check whether it's a modem or not.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Add independent headphone volume control
This patch addes the support of the independent 'Headphone' volume
control to the generic codec parser. Some codecs (e.g. Conexant)
have separate connections to the headphone and the independent amp
adjustment is needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Added the definition of TLV dB range compound. It contains one or
more dB-range or linear-volume TLV entries with min/max ranges.
Used for volume controls with non-linear curves.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Fixed the auto-updating of firmware if the breakout box was switched
off/on. The firmware binary itself was already cached but it wasn't
loaded properly. Also, request_firmware() is issued if the box was
with firmware at module loading time but later it's erased.
The auto-update is triggered at each PCM action (open, prepare, etc)
and at opening proc files.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Ville Syrjala [Mon, 4 Sep 2006 10:28:24 +0000 (12:28 +0200)]
[ALSA] ac97: Fix AD1819 volume range
AD1819 volume registers can hold extra bits which do not affect the
actual volume. Add a res_table to the codec patch to fix the problem.
PCM, line and mic volume were tested.
Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Andreas Schwab [Fri, 1 Sep 2006 15:15:36 +0000 (17:15 +0200)]
[ALSA] [PPC,SOUND] Fix audio gpio state detection
When booting with line out or headphone plugged, you won't hear anything.
The problem is that after reset all channels are muted, but the actual
value of the gpio port doesn't exactly match the active_val settings as
expected by check_audio_gpio. For example, the line_mute port is set to
7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
indicates that it is not active, even though it is. AFAICS only looking
at the low bit is enough to determine whether the port is active.
Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Wed, 30 Aug 2006 14:49:54 +0000 (16:49 +0200)]
[ALSA] Clean up and add TLV support to AK4xxx i2c driver
- Clean up the code in AK4xxx-ADDA i2c code.
- Fix capture gain controls for AK5365
- Changed the static table for DAC/ADC mixer labels to use
structs
- Implemented TLV entries for each AK codec
The volumes in AK4524, AK4528 and AK5365 are corrected with
a table to be suitable for dB conversion.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Luke Ross [Tue, 29 Aug 2006 08:46:32 +0000 (10:46 +0200)]
[ALSA] Support for non-standard rates in USB audio driver
There's at least one USB audio chipset out there which supports only one
non-standard rate (ID 0e6a:0310 supports 46875Hz). There's a few other
patches for this card which are unsatisfactory because they attempt to
map this rate to 44.1k leading to sound distortion.
The patch below uses SNDRV_PCM_RATE_KNOT to properly support the
non-standard rates where they are available.
Signed-off-by: Luke Ross <luke@lukeross.name> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 25 Aug 2006 11:11:26 +0000 (13:11 +0200)]
[ALSA] hda-codec - Use model=ref for some Dell laptops
Force to choose model=ref for some Dell laptops with STAC9200 codec
chip for fixing the silent mic recording problem (possibly due to
a BIOS bug). Reference: ALSA bug#2038
So far, applied to Inspiron 630m, Latitude D620 and 120L.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jochen Voss [Wed, 23 Aug 2006 16:35:35 +0000 (18:35 +0200)]
[ALSA] Fix volume control for the AK4358 DAC
Fix volume control for the AK4358 DAC.
The attenuation control registers of the AK4358 use only 7bit for the
volume, the msb is used to enable attenuation output. Without this
patch there are 256 volume levels the lower 128 of which are mute.
Takashi Iwai [Wed, 23 Aug 2006 16:34:06 +0000 (18:34 +0200)]
[ALSA] hda-codec - Fix mic capture with generic parser
Fixed the mic capture with generic parser of hda-codec driver
- Use VREF80 for mic pins if available
- Handle multiple inputs correctly on audio-input widget node.
Confirmed on a conexant codec chip.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Richard Fish [Wed, 23 Aug 2006 16:31:34 +0000 (18:31 +0200)]
[ALSA] hda-codec - restore HDA sigmatel pin configs on resume
This patch restores the Intel HDA Sigmatel codec pin configuration on
resume. Most of it is dedicated to saving the BIOS pin configuration
if necessary, so that even unrecognized chips can be resumed correctly.
Signed-off-by: Richard Fish <bigfish@asmallpond.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Guillaume Munch [Tue, 22 Aug 2006 15:15:47 +0000 (17:15 +0200)]
[ALSA] hda-codec - Support for SigmaTel 9872
- AR11M and AR11S uses the same chip hence we claim to support the AR Series.
- Added commentary about STAC9225s which shares the same id as CXD9872RD.
- Added entry for 7662 but won't work automatically until pci_subdevice
is known.
- 'vaio' model now corresponds to CXD9872RD_VAIO for backward compat.
- Replaced STAC766x_VAIO with CXD9872RD_VAIO, STAC9872AK_VAIO, STAC9872K_VAIO
and CXD9872AKD_VAIO
- Added 'vaio-ar' model for potential future modifications.
Simple patch to enable Message Signalled Interrupts for the HDA Intel
audio controller. Tested with:
Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
MSI is better because it means audio doesn't end up sharing IRQ with USB.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Krzysztof Helt [Mon, 21 Aug 2006 17:30:57 +0000 (19:30 +0200)]
[ALSA] sparc dbri: ring buffered version
It is a complete rework of low level layer to work on ring
buffers for comands and data descriptors. This removes annoying
noise due to delay in data buffer switching.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 21 Aug 2006 15:57:44 +0000 (17:57 +0200)]
[ALSA] hda-intel - Switch to polling mode for CORB/RIRB communication
Automatically switch to polling mode for CORB/RIRB communication
if the irq-driven mode seems not working well. If the polling
mode still doesn't work, switch to single_cmd mode as fallback.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>