Commit graph

6089 commits

Author SHA1 Message Date
Mark Brown
8056d9bbb5 ASoC: Improve WM9713 voice DAC shutdown procedure
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-24 23:48:11 +00:00
Takashi Iwai
1f9da55440 ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS
Fix the inverted logic of shared spdif switch.

Reference: Novell bnc#478496
	https://bugzilla.novell.com/show_bug.cgi?id=478496

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-24 15:31:02 +01:00
Takashi Iwai
a65d629ceb ALSA: hda - Add pseudo device-locking for clear/reconfig
Added the pseudo device-locking using card->shutdown flag to avoid
the crash via clear/reconfig during operations.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 16:57:04 +01:00
Takashi Iwai
209b140336 Merge branch 'test/hda-pincfg' into topic/hda 2009-02-23 14:15:47 +01:00
Takashi Iwai
13c989beba ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
Set the upper limit 0dB to the volume of mixer amp 0x20 for
AD1984A HP laptops.  The overloaded volume may damage the internal
speaker.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 11:33:34 +01:00
Takashi Iwai
5e7b8e0d87 ALSA: hda - Make user_pin overriding the driver setup
Make user_pin overriding even the driver pincfg, e.g. the static / fixed
pin config table in patch_sigmatel.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:45:59 +01:00
Takashi Iwai
346ff70fdb ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Rename from override_pin and cur_pin with user_pin and driver_pin,
respectively, to be a bit more intuitive.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:42:57 +01:00
Takashi Iwai
c17a1abae2 ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
Replace with snd_hda_codec_get_pincfg() in the places where available.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:28:12 +01:00
Tim Blechmann
f9ffc5d6f0 ALSA: hdsp - whitespace cleanup
Impact: remove trailing spaces

Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 08:28:02 +01:00
Tim Blechmann
e588ed8304 ALSA: hdsp - poll for iobox
sleeping for 2 seconds before checking for the iobox is not enough
on some systems.
this patch increases the timeout, but polls the card during that
time. it thus speeds up the module loading when the card has already
been initialized, while being more robust on systems, which require
a higher timeout than the predefined 2 seconds.

Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 08:20:01 +01:00
Takashi Iwai
66a101dda6 Merge branch 'topic/hwdep-cleanup' into topic/hdsp 2009-02-23 08:17:28 +01:00
Takashi Iwai
1618a3281b Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/patch_realtek.c
2009-02-23 08:14:41 +01:00
Juan Jesus Garcia de Soria
cc374c477c ALSA: hda - Quirk for Acer Aspire 6530G
The Acer Aspire 6530G needs the 4930G "model" for the front mic to
work properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 08:13:53 +01:00
Luke Yelavich
2d46638160 ALSA: hda - add another MacBook Pro 3,1 SSID
Reference: Ubuntu bug #33245
    https://bugs.launchpad.net/bugs/332456

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:54:26 +01:00
Steve Chen
5370d96f85 ALSA: fix excessive background noise introduced by OSS emulation rate shrink
Incorrect variable was used to get the next sample which caused S2
to be stuck with the same value resulting in loud background noise.

Signed-off-by: Steve Chen <schen at mvista.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:49:04 +01:00
Andreas Mohr
ce71bfd1aa ALSA: ALS4000, slight mixer improvements
- add 8kHz / 20 kHz low-pass filter switch control
- add ALS4000 Mono capture route control
- add annotations to specs pages
- improve ALS4000 PM saved regs selection (remove SB dummy register,
  add missing ones)
- add some missing ALS4000 register defines
- constify two variables

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:47:52 +01:00
Anssi Hannula
e8bf069c41 ALSA: aw2: do not grab every saa7146 based device
Audiowerk2 driver snd-aw2 is bound to any saa7146 device as it does not
check subsystem ids. Many DVB devices are saa7146 based, so aw2 driver
grabs them as well.

According to http://lkml.org/lkml/2008/10/15/311 aw2 devices have the
subsystem ids set to 0, the saa7146 default.

Fix conflicts with DVB devices by checking for subsystem ids = 0
specifically.

Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:41:25 +01:00
Michael Schwingen
cc95948972 ALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260)
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:39:34 +01:00
Ingo Molnar
fc6fc7f1b1 Merge branch 'linus' into x86/apic
Conflicts:
	arch/x86/mach-default/setup.c

Semantic conflict resolution:
	arch/x86/kernel/setup.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-02-22 20:05:19 +01:00
