Commit graph

1509 commits

Author SHA1 Message Date
Clemens Ladisch
236c4920ea [ALSA] oxygen: fix AK4396 double rate upper limit
Fix the upper sample rate limit for the double rate mode of the AK4396
to the value from the datasheet.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Takashi Iwai
4806ef0cf4 [ALSA] hda-codec - Add SPDIF controls as slave on AD codecs
The AD codecs have hardware SPDIF volume/switch controls but they
are not assigned to the slave list for virtual master controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Matthew Ranostay
b5895dc8b4 [ALSA] hda: STAC92xx Line In/Mic as output check
This patch checks to see the Line In/Mic port have the ability
to do output before creating the the control switches.
The 92hd71bxx series of codecs has this issue with the port 0xe,
which only allows input.

Signed-off-by: Matthew Ranostay <mranostay@embededalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Takashi Iwai
628ed1333a [ALSA] hda-codec - Add missing slave for AD1884 master switch
The Speaker switch is missing in the slave list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Andy Shevchenko
dafc83578d [ALSA] hda-codec - Add model for Acer Aspire 5310
Simplify usage of the Acer Aspire 5310 laptop with the ALC268 based codec
sound card via add correct PCI SSID.

Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Takashi Iwai
461e2c78b1 [ALSA] hda-codec - Add Conexant 5051 codec support
Added the support for Conexant 5051 audio codec.
Right now there are two preset models, laptop and hp.
The whole patch is based on the information from the base patch by
Linuxant.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Clemens Ladisch
c626026dd7 [ALSA] add TempoTec HiFier driver
Add a driver for the MediaTek/TempoTec HiFier Fantasia sound card.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:15 +01:00
Clemens Ladisch
b78e3dbb04 [ALSA] oxygen: more initialization
Initialize more registers of the controller and the second AC97 codec.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:15 +01:00
Clemens Ladisch
976cd62700 [ALSA] oxygen: make the number of analog output configurable
Add a field to struct oxygen_model to allow model drivers for cards with
less than eight output channels.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:14 +01:00
Andy Shevchenko
69252128ec [ALSA] fm801 - Add mute support for FM-only card with FM801 PCI to tuner bridge
This is improvement of the early support of the FM-only cards where the
fm801 chip represents the PCI to tuner bridge.
The tuner initialization isn't included the mute on as well as mute support
via V4L request. Proposed patch should fix this at least for 64-PCR model.

Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:14 +01:00
Andy Shevchenko
29a52c242d [ALSA] hda-codec - Add model for Acer Aspire 5315
Simplify usage of the Acer Aspire 5315 laptop with the ALC268 based codec
sound card via add correct PCI SSID.

Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:14 +01:00
Matthew Ranostay
e2e7d624ad [ALSA] hda: STAC9205 GPIO line fix
Fixed issue that the incorrect GPIO line was being pulled high
for some STAC9205 based laptops.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:14 +01:00
Takashi Iwai
6330079fc6 [ALSA] hda-codec - Fix handling of multiple capture streams
Fixed the bug that multiple capture streams conflict on Realtek codec
routines.
Also, this adds a framework to enable the alternative playback stream,
e.g. for VoIP.  It's not fully implemented yet, though.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Matthew Ranostay
09a9995918 [ALSA] hda: Add dynamic mono mixer support for STAC92xx codecs
Allows for dynamically creating mono out mixer controls and well
as mono mux controls.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Matthew Ranostay
90da78bf6a [ALSA] hda: Added mono_out_pin to autoconfig
Added a mono_out_pin field to autocfg struct, and code to parse
for the mono_out_line.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Clemens Ladisch
cd93dc8cca [ALSA] oxygen: remove MIDI for generic cards
None of the reference design models have MIDI, only the X-Meridian
allows to connect a MIDI adapter.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Clemens Ladisch
33c646e4ff [ALSA] oxygen: fix SPDIF input rates
Fix up SPDIF input sample rates again: 32 kHz and 64 kHz are not
supported.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Randy Dunlap
5be55be58c [ALSA] fix cs5535 section mismatch
snd_cs5535audio_mixer() is only called by __devinit snd_cs5535audio_probe(),
so the mixer function can also be __devinit.
WARNING: vmlinux.o(.text+0xfdbba0): Section mismatch: reference to .init.data:ac97_quirks (between 'snd_cs5535audio_mixer' and 'process_bm0_irq')

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:12 +01:00
Takashi Iwai
dca008f367 [ALSA] hda-codec - Don't query widget parameter for invalid NID
Don't query a widget parameter for an invalid NID in get_wcaps() but
rather returns zero (i.e. no attribute).
The read to an non-existing widget may result in a fatal codec
communication error.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Takashi Iwai
0ef6ce7b6a [ALSA] hda-codec - Optimize snd_hda_pser_pin_def_config()
Don't read the widget list again as we already have it at the beginning.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
ca7cfae9eb [ALSA] hda-codec - Add afg and mfg preset mask
Added afg and mfg preset masks for more finer codec-preset selection.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
1cfd52bc1a [ALSA] hda-intel - Add ratelimit to timeout messages
Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
d2595d86e5 [ALSA] hda-codec - Add a delay after power state change
Added a delay after the power state change as a partial workaround
for 'hda_intel: azx_get_response timeout' problem on Cxt codecs.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
9f113e0ef4 [ALSA] hda-codec - Add missing input controls for Cxt5047 test model
The input volume/switch elements are missing in Cxt5047 test model.
Also the patch includes some code clean ups.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
15908c36aa [ALSA] hda-codec - Fix laptop models for Cxt5045
Change laptop models to three different models, laptop-hpsense,
laptop-micsense and laptop-hpmicsense.  The first two correspond to
the old 'laptop' and 'fujitsu' models.
Reassigned the quirk table for the new models.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Matthew Ranostay
b22b48214f [ALSA] hda: Mono mux mixer support
Add support for the mono mux on several 92HD7xxx codecs.
Creates a dynamic mixer for the mux selection.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Clemens Ladisch
02f21c9d6b [ALSA] oxygen: add SPDIF loopback control
Add a mixer control for the SPDIF loopback function.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Clemens Ladisch
c518b35ea2 [ALSA] oxygen: TempoTec HiFier is probably not supported
The TempoTec HiFier has a somwhat different architecture; remove it from
the list of cards that are known to be supported.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Takashi Iwai
0de27c10d3 [ALSA] cs5535audio - Fix available sample rates
The available sample rates on CS5535 depend on AC97 codec chip.
Set the additional hw params limit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Clemens Ladisch
c57cccc038 [ALSA] oxygen: optimize snd_pcm_hardware structures
Add one more indirection to the lookup of the snd_pcm_hardware
structures so that we can save the space of the duplicate ones.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:08 +01:00
Clemens Ladisch
7f0b89465b [ALSA] oxygen: add 192 kHz SPDIF input support
Change the oxygen_spdif_input_bits_changed() function so that clock
changes on the SPDIF input are correctly detected.  This means that
sample rates greater than 96 kHz are now supported.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:08 +01:00
Clemens Ladisch
5a256f862c [ALSA] oxygen: fix DAC source register fields
Fix some wrong values for the definitions of the source masks for DACS 1
and 3.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:08 +01:00
Clemens Ladisch
e9d88a8bd9 [ALSA] oxygen: fix control filter
Actually use the template that was maybe changed by the control filter
instead of the original one.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:08 +01:00
Clemens Ladisch
7ef37cd954 [ALSA] oxygen: move model-specific data out of common header
Instead of having model-specific fields in the common struct oxygen, put
them into a private structure that is allocated together with the card
structure.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:08 +01:00
Clemens Ladisch
3b94253bc9 [ALSA] oxygen: reduce SPI clock frequency for AK4396/WM8785
According to the datasheets, the SPI clock cycle must be at least 200 ns
for the AK4396 and the WM8785, so we cannot use the default 160 ns.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:07 +01:00
Clemens Ladisch
71e22a4b77 [ALSA] oxygen: allow more sample rates with WM8785
Allow to record with 32 kHz, 64 kHz, 88.2 kHz and 176.4 kHz with cards
that have a WM8785 ADC.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:07 +01:00
Clemens Ladisch
878ac3ee76 [ALSA] oxygen: add more symbols
Add symbol definitions for the various codecs and GPIO pins.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:07 +01:00
Clemens Ladisch
44fb7aae82 [ALSA] oxygen: remove MIDI autodetection
The MIDI bit in the MISC register is set by default and cannot be used
to detect the presence of a MIDI port.  Instead, add a parameter to the
oxygen_pci_probe() function so that model drivers can specify this.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:06 +01:00
Clemens Ladisch
db2396d495 [ALSA] oxygen: fix pause handling
Use the DMA_PAUSE register for pausing instead of stopping DMA.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:06 +01:00
Clemens Ladisch
c9946b2c80 [ALSA] oxygen: remove magic numbers
Replace some magic numbers with register symbols.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:05 +01:00
Takashi Iwai
6735e5723b [ALSA] emu10k1 - Fix over-sized kmalloc for TLV
Reported by Al Viro:
In copy_tlv(), the size of kmalloc is wrongly calculated.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:05 +01:00
Takashi Iwai
28a0d9df07 [ALSA] hda-intel - Make azx_get_response() a bit more robust
In azx_[rirb_]get_response(), the timeout is checked at the end of the loop.
It's better to be checked just after the check of the RIRB index to avoid
a bogus error with a too long msleep().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:05 +01:00
Takashi Iwai
7cda8ba9f4 [ALSA] ice1712, ice1724 - Code clean up
Clean up ice1712/ice1724 codes.  The board-specific data is allocated
locally in each code instead of having an ungly union in struct ice1712.
Also, fix coding issues in prodigy_hifi.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:05 +01:00
Andrew Paprocki
797760ab14 [ALSA] hda_proc - Add a number of new settings to proc codec output
This patch adds additional output to the /proc codec#X info.
The following pieces of information are added to the output:
-  Balanced, L/R swap, trigger, impedance sense pin capabilities
-  Vref pin capabilities
-  Current Vref pin widget control setting
-  Default configuration association, sequence, and misc bit test
-  EAPD/BTL bits conveying balanced mode, EAPD, and L/R swap
-  Power state modified to show state name as well as setting vs actual value
-  GPIO parameter output on Audio Function Group, including enumeration of IO
   pins which are indicated present (Any I and O pins are not output at this
   time)
