Fixed 'section mismatch' errors in ALSA PCI drivers:
- removed invalid __devinitdata from pci id tables
- fix/remove __devinit of functions called in suspend/resume
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Fix the workaround for AD1988A rev2 codec not to apply to AD1988B codec
chips.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Fix the driver string name for Terratec Aureon 7.1 Universe
to fit in 15 letters to avoid the overflow.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
CONFIG_SND_FM801=y, CONFIG_SND_FM801_TEA575X=m resulted in the following
compile error:
<-- snip -->
...
LD vmlinux
sound/built-in.o: In function 'snd_fm801_free':
fm801.c:(.text+0x3c15b): undefined reference to 'snd_tea575x_exit'
sound/built-in.o: In function 'snd_card_fm801_probe':
fm801.c:(.text+0x3cfde): undefined reference to 'snd_tea575x_init'
make: *** [vmlinux] Error 1
<-- snip -->
This patch fixes kernel Bugzilla #6458.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
There is a code sequence where the locking is substream->self_group.lock
-> ins->scbs[index].lock
substream->self_group.lock is interrupt safe, and taken from irq context
as well (trace is snipped for brevity)
so what can happen is
cpu 0 cpu 1
user context user context
take ins->scbs[index].lock without disabling interrupts
get substream->self_group.lock (irqsafe)
try to get ins->scbs[index].lock (spins)
interrupt happens
try to get substream->self_group.lock (spins)
which is an obvious AB-BA deadlock
fix is to just take the lock with _irqsafe
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Added the support for Intel D965 boards with STAC9227 codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Patch from Realtek:
- Fix ALC883 support code
- Add support of ALC888 codec
- Add ALC660 support (ALC861-compatible)
- Add HP xw4400/6400/8400/9400 support (model=hp-bpc)
- Code clean-up: fix spaces and indentation
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Removed CONFIG_EXPERIMENTAL from intel8x0m driver.
The driver has been working well without problems.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This patch adds stereo controls to revo cards by making the ak4xxx
driver mixers configurable from the card driver.
Signed-off-by: Jani Alinikula <janialinikula@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Added the model entry 'laptop-eapd' for Samsung X60 Chane with
AD1986A codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This patch adds two mixer controls. The V_REFOUT enable is a
documented register that couples the microphone input lines
to the V_REFOUT DC source. The High Pass Filter enable in the
AC97_AD_TEST2 (0x5c) is an undocumented register provided by
Miller Puckette via Analog Devices that enables the AD codec
to apply a high pass filter to the input.
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This is needed if we wish to change the size of the resource structures.
Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Show EAPD and pin-detection capabilities in proc files.
They are often required to support the proper audio functionality.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Justin Sunseri reports that sound is audible on his Lenovo 3000
N100-07684JU by passing 'model=laptop-eapd' to modprobe, so this
patch adds the pci ids for his sound device to patch_analog.c .
This commit closes LP#39517. Alexey Parshin also confirmed the fix at
http://bugs.gentoo.org/137245
TODO: Mute onboard speakers when device is plugged into the headphone
jack. Muting the 'External Amplifier' mixer element while a device is
plugged into the headphone jack allows sound to be played only from the
headphone jack.
From: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Daniel T Chen <crimsun at ubuntu.com>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This patch adds a write to an undocumented register, 0x60 Extended
Codec Register Page in the AD1888 codec. It is neccessary in order
to make suspend/resume work with the AD1888.
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch by Rodolfo Giometti disables the AC97 AUX and VIDEO controls
on the WM9705 when the touchscreen is selected as the AUX and VIDEO
lines are shared with the touch controller.
Changes:-
o Added AC97_HAS_NO_AUX flag
o Test for AC97_HAS_NO_AUX flag in snd_ac97_mixer_build()
o Sets AC97_HAS_NO_VIDEO and AC97_HAS_NO_AUX in patch_wolfson05() when
WM9705 touch driver is selected.
Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Default to variable samplerate enabled for MSI K8T Neo2-FI
No crackles here with 44100.
Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=eae2cc78de39502595f67b7fc1f821f5963bb8ae
UpstreamStatus: Not merged
Christian Bjalevik reports in LP#38546 that his sound chipset requires
the 'hp_only' quirk to allow him to control sound volume correctly when
headphones are inserted. This patch adds the appropriate pci id to the
via82xx ALSA driver so that the quirk is applied automatically, thereby
removing the need for users to modify /etc/modprobe.d/alsa-base (or to
unload and reload snd-via82xx with ac97_quirk=hp_only).
This patch closes LP#38546.
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Following is a trivial patch to get more info for boards where
the AC97_VENDOR_ID2 register (or others) time out.
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added IEC958 (SPDIF) output support to Thinkpad T/X/Z60 with
AD1981HD codec. The spdif jack is on docking station.
Also, renamed 'IEC958 Playback Route' to 'IEC958 Playback Source'
to avoid the mixer name confliction with IEC958 switch.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch conditions AC97 control creation by whether or not the
codec is an AD18xx codec. This fixes the case where the default control
would get created and then snd_ac97_mixer_build fails out when creation
of ad18xx specific control would get attempted. This problem was found
and debuged by Marcelo Tosatti.
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Call ioremap before request_irq for avoiding possible races
in the irq handler.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added a model entry for HP nx6320 with AD1981HD codec.
It wasn't covered by the generic HP entry because of a hardware
bug (the SSID is reversed).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added Thinkpad T41p to the blacklist to disable HP/line jack-sensing
with AD1981B. The jack-sensing is just harmful on this laptop.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
To permit use, in ice1712, of the mpu401 info flags recently added to
mpu401_uart, adds info_flags in snd_ice1712_card_info so that additional
flags can be set, if desired. 'MPU401_INFO_INTEGRATED' is always set with
the ice1712. The flags are passed on to snd_mpu401_uart_new().
_INFO_OUTPUT is set for DMX6fire mpu2.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Changed the assigned model for HP dc7600 with ALC260 codec
to match better with the actual I/O assignment.
Patch taken from ALSA bug#2157.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch adds support for useable front audio channels,
user controllable headphone channel and optical output.
From: Anho Ki
Signed-off-by: Matt Taylor <mwtaylor@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Consumer AC97 is not used by the Terratec DMX6fire, but eeprom bit indicates
it is; change the stored value to disable failing consumer mode.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Change the 5th argument of snd_mpu401_uart_new() to bit flags
instead of a boolean. The argument takes bits that consist of
MPU401_INFO_XXX flags.
The callers that used the value 1 there are replaced with
MPU401_INFO_INTEGRATED.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
As per Takashi's feedback, this is a cleanup to make cs5535audio be
single device per system. The diff is against 2.6.17-rc4 with
Takashi's patch adding the module_params for index, id and enable.
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Remove an unnecessary ENTER_UART instruction during au88x0 init as it makes
the first/subsequent midi open to fail.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Use the basic init verbs for ALC260 instead of hp init verbs
since hp init verbs seem incomplete and not working on some machines.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add support for the ATI RS600 HDMI audio device. It has a one-stream
pure digital stereo codec that isn't handled by the generic codec
support.
Signed-off-by: Felix Kuehling <fkuehlin@ati.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- add 3D sound pre-3D/post-3D switch, as seen in standard AC-97
- rename controls to shorter and more accurate strings
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- add suspend/resume handlers
- fix problem (private_data members not set)
Playing a file while suspending will resume correctly with this patch,
so I assume the hardware to get fully correctly reinitialized with
this patch.
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fixed the handling of capture controls on ALC882 3/6-stack models.
Now the driver checks the availability of NID 07h.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fixed a bug in rme96 driver that the full-duplex on OSS emulation
doesn't work due to the invalid period size parameter.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add support for some audio quirks of the Apple Mac Mini (early 2006)
Signed-off-by: Sam Revitch <samr7@cs.washington.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Enable the support of mpu401 PCI port only when mpu_port=1 module
option is given, i.e. disabled as default.
It turned out that the check of integrated midi port isn't perfect
and caused hang-ups on some boards.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Change the order in vortex_probe to set the card details before creating the
components, meaning for example that card->shortname is available when
registering the midi port.
I have also added extra to card->shortname, and a line to overwrite the midi
name following snd_mpu401_uart_new.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adds support for the 9227/9228/9229 sigmatel hda codecs.
Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports. This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Appended is my patch adding PM support to the cs5535audio driver.
I also added the ac97 quirk but it's not yet confirmed which
boards need to be in the quirk list. The patch also includes some
Kconfig and misc cleanup.
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added the model entry for Sony Vaio VGN-A790 laptop with ALC260 codec.
From: Kenneth Crudup <kenny@panix.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Patch provides for the ice1712 card driver to overwrite the midi port name
string given by default in mpu401_uart, with one specified in
snd_ice1712_card_info.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Use DXS_SRC as the default value for dxs_support option for
VIA8235/8237/8251 chips. These new chips should work well with SRC.
For VIA8233/A/C, the old default DXS_48K is still used to be sure.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The patch fixes a conpile warning on 64bit architectures, caused by
different sizes of size_t . Since size_t is unsigned I permited
myself to cange the format, too.
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Move the workaround for the VT8251 up a bit, and check for STAT_EOL
rather than STAT_ACTIVE. This resolves issues some people were having
with certain ALSA clients (and allows the STAT_ACTIVE check to do what
it was intended to do).
This change was suggested by Andrew Daviel.
Signed-off-by: Bastiaan Jacques <b.jacques@planet.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add support for VIA VT8251 AC'97. Includes a workaround which ensures sound
won't stop playing after one second of playback.
Signed-off-by: Bastiaan Jacques <b.jacques@planet.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
There's no reason for #include'ing linux/dma-mapping.h more than once.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: au88x0 driver
since idx is used as an index for vortex_pcm_prettyname[VORTEX_PCM_LAST],
it should not be equal to VORTEX_PCM_LAST. This fixes coverity bug id #572
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: au88x0 driver
Removed all use of __devinit/__devexit and init.h from headers. Any
attributes given in the prototype but not in the function definition have
been moved to the definition.
An exception is vortex_eq_free: I removed the __devexit attribute because
vortex_eq_free is called from vortex_core_shutdown, and
vortex_core_shutdown may be called from __devinit snd_vortex_create.
Compile tested with allyesconfig and allmodconfig.
Signed-off-by: Dale Sedivec <dale@codefu.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch adds the entry for the 5-stack pin-config for the STAC
chip on the Intel D945Pvs board with subdevice id 0x0707.
With this patch against 1.0.11rc4 in the linux kernel 2.6.17-rc1, I'm
able to successfully output over the optical port and analog ports.
Signed-off-by: Ashley Clark <aclark@ghoti.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This adds the support for HP Compaq Presario B2800 laptop with AD1986A codec.
Signed-off-by: Coywolf Qi Hunt <qiyong@freeforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
These are the last conversions of pci_set_dma_mask(),
pci_set_consistent_dma_mask() and pci_dma_supported() to use DMA_xBIT_MASK
constants from linux/dma-mapping.h
Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch adds a mixer control which allows the user to switch the Aux
playback between the internal Aux jack, Wavetable, and Rear Line-In on
Aureon Universe cards.
For switching, a PCA9554 (8-line GPIO with I2C interface) and a 74HC4052
(dual 4-way mux/demux) are used. Output 0 and 1 of the PCA9554 are
connected to the select pins of the 74HC4052. The I2C interface of the
PCA9554 is connected to the card's internal SPI bus which is also used
to control the WM8770 and CS8415. SPI and I2C on the same lines...
To communicate with the PCA9554 the WM8770 and CS8415 are disabled and
an I2C Stop Condition is generated before the Start Condition (needed
for synchronisation because other SPI traffic appear to confuse the
PCA9554). Then a normal I2C data transfer takes place. Programming must
be done ridiculously slow; in theory, 4.7us is the minimum delay time
for normal-speed I2C according to the datasheet, but even with 10us
switching was unreliable. The Windows driver from Terratec does the
programming very slowly, too (checked with an oscilloscope).
PCA9554 datasheet:
http://www.semiconductors.philips.com/acrobat/datasheets/PCA9554_9554A_6.pdf
74HC4052 datasheet:
http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT4052_4.pdf
Signed-off-by: Maximilian Rehkopf <otakon@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
On a new board revision for pcxhr boards, the
PCXHR_CHIPSC_GPI_USERI bit is no more supported.
The cards concerned have a REV01 in their PCI ID.
As the current driver tests this bit and does not load the
first Xilinx binary when it's 1, the card will crash on Xilinx
access over PCI. (the PCI will freeze ....)
The fix (fix to version 1.0.11rc4) works for both REV00 and
REV01 cards.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
process_unsol_events() seems to assume a singlethread one (IOW, racey).
So, this patch uses create_singlethread_workqueue() instead of
create_workqueue().
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch adds support for high definition audio on ATI SB600.
Signed-off-by: Felix Kuehling <fkuehlin@ati.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- fix brown-paper-bag locking bug (lock() / return / unlock())
- improve central function snd_m3_update_ptr()
(avoid expensive integer divisions)
- add cpu_relax() to busy-wait I/O loop as recommended
(does this require special macro support in ALSA for older kernels??)
- constify several structs
- spelling updates
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The following patch relative to CVS from 20060324 adds the following
features to the Realtek HDA codec.
1) Define two new pin modes: ALC_PIN_DIR_IN_NOMICBIAS and
ALC_PIN_DIR_INOUT_NOMICBIAS. These can be used with jack mode switch
definitions in mixers to prevent the user being offered the mic bias
options if the hardware doesn't support it.
2) Add the ability to have different input mux definitions for different
ADCs. This is needed because the ALC260 chip uses different mux layouts
for the two onboard ADCs. A new field (num_mux_defs) was added to the
alc_spec and alc_config_preset structures to support this.
3) Adjust numerous comments to make them consistent with the above changes.
4) Utilise the new multi-mux definition functionality for the ALC260 fujitsu
model to allow recording of the mixer output.
5) Utilise the new multi-mux definition functionality for the ALC260 test
model to make the mux selections a little less confusing.
6) Allow the headphone jack of the ALC260 acer model to be retasked in
the mixer.
6) Utilise the new multi-mux definition functionality for the ALC260 acer
model to give access to the mixer output and the retasked headphone
jack.
At this stage the *_NOMICBIAS modes are not used. We have reports that the
"Line" jack of at least some Acer models doesn't pass the bias out, and we
also know that NIDs 0x0f and 0x10 don't seem to accept the mic bias requests
at all. However, I feel we need to collect more evidence on both counts
before committing to the use of *_NOMICBIAS. In the case of the Acers, it's
not clear whether this issue (probably caused by the inclusion of DC
blocking capacitors) affects all Acer models or just a small number. With
the issue with NIDs 0x0f and 0x10 it's unclear whether this is a hardware
bug which will be addressed in later chip revisions or if it's an
intentional restriction. The datasheet makes no mention of the restriction
so at this stage I'm inclined to consider it a hardware bug. Comments in
the source reflect this reasoning.
On a similar theme, the headphone jack of the Fujitsu S7020 also doesn't
appear to pass mic bias voltage. I'm still investigating this however.
With the ability to retask the headphone jack, owners of ALC260-based Acer
laptops should now be able to record 4 channels of audio if they desire. The
multiple mux definitions allow this jack to be presented from both ADCs
(since this mux input is one of those which differs between the muxes).
This patch has been tested on a Fujitsu S7020 laptop and appears to behave
itself both for the "test" and "fujitsu" models. Definitions using only a
single mux specification also work. Other ALC chips should be fine but I
cannot test these myself. The "auto" modes should also continue to function
but again I have not verified this.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Removed from CONFIG_EXPERIMENTAL from CONFIG_SND_CS46XX_NEW_DSP, and
make default to yes. This option works fine for years.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
I have just discovered I made an error in the register value set in 'Limit
dmx6fire to 6 dacs' patch (bug1472). The value set should be '2a' not '0a'
as in the original patch, which unintentionally disables the 2nd MPU 401
UART.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fix a lot of typos. Eyeballed by jmc@ in OpenBSD.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Replace all occurences of 0xff.. in calls to function pci_set_dma_mask()
and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK from
linux/dma-mapping.h.
Signed-off-by: Matthias Gehre <M.Gehre@gmx.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h
ALSA drivers using this mask are changed to use the new constant.
Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Jaroslav Kysela <perex@suse.cz>
Modules: HDA Codec driver,HDA generic driver
- Fix autoconfig speaker/hp detection
Now it allows multiple speaker pins (e.g. Dell laptops have such config)
- Use speaker or hp pins if no line-outs are available
This fixes the silence output on recent Dell laptops with STAC9200
(ALSA bug#1843)
- Fix analog/realtek/sigmatel autoconfig parser
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Documentation,HDA Codec driver
Added a new model 'laptop-eapd' to AD1986A codec for Samsung R65 and
ASUS A6J laptops.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Documentation,HDA Codec driver
Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
The new model 'vaio' is added.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: NM256 driver
Treat the nm256 mixer as a write-only device so as to avoid hangs on
initialisation.
Signed-off-by: Florian Schlichting <Florian.Schlichting@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Add the pointer to a static volume resolution table to ac97 template,
so that the drivers can define the volume resolution, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ICE1712 driver
This patch makes two needlessly global functions static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Generic drivers,ES18xx driver,CS46xx driver
This patch fixes two memory leaks spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: RME9652 driver
This patch fixes off-by-one errors found by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Documentation,HDA Codec driver
Fix the support of laptops with AD1986A HD-audio codec.
Added new models '3stack' and 'laptop'. Currently, fixed for FSC V2060
and Samsung M50.
Also fixed the description of missing models in ALSA-Configuration.txt.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: BT87x driver
Add more PCI subsystem IDs of DVB cards to the blacklist of cards the
driver is to ignore.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: CS5535 driver
The 10 ms sleeps while waiting for AC'97 codec register reads/writes to
complete are excessive given the maxmium time is one AC'97 frame (~21 us).
With AC'97 codecs with integrated touchscreens (like the UCB1400) this
improves the interactive performance of the touchscreen.
Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Documentation,HDA Codec driver
Added a new model 'lg' for LG laptop (m1 express dual) with ALC880 codec.
Also clean up the initialization/unsol_event hooks in patch_realtek.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
- Fixed recording of AD1981HD/AD1983/AD1986A
- Added model 'hp' to AD1981HD for HP nx6320
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver,HDA generic driver
Add 'fujitsu' model for ALC262 patch to support a FSC laptop.
The internal speaker is turned on/off with jack sensing.
Also fixed alc262 'basic' model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ICE1712 driver
I posted this patch to bug 1806 a while back, and have been awaiting a
reply or commit. It currently reports the Locked/No Signal text
backwards in envy24control, since i was using an older version of
envy24control when I wrote the original code. The Locked/No Signal test
was recently reversed in envy24control cvs, so the test in my code needs
to be reversed as well. Here is the patch, once again.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch adds mixer controls to the 'test' ALC260 model which allow the
user to selectively enable or disable the SPDIF output pins. This should
assist people identify digital outputs on machines which bring them to the
outside world.
Note that while the patch *should* work, I cannot personally verify it since
my laptop doesn't bring the SPDIF lines out.
As for the GPIO switches added in patch 4, these controls are currently
only compiled in if debug mode is selected.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch is janitorial - it cleans up a number of cosmetic issues with
the 'fujitsu' and 'test' models. Issues addressed:
* spaces instead of tabs used for some indents,
* clarified/corrected selected comments.
Unlike a patch from earlier this week, this keeps both ADCs connected to
the mic1 pin widget by default. I believe this is the better default, since
some laptops don't bring the line1 widget to the outside world. Most (if
not all) do bring mic1 out though, so it seems to me that this default
should remain in place.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch adds a new 'acer' model. It is based on work by Rimas and many
other dedicated Acer owners over the past few weeks (see bug number
1618) - kudos to them. This adds support for a variety of Acer laptops,
although we are still in the process of collecting pci/subsystem IDs to add.
There are still some potentially outstanding issues: there are reports that
the CD control might not yet be functional for example. However, the time
is probably right to get a 'first cut' into the kernel which can be refined
as more test reports come in.
From the reports by various Acer owners, this code allows them to record
from internal mics and external jacks. Playback also seems to work to all
external jacks and the internal speaker. The 'beep' control doesn't appear
functional at the moment.
This patch depends on the changes made in patch 3/7.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch adds 'test' model mixer switches for the GPIO controls found on
the ALC260. It has been found that some laptops (eg: Acer) can use these to
enable particular controls, so it would be useful to have access to these
via the 'test' model. It will make testing new models easy, especially if
certain outputs cannot be made to work any other way.
This patch *should* work, but because the GPIO pins don't do anything in
my laptop I cannot personally verify that all this works as expected.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch generalises a structure added for the 'fujitsu' model but which
is potentially useful for other models as well. It turns the
'alc260_fujitsu_adc_nids' array into 'alc260_dual_adc_nids'; for other
models which decide to utilise the dual ADC functionality there's really
no reason why they need to define their own list of ADC nids.
The 'fujitsu' model preset is adjusted accordingly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch adds functionality which switches the input/output buffer enables
of retasking pins when the user changes their mode with the mode control.
This probably reduces noise *slightly* for recording compared to the case
where both input and output buffers were enabled simultaneously.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch fixes input mux labels used for the ALC260 'test' model. This is
needed to avoid confusion which comes about because the two ADCs in the
ALC260 have slightly different mappings for their input selectors. Since
this is just the test model it's sufficient to simply report both options
where they exist. If a model comes along for which this becomes an issue,
the ALC260 input mux code will have to be extended to allow different mux
layouts for different ADCs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Intel driver
Switch the method to measure the current DMA position automatically
from position-buffer mode to LPIB-read mode with a sanity check.
Some hardwares seems to have problem with the position buffer.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver,HDA Intel driver
Switch to single_cmd mode automatically as a fallback when CORB/RIRB
communication doesn't work well. It may make the driver working on
some devices with broken BIOS/ACPI support.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
It seems that hardware requires some time to reset bus master registers.
We need to wait until ICH_RESETREGS bit is not released.
The suggestion and symptom was described by Mike Gorchak <lestat@i.com.ua>.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: HDA Codec driver
The following patch adds a 'test' ALC260 model specification to the
patch_realtek.c driver if CONFIG_SND_DEBUG is set. This is similar to the
'test' ALC880 model in that it sets up mixer controls for almost everything
to make it easier for people to test their laptop/soundcard when working out
what pin widgets are connected to which real-world devices.
This patch assumes my previous patch (adding the second PCM to the ALC260)
has previously been applied since it uses infrastructure added by that
patch.
In developing this patch it was found that not all retasking pins accept all
the modes - in particular, some ignore the VREFxx variants. The pin mode
control has therefore been tweaked to prevent this becoming a problem in
mixer applications.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
The following patch changes the initverbs associated with the output sum
widgets 0x08, 0x09 and 0x0a used with the fujitsu model in patch_realtek.c.
It is against alsa 1.0.11rc3.
Currently these widgets have their output muted, but a close reading of the
datasheet suggests that they don't actually have an output mute. They have
an *input* mute for each of their two inputs and a single output gain. This
patch therefore activates the input mutes and zeros the output gain. It has
not yet been tested but the above interpretation of the ALC260 datasheet
seems correct.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
The following patch against alsa 1.0.11rc3 creates a PCM device (pcm1c) for
the second ADC present on the ALC260 codec used by the hda driver. It also
defines a new mixer control allowing the mode of retasking pins to be set;
this means a user can (for example) designate the headphone jack to be a
second input. With this patch in place it is possible to do 4 channel
recording on laptops equipped with an ALC260 codec assuming both a stereo
line-in jack is provided in addition to a headphone jack.
Mixer controls are provided to allow the headphone jack to be switched as
an input. In addition, an (input only) mode control is configured for
the line-in jack to allow a bias voltage to be requested (VREF80 or VREF50)
so headsets based on condensor microphones have a chance of working.
This patch has been tested on a Fujitsu S7020 laptop and as such these
features are currently only configured for the 'fujitsu' model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Added the support of static resolution table support for codecs
that the driver cannot probe the volume resolution properly.
The table pointer should be set in each codec patch.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: BT87x driver
- added 0x107d:0x6606 to whitelist
- print also the pci device ID for developers when model is not known
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: ICE1712 driver
Change the value written to hardware configuration register of envy24 chip
in the case of Terratec DMX6fire to restrict the active ADCs & DACs to 6.
Also add the dxr_enable module option to eventually leave the old behaviour
when user requests.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: YMFPCI driver
Added rear_swap module option / kernel parameter to configure the rear
channel swapping. Default value is enable to make the AC3 passthrough
working, but analog only users might revert the previous behaviour.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: au88x0 driver
Fix the driver codes to run on 64bit architectures.
The patch taken from ALSA BTS bug#1047.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: YMFPCI driver
The routing of the effect 2/3 channels to the digital output is the
opposite of the rear analog output (left/right swapped).
We make the order correct for the digital output (which will make the
analog rear have the channels swapped) to make AC3 output work.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: Documentation,HDA Intel driver
Added single_cmd module option for debugging in the case CORB/RIRB
doesn't work well (e.g. due to wrong irq routings).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
Fix the detection of tertriary codec on SIS7012, including clean-ups
of relevant codes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This little patch add the model for the motherboard K8N51 from Gigabyte
to the known models of ALC boards.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
* Fix init sequence so manually retaskable jacks don't get added to
the line_out list.
* Update intel mobo config defaults to specify surround outputs
as line outs rather than speakers.
Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Fix max_channels computation for STAC92xx codecs in the case only
HP pin without line-out pins is detected in the default pin config.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This adds support for Agere's variant of Si3054/5 based HDA modem.
Signed-off-by: Sasha Khapyorsky <sashak@alsa-project.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>