Geert Uytterhoeven
3d92e8f3ae m68k: atari - Rename "mfp" to "st_mfp"
http://kisskb.ellerman.id.au/kisskb/buildresult/72115/:
| net/mac80211/ieee80211_i.h:327: error: syntax error before 'volatile'
| net/mac80211/ieee80211_i.h:350: error: syntax error before '}' token
| net/mac80211/ieee80211_i.h:455: error: field 'sta' has incomplete type
| distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed

This is caused by

| # define mfp ((*(volatile struct MFP*)MFP_BAS))

in arch/m68k/include/asm/atarihw.h, which conflicts with the new "mfp" enum in
net/mac80211/ieee80211_i.h.

Rename "mfp" to "st_mfp", as it's a way too generic name for a global #define.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-02-22 09:23:02 -08:00
Mark Brown
93e051d277 ASoC: Only unregister drivers we registered for WM8753
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-22 14:24:00 +00:00
Mark Brown
eeb1080b29 ASoC: Report I/O errors from WM8753 reset
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-22 14:19:23 +00:00
Ingo Molnar
3b6f7b9beb Merge branch 'x86/urgent' into x86/core 2009-02-20 17:40:43 +01:00
Takashi Iwai
2f334f92cf ALSA: hda - Remove codec-specific pin save/restore functions
Replace the accessor to pin defaults with the common code for caching.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:40 +01:00
Takashi Iwai
330ee99579 ALSA: hda - Remove IDT codec-specific pin save/restore functions
Removed its own save/restore functions and replaced with the common code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:39 +01:00
Takashi Iwai
0e8a21b59d ALSA: hda - Remove realtek codec-specific pin save/restore functions
Now it's done in the common code.
Also use the common access functions for pin defaults.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:38 +01:00
Takashi Iwai
3be141494a ALSA: hda - Add generic pincfg initialization
Added the generic pincfg cache and save/restore functions.
Also introduced the pin-overriding via hwdep sysfs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:26 +01:00
Takashi Iwai
d2f57cd54a Merge branch 'fix/hda' into topic/hda 2009-02-20 16:06:47 +01:00
Takashi Iwai
55290e1932 ALSA: hda - Fix parse of init_verbs sysfs entry
Fixed the parse of init_verbs hwdep sysfs entry.
Simplieied using sscanf.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:06:30 +01:00
Clemens Ladisch
f3990e610a sound: usb-audio: remove MIN_PACKS_URB
Remove the MIN_PACKS_URB symbol because other limits can force the
number of packets down to one, regardless of the value of this symbol,
and nobody has ever changed it anyway.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 11:14:55 +01:00
Clemens Ladisch
eacbb9dba6 sound: virtuoso: increase minimum volume to -60 dB
Use -60 dB as the minimum value of the master volume mixer control.
While the DACs would support ranges down to about -120 dB, such
attenuations are not useful in practice.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 11:14:25 +01:00
Clemens Ladisch
d91b424d6d sound: oxygen: handle AK5385 ADC on Claro halo cards
The HT-Omega Claro halo's ADC is an AK5385 instead of a WM8785, so we
should handle the ADC parameters as we do with the X-Meridian.

Using the code for the wrong ADC does not seem to have any audible
effects, and the Windows driver does it, but it is nonetheless a good
idea to run the AK5385 with an oversampling ratio that is not outside
the documented limits.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 11:14:09 +01:00
Harvey Harrison
e32740d978 ALSA: pcxhr.h replace signed one-bit bitfields
The usage and comments make it clear values of 1/0 were intended
rather than -1/0

Noticed by sparse:
sound/pci/pcxhr/pcxhr.h💯20: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:101:22: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:102:24: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:103:21: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:104:25: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:105:20: error: dubious one-bit signed bitfield

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 08:02:37 +01:00
Mark Brown
ce3bdaa871 ASoC: Disable WM8731 line bypass by default
This avoids temporarily enabling the ouput stages during startup which
can cause audible effets in the output stages.

Reported-by: Fredrik Redgård <rik@svep.se>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-19 14:30:57 +00:00
Takashi Iwai
e432472db2 Merge branch 'fix/usb-audio' into for-linus 2009-02-19 13:58:05 +01:00
Takashi Iwai
e6845d9101 Merge branch 'fix/misc' into for-linus 2009-02-19 13:58:01 +01:00
Takashi Iwai
379752fdf8 Merge branch 'fix/hda' into for-linus 2009-02-19 13:57:52 +01:00
Clemens Ladisch
1275d6f608 sound: oxygen: automatically restore overwritten EEPROM
If the EEPROM was partially overwritten (which seems to happen before the OS is
booted), restore its entire contents by deducing it from the remaining
information.