-  Stripe and L/R swap widget capabilities
-  All digital converter bits: enable, validity, validity config, preemphasis,
   copyright, non-audio, professional, generation level, and content category
-  Converter stream and channel values for in/out widgets
-  SDI select value for in widgets
-  Unsolicited response widget capability tag and enabled bit
-  Delay widget capability value
-  Processing widget capability benign bit and number of coefficients
-  Realtek Define Registers: processing coefficient, coefficient index
[Also, fixed space/tab issues and make codes a bit more readable
  -- Takashi]

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Clemens Ladisch
e005954934 [ALSA] oxygen: fix playback routing
The default playback routing must be 0xe4, not 0xe1; the front and
surround DACs were exchanged.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Clemens Ladisch
c2353a0826 [ALSA] oxygen: add register definitions
Add more symbols for registers and register fields.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Jiang zhe
f4beee9420 [ALSA] hda-codec - Fix capture source for Cx5045 codec
For codec conexant 5045, I found that the name of 'Capture Source Items'
is different from the name of mixer.
The mixer is:
HDA_CODEC_VOLUME('Ext Mic Playback Volume', 0x17, 0x2, HDA_INPUT),
HDA_CODEC_MUTE('Ext Mic Playback Switch', 0x17, 0x2, HDA_INPUT),
But the capture source item is :
static struct hda_input_mux cxt5045_capture_source = {
	.num_items = 2,
	.items = {
		{ 'IntMic', 0x1 },
		{ 'LineIn', 0x2 },
	}
};
I think that it's better to change the name of capture_source to avoid
misunderstanding.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Jiang Zhe
5218c89265 [ALSA] hda-codec - New model for conexant 5045 codec to support benq r55e
The benq r55e laptop have 3 jacks on the front panel.
One for HP, one for Line In and one for Mic In.
This patch implemented a new model to support it.

Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Julian Scheel
88d1612cc2 [ALSA] ice1724 - Add missing prodigy_hifi.h
Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Konstantin Kletschke <konsti@ku-gbr.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:03 +01:00
Clemens Ladisch
05855ba3f4 [ALSA] oxygen: make the I2S format configurable
Add proper register bit symbols for the I2S format field, and allow card
models to configure the I2S format to be used for the DACs and ADCs.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:03 +01:00
Jaroslav Kysela
b8c5b53e1f [ALSA] ice1712 - fixed midi input for Hoontech C-Ports
See ALSA bug#1846 for more details.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:03 +01:00
Julian Scheel
6b8d6e5518 [ALSA] ICE1724: Added support for Audiotrak Prodigy 7.1 HiFi & HD2, Hercules Fortissimo IV
See ALSA bug#2384 for more details.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Konstantin Kletschke <konsti@ku-gbr.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:03 +01:00
Vasily Khoruzhick
da65fd3bf1 [ALSA] hda-codec - remove 11c1:1040 from patch_si3054.c id list
Codec with id 11c1:1040 sitting on hda bus isn't si3054-compatible.
It should be removed from patch_si3054.c id list.
The detailed information
	http://archives.linmodems.org/26457
