The sound boards with VT1724 and compatible chips may lock up when
MPU401 is accessed together with the PCM streaming.
This patch fixes the problem.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The irq handler of PCI drivers must be released before releasing other
resources since the handler for a shared irq can be still called and
may access the freed resource again.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.
However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.
So, where sync-irq could not be eliminated completely, the missing check
was added.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Correct some arguments in calls to snd_ice1712_gpio_write_bits() from
ap192_set_rate_val().
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Some calls to snd_ice1712_gpio_write() go wrong, if
snd_ice1712_gpio_write_bits() ran before and changed the gpio mask register.
Read the actual gpio value and combine it with the to be set bits in the cpu
instead.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Let "chip reset" become first. Increasement of the "chip reset" related timeout
leads to correctly read eeprom's contents here.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The last ALC889A hack may break on some devices with certain model presets
since patch_alc*() have different model tables. So, now it's handled in
the original patch_alc882() but fly to patch_alc883() in model=auto
appropriately.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Several 92hd7xxx and STAC9228 laptops have multiple headphone jacks,
the second headphone jack should be used for the 5.1 surround sound.
Add support for 'Headphone as Line Out' switch, which allows it be used
in 5.1 surround sound.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add a pointer for DAC volume TLV data to the model structure so that the
model driver do not need to manually assign it in their control filter.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Initialize the playback volume controls as being muted and having
minimal volume.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add fields for the DAC volume limits to the module structure so that
model drivers do not need to install their own control info handlers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The empty hifier_mixer_init() function is useless; remove it.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added the support of AD1989A and AD1989B codecs.
These codecs can have multiple SPDIF devices, but currently we handle
only one SPDIF. If any real devices with two SPDIF interfaces (likely
one for SPDIF and one for HDMI), we'll fix this rightly.
Otherwise, these codecs are pretty similar with AD1988.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fix the GPIO 1 mixer control to enable I/O through the front panel
connector of the Xonar DX.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This adds support for Quanta IL1 mini-notebook to alsa, defining a new model
for it. It comes with an ALC267 codec chip. Some notes about this model:
* In headphone automute, I use AC_VERB_SET_PIN_WIDGET_CONTROL instead of common
amp mute, to avoid conflict with mixer switch (mixer and automute use the
same nid).
* The only connected capture sources in the hardware are the internal mic and
external mic jack. So instead of using an input source selector like on other
ALC268 models, the mic automute automatically switch between captures.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Power management support for EAPD enabled laptops, when headphones
are sensed it pulls the EAPD GPIO line low to power it down.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Several laptops have have the SPDIF out defined as 'Digital other out'
when it should be 'SPDIF out' in the default config.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The legacy PC speaker signal was not routed to outputs. The codec is not
prevented from powering down in this patch, although I suppose one could
argue that perhaps it should be. Let me know if anyone feels strongly one
way or the other.
Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Please refer to [0003874] on the alsa mantis.
This patch added the pci quirk.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
To mute the output of Pin widget 15 in ALC880, we should use the
HDA_OUTPUT. However, current code looks like :
snd_hda_codec_amp_stereo(codec, 0x15, HDA_INPUT, 0, HDA_AMP_MUTE, bits);
It may be a misspelling.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
WARNING: braces {} are not necessary for single statement blocks
#40: FILE: sound/pci/es1968.c:1831:
+ if (diff > 1) {
+ __maestro_write(chip, IDR0_DATA_PORT, cp1);
+ }
total: 0 errors, 1 warnings, 35 lines checked
./patches/es1968-fix-jitter-on-some-maestro-cards.patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Please run checkpatch prior to sending patches
Cc: Andreas Mueller <andreas@stapelspeicher.org>
Tested-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch suppresses jitter on several Maestro cards in stereo mode (ALSA of
course).
The patch is also incorporated in the *BSD drivers where I "ported" it from.
Without this patch most of the stereo audio gets out of sync and really
distorted (oss-emulation with mplayer at 48000khz worked somehow).
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdspm.c has unusually large number of static inline
functions - 22.
I looked through them and some of them seem to be too big to warrant inlining.
This patch removes "inline" from these static functions (regardless of number
of callsites - gcc nowadays auto-inlines statics with one callsite).
Size difference on 32bit x86:
text data bss dec hex filename
20437 2160 516 23113 5a49 linux-2.6-ALLYES/sound/pci/rme9652/hdspm.o
18036 2160 516 20712 50e8 linux-2.6.inline-ALLYES/sound/pci/rme9652/hdspm.o
[coding fix by Takashi Iwai <tiwai@suse.de>]
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Please refer to [0003848] on the alsa mantis.
This patch adds the pci quirk and Mic-Int controller.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
On the Xonar DX, initialize all bits of the two-wire control register.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add a mixer control for switching whatever it is that is connected to
GPIO pin 1 on the Xonar DX.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
If the card model does not have a digital input or an AC97 codec,
disable the respective interrupt and mixer controls.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
When selecting the capture source on the Xonar DX, the input jack must
be routed to either the line input or the microphone input by setting a
GPIO pin. This requires an additional callback so that the model driver
can hook into the toggling of AC97 switches.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Change the card short name to show to show the card name instead of the
chip name.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
When playing data at 96 kHz or higher, reduce the DAC oversampling rate
to 32.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Move the code that is common to all Xonar models to a separate function,
and make it more generic in preparation for another model.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Rename all CS5381 symbols to CS53x1 because they can also be used for
Xonar models with a CS5361.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Use separate model structures for the D2 and D2X so that the init
function does not have to check for the model again.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
"GPL 2" does not mean that there have to be two MODULE_LICENSE("GPL")
entries. ;-)
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
On C-Media cards, the GPIO pin 0 of the CM9780 must be handled exactly
like on Xonar cards, so move the Xonar code to the common mixer code.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add support for mic automute in clevo-m720r ALC883 model, and rename it
to more generic clevo-m720. Also change model entry in ALSA-Configuration.txt
accordingly.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Forgot one more: 3stack-hp model also have now the same mixer as
3stack-6ch (after DAC assignment fix in ALC883), so use it avoiding
duplicating the same mixer definition.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
After DAC assignment fix in ALC883, alc888_6st_dell_mixer is now the
same as alc883_base_mixer. Avoid duplicated code and use
alc883_base_mixer in 6stack-dell model, removing alc888_6st_dell_mixer
definition.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>