This does not have any effect on the Linux driver, which works even with
incomplete information in the EEPROM, but it makes other drivers work again.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 10:22:26 +01:00
Clemens Ladisch
30459d7b18 sound: oxygen: handle cards with broken EEPROM
Under as yet unknown circumstances, the first word of the sound card's
EEPROM gets overwritten.  When this has happened, we cannot rely on the
subsystem IDs that the kernel reads from the PCI configuration
registers.  Instead, we read the IDs directly from the EEPROM and do the
ID matching manually.

Because the model-specific driver cannot determine the model before
calling oxygen_pci_probe(), that function now gets a get_model()
callback as parameter.  The customizing of the model structure, which
was formerly done by the probe() callback, also has moved into
get_model().

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 10:22:25 +01:00
Clemens Ladisch
a69bb3c3fe sound: oxygen: use static driver name
When allocating resources, use a fixed name instead of reading it from
the model structure.  This allows us to allocate the resources before
the actual model is known.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 10:22:24 +01:00
Clemens Ladisch
6ed9115709 sound: oxygen: allocate model_data dynamically
Allocate the model-specific data dynamically instead of including it in
the memory block of the card structure.  This will allow us to determine
the actual model after the card creation.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 10:22:23 +01:00
Clemens Ladisch
bb71858853 sound: oxygen: make the owner module a parameter of the probe function
Move the owner field out of the oxygen_model structure and make it
a parameter of oxygen_pci_probe(), because the actual owner module does
not depend on the card model.  Furthermore, moving it out of the model
structure allows us to create the card structure before the actual model
is known.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 10:22:22 +01:00
Takashi Iwai
a5e0e970c0 Merge branch 'topic/snd_card_new-err' into topic/oxygen 2009-02-19 10:22:14 +01:00
Clemens Ladisch
6ce6c473a7 sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X"
This reverts commit 7e86c0e685 ("do not
overwrite EEPROM on Xonar D2/D2X") because it did not actually help with
the problem.

More user reports show that the overwriting of the EEPROM is not
triggered by using this driver but by installing Linux, and that the
installation of any other operating system (even one without any CMI8788
driver) has the same effect.  In other words, the presence of this
driver does not have any effect on the occurrence of the error.  (So
far, the available evidence seems to point to a BIOS bug.)

Furthermore, it turns out that the EEPROM chip is protected against
stray write commands by the command format and by requiring a separate
write-enable command, so the error scenario in the previous commit (that
SPI writes can be misinterpreted as an EEPROM write command) is not even
theoretically possible.

The mixer control that was removed as a consequence of the previous
commit can only be partially emulated in userspace, which also means it
cannot be seen be the in-kernel OSS API emulation, so it is better to
revert that change.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 10:15:39 +01:00
Takashi Iwai
7e0e44d430 ALSA: hda - Add digital-only mode for ALC268
ALC268 can be configured as digital-only, e.g. for HDMI, on some
machines.  Allow the parser to set up the digital-only mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 08:15:49 +01:00
Takashi Iwai
ab9fec099b ALSA: hda - Avoid doubly beep attachment in patch_alc268()
Remove the doubly attachment in patch_alc268().
The input beep is attached conditionally only when needed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 08:13:26 +01:00
Takashi Iwai
07eba61dd6 ALSA: hda - Don't enable beep for digital-only ALC262
When ALC262 codec is configured as digital-only, it's meaningless to
add the digital beep input.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 08:06:35 +01:00
Mark Brown
c6f2981170 ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-18 21:26:58 +00:00
Mark Brown
519cf2df5f ASoC: Check for errors when writing WM8731 reset register
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-18 21:06:01 +00:00
Peter Ujfalusi
6bab83fd88 ASoC: TWL4030: Add digital loopback support
This patch adds the digital loopback/bypass support for twl4030 codec.

The digital loopback will let the digimic0 (routed in the TX1 capture path
inside of TWL4030) data to be routed back to the RX2 playback path
(I2S stereo). It can also route the analog capture date routed through the
TX1 back to RX2.

Effectively the digital loopback is routing the audio from the TX1 capture path
to the RX2 playback path.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-02-18 17:14:23 +00:00