From: Vasily Khoruzhick <anarsoul@gmail.com>

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:02 +01:00
Takashi Iwai
52987656fb [ALSA] hda-intel - Add workarounds for STAC codecs
Some machines with STAC codecs seem to have problems (e.g. no audible
playback) when the delay in codec-read routine is too short.
I still don't figure out which command sequence causes this problem
(due to lack of test hardware), but it's known that increasing the
delay fixes.  So, added a stupid workaround here temporarily...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:02 +01:00
Andreas Degert
192b8e3922 [ALSA] hdsp: make Multiface II work again
This device has io_type == 1 (Multiface) and firmware_rev > 0xa
(fixes regression from changeset 5326)

Signed-off-by: Andreas Degert <ad@papyrus-gmbh.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:01 +01:00
Randy Dunlap
1374f8ceee [ALSA] sound: fix rme9652 section mismatch
Fix section mismatch in hdsp:  snd_hdsp_proc_init() can be called from
an ioctl at any time.
WARNING: vmlinux.o(.text+0x1089bc2): Section mismatch: reference to .init.text: (between 'snd_hdsp_create_alsa_devices' and 'snd_hdsp_free')

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:01 +01:00
Randy Dunlap
32a41b026e [ALSA] sound: fix atiixp section mismatch
Fix section mismatch in atiixp by making some functions __devinit.
WARNING: vmlinux.o(.text+0xfd9304): Section mismatch: reference to .init.data:atiixp_quirks (between 'ac97_probing_bugs' and 'snd_atiixp_codec_detect')

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:00 +01:00
Randy Dunlap
e4d76815c2 [ALSA] sound: fix ad1889 section mismatch
Fix section mismatch in ad1889 by renaming the pci_driver variable to a
whitelisted variable name.
WARNING: vmlinux.o(.data+0x2e5ff0): Section mismatch: reference to .init.text:snd_ad1889_probe (between 'ad1889_pci' and 'index')

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:00 +01:00
Clemens Ladisch
747c6016ce [ALSA] oxygen: make PCM limits configurable
Add a callback to the model structure to allow modification of the
hardware PCM limits.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:00 +01:00
Clemens Ladisch
ccc80fb467 [ALSA] oxygen: add control filter to model struct
Allow the models to modify mixer controls before they are added to the
card.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:00 +01:00
Clemens Ladisch
e85e09250a [ALSA] oxygen: make all DMA channels configurable
Allow the card models to specify whether each of the hardware DMA
channels is used.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:00 +01:00
Clemens Ladisch
84aa6b7ba7 [ALSA] oxygen: make SPI configuration configurable
Add a field to the model structure so that it is possible to have a card
where the SPI outputs 4 and 5 are used for an EEPROM.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:59 +01:00
Clemens Ladisch
31c77643a0 [ALSA] oxygen: make AC97 codec optional
Only initialize and create mixer controls for the first AC97 codec when
one has actually been detected.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:59 +01:00
Takashi Iwai
12b74c80cc [ALSA] hda-codec - Enable VIA SPDIF input pin
Enable the SPDIF input-pin on VIA codecs when SPDIF-input is enabled
by BIOS.  Also, including a bit code clean up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:59 +01:00
Takashi Iwai
3866f0b0c2 [ALSA] hda-codec - Add the support of Dell OEM laptops with ALC268
Added the support of Dell OEM laptops (Vostro 1200) with ALC268 codec.
The new model=dell is provided.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:59 +01:00
Takashi Iwai
f0747ee6c1 [ALSA] hda-codec - Disable PCBEEP mixer element in test model
It turned out that the PCBEEP element (0x1d) is disabled on some hardwares
although it's defined in the datasheet.  Because of the error at info of
this element, the mixer gets totally unusable.
Since the PCBEEP isn't that important feature, it's safer to disable this.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00
Takashi Iwai
76e1ddfbda [ALSA] hda-code - Clean up STAC GPIO enablement code
There are two similar GPIO-enablement codes in patch_sigmatel.c.
Let's clean up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00
Tobin Davis
bcd7200394 [ALSA] HDA: Enable chipset gcap usage
This patch removes hardcoded values for the number of streams supported
by the southbridge in most chipsets, and reads these values from the
chipset directly.  Most systems are hardwired for 4 streams in each
direction, but newer chipsets change that capability.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00
Clemens Ladisch
fb920b7d8b [ALSA] oxygen: rename PCM to Master
Rename the 'PCM Playback Volume'/'Switch' mixer controls to 'Master'.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00
Clemens Ladisch
893e44ba5a [ALSA] oxygen: make line-in switch exclusive
The line input cannot be mixed with the other inputs, so we have to mute
the other input switches when it is selected.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:57 +01:00
Clemens Ladisch
01a3affb2e [ALSA] oxygen: use an array of snd_kcontrol pointers
Use an array for the pointers to known controls so that it is easier to
add more.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:57 +01:00
Clemens Ladisch
7113e95812 [ALSA] oxygen: fix channel routing
Do not exchange the surround and back jacks except when in 7.1 mode
where the surround jack is not rear but side.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:56 +01:00
Takashi Iwai
52a1d4f9d6 [ALSA] hda-codec - Remove obsolete FIXME's
Removed 'FIXME' comments that have been already fixed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:56 +01:00
Claudio Matsuoka
5795b9e645 [ALSA] hda: Fix 5.1 sound in Dell 6stack ALC888 HDA
This patch fixes 5.1 surround output and headphone detection in the
Dell Inspiron 530 and possibly other Dell systems using the ALC888
codec (mode 6stack-dell).

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:56 +01:00
Andrew Paprocki
e25bcdba19 [ALSA] hda_intel: Fix multiple device support by incrementing device count
Fixes multiple device support by incrementing the static device counter
at the end of the azx_probe() call. Without this, subsequent probes would
always use the index specified for the first card.

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:55 +01:00
Takashi Iwai
ce22e03e62 [ALSA] hda-codec - Don't build boost controls for digital mics
The ALC auto-probe creates mic boost controls automatically for the
probed pins, but it assumes that they are analog mics.  The digital
mics have no boost controls and must be skipped.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:55 +01:00
Takashi Iwai
9c8f2abdc5 [ALSA] hda-codec - print control name in error messages
Print the name of the defect controls in error messages in amp info
callback.  This will make debugging easier.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:55 +01:00
Matthew Ranostay
3fa2ef7468 [ALSA] hda: Add new STAC9205 PCI_QUIRK
Added a new STAC 9205 quirk for Vostro 1500.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:55 +01:00
Matthew Ranostay
a64135a2d8 [ALSA] hda: 92HD7XXX power management support
Added support for advanced power management support for output ports on
92HD7xxx family of codecs. Inactive output ports are powered down when
the pin sense  doesn't detect a connection, and powered back up when a
connection is sensed.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:54 +01:00
Takashi Iwai
2134ea4f37 [ALSA] hda-codec - Add virtual master controls
Add master controls using vmaster to codecs that have no real hardware
master volume registers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:54 +01:00
Takashi Iwai
3b0a5f22d4 [ALSA] Add virtual master control helpers
Added helper functions to implement virtual master volume controls.
The virtual master control is a control element that has multiple
slave controls.  The value of master element is equally added to
slave elements.
The functions are written for general purpose, but it's put in the
HD-audio directory as now, since HD-audio driver is the only user.
It should be moved to the common place once after other drivers use
vmaster.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:54 +01:00
Matthew Ranostay
2f32d909f3 [ALSA] hda: STAC9228 VT fixes
Moved 2 systems PCI_QUIRK values to STAC_DELL_BIOS. Also the second
front HP jack is incorrect defined in the BIOS VT's for some laptops,
this patch corrects this.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:49 +01:00
Jiang zhe
3d5fa2e596 [ALSA] hda-codec - Device ID for Macbook sound card
Please refer to the [0003680] on ALSA bugtracking system.
The user found that 'model=mbp3' works and provided the ID.
From: Jiang zhe <zhe.jiang@intel.com>

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:49 +01:00
Kailang Yang
8c427226ed [ALSA] hda-codec - Update realtek codec support
1. Support HP rp5700
2. Fixed alc_subsystem_id function (Bug fixed and support Desktop)
3. Support ASUS EP20

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:49 +01:00
Matthew Ranostay
a780c0aeb3 [ALSA] hda: 92HD71BXX Mono Mute Support
Added a mono output mute mixer for the 92hd71bxx family of codecs, this
also removes the need for the mono out node to explicitly unmuted in the
core init.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:49 +01:00
Takashi Iwai
9004acc70e [ALSA] Remove sound/driver.h
This header file exists only for some hacks to adapt alsa-driver
tree.  It's useless for building in the kernel.  Let's move a few
lines in it to sound/core.h and remove it.
With this patch, sound/driver.h isn't removed but has just a single
compile warning to include it.  This should be really killed in
future.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:48 +01:00
Takashi Iwai
38f8b397e1 [ALSA] hda-codec - Add model=laptop for HP 350 laptop
Added the proper model=laptop for HP 350 laptop with Cxt5045 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:46 +01:00
Jonathan Woithe
86c53bd26b [ALSA] hda-codec - Add test model for ALC268
This implements a test model for the ALC268.  It depends on the feature
added by alc260-test-eapd-0.2.diff.  This patch also adds a mention of
the ALC260 test model to ALSA-Configuration.txt since this seems to have
been missed.

Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:46 +01:00
Jonathan Woithe
f8225f6d1f [ALSA] hda-codec - Add EAPD controls for ALC260 test model
This implements a switch control for the EAPD signal output by the ALC26x
chips.  Since some laptops may utilise this to activate useful things it
is handy to have a control for this in the ALC26x test models.  The patch
includes the control in the ALC260 test model.

Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:46 +01:00
Matthew Ranostay
0678accd2d [ALSA] hda: Dynamically create digital gain mixers
Dynamically create digital gain mixers for dmics that have out-amp
support. Also some 92HD73xx's codecs don't have DMIC gains, so this also
prevents creating dead mixers.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:45 +01:00
Takashi Iwai
5aba4f8ec7 [ALSA] hda-intel - Support multiple devices
It turned out that there can be multiple HD-audio devices on a single
machine (e.g. on-board audio and HDMI on graphic cards), so we need to
support multiple devices with snd-hda-intel driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:45 +01:00
Jerone Young
ebf00c54a6 [ALSA] hda-codec - Add IEC958 digital out support for Lenovo Thinkpads T61/X61
This patch adds IEC958 digital out support for the AD1984 sound card.
This card can be found in Lenovo Thinkapds T61/X61. The digital out is
not located on the Thinkpad, but optional docking station (it's coxial
digital out). I've add this support as it is done the exact same way
for the AD1983 & AD1884.
I have tested this patch with my Lenovo Thinkpad T61 hooked up to a
docking station (that has the digital coxial) and then run to my home
theater reciever. Works like a charm :-)

