Clemens Ladisch [Mon, 7 May 2007 07:28:53 +0000 (09:28 +0200)]
[ALSA] usb-audio: work around broken M-Audio MidiSport Uno firmware
The firmware of the M-Audio USB Uno MIDI Interface has, at least in
hardware revision 1.25, a bug that garbles its USB output. When it
receives a Note On MIDI message that uses running status, the resulting
USB MIDI packet has a wrong CIN (4 instead of 9) and a wrong length
(2 bytes, the status byte is still missing).
This patch adds a workaround to track the CINs and the MIDI messages of
received USB MIDI packets to detect whether a packet with CIN 4 is a
correct SysEx packet or a buggy running status packet.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Daniel Drake [Mon, 7 May 2007 07:27:05 +0000 (09:27 +0200)]
[ALSA] usb-audio: explicitly match Logitech QuickCam
Commit 93c8bf45e083b89dffe3a708363c15c1b220c723 modified the USB device
matching behaviour to ignore interface class matches if the device class
is vendor-specific.
This patch adds explicit ID matches for Logitech QuickCam devices, which
have a vendor specific device class (but standards-compliant audio
interfaces).
This fixes a 2.6.20 regression where the audio component of these
devices was no longer usable.
http://bugs.gentoo.org/show_bug.cgi?id=175715
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/93822
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3040
Based on a patch from sergiom
Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Sat, 5 May 2007 10:18:40 +0000 (12:18 +0200)]
[ALSA] hda-codec - Fix ALC880 uniwill auto-mutes
Fix the auto-mute controls of ALC880 uniwill model. Split to two
individual functions to handle HP and front-mic mutes. For front-mic
mute, use snd_hda_codec_amp_update() to be consistent with mixer.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
David Rientjes [Fri, 4 May 2007 07:35:54 +0000 (09:35 +0200)]
[ALSA] wavefront: only declare isapnp on CONFIG_PNP
From: David Rientjes <rientjes@google.com>
isapnp[] is only used for CONFIG_PNP. If this configuration option is
not set, do not declare the array. Cc: Adam Belay <ambx1@neo.rr.com> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - bug fixes for stac92xx HDA codecs.
* fixed surround playback on stac922x. Pin direction control bits were
not being set correctly in stac92xx_set_pinctl(). Specifically it
would refuse to set the port as an output if the port was already
configured as an input. Last hunk (#8).
* fixed an input mux bug on 92xx codecs. When there is more than one
possible input calculated for the muxes, the actual mux widget never
gets set from its reset default, which is index 0, in the stac9221
case that is port E. So alsamixer/amixer/gnome-mixer report the Mic
as being the selected input source, but in fact is something else
(line-in port E in stac9221 case). Another problem with this is that
if you actually try to set the mux input to 'Mic', nothing happens
because *cur_val == idx (see snd_hda_input_mux_put). You have to
actually toggle input source to line-in then back to mic to actually
set the mux widget. Hunk #7.
* fixed some typos in patch_sigmatel.c. Hunk #6.
* fix to stac92xx_add_dyn_out_pins() that fixes surround playback on
codecs with less that 4 DACs (stac9205 for example). It reads the widget
caps cache created by hda_codec to count the total number of analog DACs
found. It then uses that to determine whether there will be enough
independent DACs available for line/mic switch controls. Hunk #1, #2,
and #3.
* improvements to stac92xx_auto_fill_dac_nids() to make it more general.
This fixes surround playback on some codecs in combination with the
fix to stac92xx_add_dyn_out_pins() above. It reads the full connection
list now, instead of just the first entry, and then locates an analog
DAC in the list. If one is found and it's free, assign it to that line-out.
If no free DAC is found for the line-out, return -ENODEV. It also makes
sure to actually select the chosen DAC if more than one DAC is input to
the pin. Hunks #4, #5.
Signed-off-by: Steve Longerbeam <stevel@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Thu, 3 May 2007 10:26:14 +0000 (12:26 +0200)]
[ALSA] usbaudio - Revert the minimal period size fix patch
The last patch didn't really work (false report).
Although the hardware supports 125us minimum period, the current
usb-audio driver code assumes the 1ms period in many places.
Rollback the change.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-intel - Fix detection of audio codec on Toshiba A100
Some boards have the audio codec on slot #3 while the modem codec
on slot #0. The driver should continue to probe the slots when
no audio codec is found.
This fixes the problem of no device on Toshiba A100 (and some other
ATI SB450 devices).
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Akinobu Mita [Mon, 23 Apr 2007 09:54:41 +0000 (11:54 +0200)]
[ALSA] sound: fix incorrect use of platform_device_register()
The platform_device allocated by platform_device_alloc()
should be added to the device hierarchy by platform_device_add()
instead of platform_device_register().
Otherwise it will hit WARN_ON() in platform_device_register().
by illegal refcount.
This patch fixes such incorrect usages in portman2x4 and mts64 drivers.
Also it removes unnecessary trailing whitespaces.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
When intel8x0 driver is loaded in the crash kernel, it gets Oops
occasionally. This is because the irq handler gets called before
the proper hardware initialization. Now defer it after
snd_intel8x0_chip_init().
(reference: http://lkml.org/lkml/2007/3/5/252)
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Fix surround output on AD1986A codec 3stack model.
The following bugs are fixed:
- init verbs for 3stack disabled the shared surround outputs
- a channel mode change resulted in the mute of surrounds
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This patch series adds support for the WM8753 codec as found on the
OpenMoko Neo 1973 (other Neo 1973 and Samsung S3C24xx patches to follow
today) as well other new devices.
Features:-
o HiFi and Voice DAI supported (inc runtime switching of DAI mode)
o DAPM
o All mixers
o PLL calculator
o 16,20 and 24bit samples.
o WM8753 I2C ID added to include/linux/i2c-id.h
From: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Frank Mandarino [Mon, 16 Apr 2007 15:19:42 +0000 (17:19 +0200)]
[ALSA] ASoC AT91xxxx eti B1 machine SSC changes
This patch by Frank Madarino updates the eti B1 machine to use the newer
AT91xxxx SSC core with the DSP/PCM audio hardware changes.
Changes:-
o #include 'at91-ssc.h' instead of 'at91-i2s.h'
o Rename various I2S labels to SSC
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Frank Mandarino [Mon, 16 Apr 2007 15:18:52 +0000 (17:18 +0200)]
[ALSA] ASoC AT91xxxx - SSC port DSP support
This patch series by Frank Madarino updates the AT91xxxx core to add
DSP/PCM audio hardware formats.
Changes:-
o Rename at19-i2s.c -> at91-ssc.c
o Rename at91-i2s.h -> at91-ssc.h
o Add DSP hardware formats.
o Rename various I2S labels to SSC
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] ASoC DAPM switching for reentrant codec paths
This patch fixes an issue whereby power was applied to any inactive
analog path that would leave and reenter a codec (e.g. ACOP -> ACIN on
WM8753). This change now checks for such paths and DAPM will power them
down when not in use.
[ALSA] hda-intel - Merge hda-codec module to a single module
Merge hda-codec module to a single hda-intel module since this is the
only user right now. Although hda-codec stuff is designed to be used
universally from different controller drivers, currently only one
controller interface (and compatibles) are used. So, let's merge them
to a single module to save memory.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Allow opening SPDIF while analog dup mode
Allow opening the dedicated SPDIF stream while running on analog dup
mode. Then the SPDIF stream is once reset and assigned for the new
stream. It's useful for exclusive SPDIF output like AC3/DTS.
(In the former version, you had to close once the analog stream to
play the exclusive digital stream.)
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Added the support of 96kHz sample rate back. Although the rate isn't
listed in the ACC_PAR_PCM bits but si3054 codecs do support this rate
explicitly. Now fixed the deteciton code not to check this extra bit.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Kailang Yang [Thu, 12 Apr 2007 11:06:07 +0000 (13:06 +0200)]
[ALSA] hda-codec - Add ALC662 support
- Add ALC662 support
- Fixed no sound for [0x1631, 0xc017, 'PB V7900', ALC260_WILL]
- Fixed no sound for [0x161f, 0x2057, 'Replacer 672V', ALC260_REPLACER_672V]
- Add SKU ID for auto mode
Signed-off-by: Kailang Yang <kailang@realtek.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Pavel Hofman [Tue, 10 Apr 2007 09:39:58 +0000 (11:39 +0200)]
[ALSA] ice1724 - Functioning support for Prodigy 192
Fixes:
--------
* correct card specific ice1724 initialization
* working IEC958 output of the card
* renamed capture controls
New features:
------------------
* analog input switch (line-in/mic)
* optional ak4114 based MI/ODI/O card detection & support: IEC958 input,
digital input switch (toslink/coax)
Unresolved issues
-----------------------
* Analog and digital input enums are listed on playback panel of alsamixer,
I do not know how to push them onto the capture one.
Signed-off-by: Pavel Hofman <dustin@seznam.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Pavel Hofman [Thu, 5 Apr 2007 15:07:30 +0000 (17:07 +0200)]
[ALSA] Fix misc bugs in i2c/others/ak4114.c
* correct register for 'IEC958 Non-PCM Bitstream', 'IEC958 DTS Bitstream'
to use AK4114_REG_RCS0
* correct check for control name: if (strstr(kctl->id.name, 'Playback'))
* correct check: if (!chip->init) in snd_ak4114_external_rate
* added PCM control 'IEC958 PPL Lock Status'
Signed-off-by: Pavel Hofman <dustin@seznam.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Fix SPDIF output (at least on Realtek codecs). The DIGI_CONVERT verbs
have to be reset before the PCM stream is set up. Otherwise the digital
setup is screwed up.
Also, check the AMP capability before setting AMP of the digital out
widget.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
- Clean up ali5451.c, following the standard coding style, unneeded codes
reduced, and removal of redundant variable initializations.
Hungarian notation isn't fixed yet ;)
- Fix irq handler to return IRQ_NONE properly for shared irqs.
Also check the hardware availability in irq handler to avoid possible
initialization races at loading the driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 30 Mar 2007 13:38:39 +0000 (15:38 +0200)]
[ALSA] ak4114 - Fix possible Oops with callbacks
ak4114 code may trigger Oops when the parameters are changed without
call of snd_ak4114_build(). Now it checks the existence of kctl
element, and the workq is triggered after building the necessary
kcontrols.
Also, did some code clean up.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Rene Herman [Wed, 28 Mar 2007 13:23:53 +0000 (15:23 +0200)]
[ALSA] es1968 - Fix stuttering capture
Looks like the buffer size for the stereo capture has to be a
power of two. Now added a constraint to buffer bytes.
Also removed unnecessary #if 0 lines.
Signed-off-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Wed, 21 Mar 2007 14:14:35 +0000 (15:14 +0100)]
[ALSA] hda-intel - Probe additional slots only if necessary
Probing the codec slots on ATI controller causes problems on some
devices like Acer laptops. On these devices, reading from codec
slot 3 results in the communication failure with the codec chip.
Meanwhile, some laptops (e.g. Gateway) have the codec connection
only on slot 3, and probing this slot is mandatory for them.
The patch improves the probing robustness. The additional slots
are now checked only when no codecs are found in the primary three
slots.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Rene Herman [Wed, 21 Mar 2007 11:05:06 +0000 (12:05 +0100)]
[ALSA] Fix alsa-devel ML address
This replaces all occurences of alsa-devel@lists.s[ource]f[orge].net
that a simple recursive grep found in the current HG ALSA repos by
alsa-devel@alsa-project.org.
Signed-off-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
David Brownell [Wed, 21 Mar 2007 10:54:04 +0000 (11:54 +0100)]
[ALSA] fix SND_SOC Kconfig
The new ALSA 'SOC' support has bogus Kconfig ... it should
not be presenting anything AT91-related except on AT91,
or anything PXA-related except on PXA. Right now, x86
sees both of those menus, as do all other platforms.
This patch removes needless Kconfig layering, and the
related inappropriate choice presentation.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Julian Cable [Mon, 19 Mar 2007 10:44:40 +0000 (11:44 +0100)]
[ALSA] hdsp - Add support for fine tuning of sample rate support to HDSP 9632
Add 'DDS Sample Rate Offset' control. Allows values in Hz from -5000 to +5000.
The value is added to the nominal sample rate and written to the DDS register.
Takashi Iwai [Mon, 19 Mar 2007 10:42:18 +0000 (11:42 +0100)]
[ALSA] hda-codec - Fix Macmini and Macbook pin configs
Original idea from Nicolas Boichat <nicolas@boichat.ch>.
The pin configurations of Macmini and MacBook (1st generation, at least)
seem identical with MacBook Pro (1st generation).
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
The ad1816a driver fails if the mpu401 driver has been loaded first. This
patch against linux 2.6.20 fixes it by just ignoring the MPU-401 device in
that case, so that the rest of the sound card can be used. The ad1816a
driver already handles the MPU-401 device being unavailable due to lack of
resources in the same way.
Ralf Baechle [Tue, 13 Mar 2007 14:31:08 +0000 (15:31 +0100)]
[ALSA] ice1712: build fixes
CC [M] sound/pci/ice1712/ice1712.o
sound/pci/ice1712/ice1712.c:290: error: snd_ice1712_mixer_digmix_route_ac97 causes a section type conflict
sound/pci/ice1712/ice1712.c:1630: error: snd_ice1712_eeprom causes a section type conflict
...
Gcc like its __devinitdata readable not const, it seems. An alternative
fix would be to remove the __devinitdata attribute but that would result
in slight runtime bloat.
Ralf Baechle [Tue, 13 Mar 2007 14:29:47 +0000 (15:29 +0100)]
[ALSA] hda_intel: build fix
CC [M] sound/pci/hda/hda_intel.o
sound/pci/hda/hda_intel.c:1508: error: position_fix_list causes a section type conflict
Gcc like its __devinitdata readable not const, it seems. An alternative
fix would be to remove the __devinitdata attribute but that would result
in slight runtime bloat.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
John Utz [Mon, 12 Mar 2007 11:30:06 +0000 (12:30 +0100)]
[ALSA] ac97 - Smart 5.1 for VIA 1617a codec
This patch provides a single 8 way enum called 'Smart 5.1 Select' with
some reasonable names for each enum that allows the user to choose
which of the 8 possible settings for vt1617a's version of what via
calls 'Smart 5.1'.
Signed-off-by: John Utz <john.utz@dmx.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Tobin Davis [Mon, 12 Mar 2007 10:39:01 +0000 (11:39 +0100)]
[ALSA] hda-codec - Conexant improvements
This patch further improves on the Conexant Audio driver.
Adds support for Fujistu Siemens Si1520 series laptops.
Adds support for mic/line in on CX20549 based systems (aka 5045).
removes duplicated or unused controls (gpio, spdif) from test model.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Clemens Ladisch [Mon, 12 Mar 2007 07:30:16 +0000 (08:30 +0100)]
[ALSA] Kconfig: fix FW_LOADER dependencies
Move the FW_LOADER dependencies out of the *_FIRMWARE_IN_KERNEL entries
because these drivers use the firmware loader regardless of whether
there is an in-kernel firmware image.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Remy Bruno [Wed, 7 Mar 2007 18:08:46 +0000 (19:08 +0100)]
[ALSA] hdspm - Support for Master mode of AES32 and recent MADI
The current MADI driver was found not to completely work, at least on recent
MADI cards (rev 204), in particular at 96kHz. This patch solves this:
* Add support of DDS feature
* Channel map fixed
* Channel/rate rules fixed
* DMA allocation fixed (need to alloc for all channels and not only for the
used ones)
Full support for AES32 master mode was added:
* Add support of DDS feature
* Channel map fixed
* Channel/rate rules fixed
Signed-off-by: Remy Bruno <remy.bruno@trinnov.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] echoaudio - increase sleep time at loading firmware
The new ASIC code needs more time to set up.
(Note: the driver still works fine with the old firmware after this change.
The opposite is not true.)
From: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>