Signed-off-by: Jerone Young <jerone@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:45 +01:00
Matthew Ranostay
c481fca3e6 [ALSA] hda: STAC927x VREF fix
Some laptops incorrectly assume the front input jack as a line in
instead of a microphone in. Which in turn disables the voltage
reference, in which non-amplified input is not possible.  This patch
enables VREF80 for the input jack.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:45 +01:00
Clemens Ladisch
740eb8358f [ALSA] oxygen: use uintptr_t in pointer casts
When we store the DMA channel number in the substream's private_data
pointer, use uintptr_t as an intermediate step when casting from/to
unsigned int to prevent the compiler from whining when the pointer size
is different.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:44 +01:00
Takashi Iwai
7db756f2b1 [ALSA] hda-codec - Sort ad1986a cfg table
Sort the ad1986a config table by PCI SSID (the last toshiba entry was
added wrongly).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:44 +01:00
Clemens Ladisch
1b8ff22fa8 [ALSA] add Asus Xonar driver
Add the snd-virtuoso driver for the Asus Virtuoso 200 chip used on the
PCI and PCI-E models of the Xonar sound card.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:44 +01:00
Clemens Ladisch
d0ce9946c5 [ALSA] add CMI8788 driver
Add the snd-oxygen driver for the C-Media CMI8788 (Oxygen) chip, used on
the Asound A-8788, AuzenTech X-Meridian, Bgears b-Enspirer,
Club3D Theatron DTS, HT-Omega Claro, Razer Barracuda AC-1,
Sondigo Inferno, and TempoTec HIFIER sound cards.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:44 +01:00
Jiang Zhe
a9b3aa8a0a [ALSA] hda-codec - alc268 input_mux should be a selector instead of mixer
According to the [0003659], the node 0x23,0x24 is a selector.
I checked the alc268 spec on the REALTEK website and it showed that they
were selectors indeed.
However, current code implement the alc268 input_mux in a mixer way.

Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:44 +01:00
Jiang Zhe
6b7eb1960d [ALSA] hda-codec - Device ID for Toshiba laptop which uses AD1986A
The model laptop-eapd get rid of the high-pitched noise.
(ALSA bug#3662)

Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:43 +01:00
Herton Ronaldo Krzesinski
6e7939bb4d [ALSA] hda-codec - Fix capture mixers of ALC662 models
The commit that added support for ASUS P701 eeepc also changed the
mixers of other ALC662 models, duplicating entries for the Capture
items, making them to not work anymore. This fixes it by removing
duplicated entries using where possible the common alc662_capture_mixer.
Also alc662_capture_mixer should use alc662* functions and not alc882
(I checked /proc/asound/card0/codec* on an eepc model and it's ok).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:43 +01:00