Commit Graph

66 Commits

Author SHA1 Message Date
Takashi Iwai
766a6c36f3 [ALSA] hda-codec - Fix model for HP dc7600
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>
2006-06-22 21:34:01 +02:00
Takashi Iwai
474167d646 [ALSA] hda-codec - Fix init verbs for ALC260 hp model
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>
2006-06-22 21:33:46 +02:00
Takashi Iwai
0defb2672d [ALSA] hda-codec - Fix handling of capture controls on ALC882 3/6-stack models
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>
2006-06-22 21:33:35 +02:00
Takashi Iwai
3206b9ca9f [ALSA] hda-codec - Add support for Sony Vaio VGN-S3HP
Added the missing support for Sony Vaio VGN-S3HP with ALC260 codec.
The patch taken from ALSA bug#2101.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:33 +02:00
Takashi Iwai
886da8677d [ALSA] hda-codec - Add support for LG S1 laptop
Added the model entry for LG S1 laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:21 +02:00
Kenneth Crudup
5e1b1518a5 [ALSA] hda-codec - Add support for Sony Vaio VGN-A790 laptop
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>
2006-06-22 21:32:48 +02:00
Takashi Iwai
531213a93f [ALSA] hda-codec - Add entry for Epox EP-5LDA+ GLi
Added the SSID entry for Epox EP-5LDA+ GLi with ALC880 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:15 +02:00
Jonathan Woithe
a1e8d2da03 [ALSA] HDA/Realtek: multiple input mux definitions and pin mode additions
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>
2006-03-31 17:59:00 +02:00
Takashi Iwai
d681518a56 [ALSA] Add support of LG LW20 laptop
Add support of LG LW20 laptop with ALC880 codec (ALSA bug#1572).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:55 +02:00
Takashi Iwai
84f3430c72 [ALSA] hda-codec - Add support for ASUS P4GPL-X
Modules: HDA Codec driver

Added the support ASUS P4GPL-X with ALC880 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:44:02 +01:00
Takashi Iwai
82bc955f63 [ALSA] hda-codec - Fix BIOS auto-configuration
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>
2006-03-22 10:40:14 +01:00
Takashi Iwai
a12606cff1 [ALSA] hda-codec - Add model entry for FIC P4M-915GD1
Modules: HDA Codec driver

Add model entry for FIC P4M-915GD1 with ALC880 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:39:04 +01:00
Takashi Iwai
ede3531e8c [ALSA] hda-codec - Fix Aopen i915GMm-HFS mobo
Modules: HDA Codec driver

Add a model entry for Aopen i915GMm-HFS mobo with ALC880 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:38:17 +01:00
Takashi Iwai
c1fc804731 [ALSA] Add default entry for CTL Travel Master U553W
Modules: HDA Codec driver

Added the default entry of ALC880 configuration table for
CTL Travel Master U553W.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:36:18 +01:00
Takashi Iwai
ae6b813a4d [ALSA] hda-codec - Add lg model for LG laptop
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>
2006-03-22 10:34:28 +01:00
Takashi Iwai
834be88d13 [ALSA] hda-codec - Fix ALC262 for Fujitsu laptop
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>
2006-03-22 10:33:31 +01:00
Jonathan Woithe
92621f130e [ALSA] HDA/ALC260: 7/7 - add SPDIF enable to test model
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>
2006-03-22 10:32:59 +01:00
Jonathan Woithe
f7ace40d14 [ALSA] HDA/ALC260: 6/7 - Fujitsu/test model tweaks
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>
2006-03-22 10:32:56 +01:00
Jonathan Woithe
0bfc90e959 [ALSA] HDA/ALC260: 5/7 - add 'acer' model
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>
2006-03-22 10:32:53 +01:00
Jonathan Woithe
5c8f858d71 [ALSA] HDA/ALC260: 4/7 - add GPIO switches to test model
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>
2006-03-22 10:32:49 +01:00
Jonathan Woithe
d57fdac069 [ALSA] HDA/ALC260: 3/7 - generalise some structures
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>
2006-03-22 10:32:24 +01:00
Jonathan Woithe
cdcd9268a1 [ALSA] HDA/ALC260: 2/7 - switch pin buffer enables
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>
2006-03-22 10:32:10 +01:00
Jonathan Woithe
17e7aec680 [ALSA] HDA/ALC260: 1/7 - Fix test model input mux label
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>
2006-03-22 10:31:56 +01:00
Jonathan Woithe
7cf51e4831 [ALSA] hda: ALC260 test model implementation
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>
2006-03-22 10:28:50 +01:00
Takashi Iwai
8b33a5aa08 [ALSA] hda: minor correction to fujitsu ALC260 initverbs
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>
2006-03-22 10:28:46 +01:00
Jonathan Woithe
4c5186ed6b [ALSA] hda: add PCM for 2nd ADC on ALC260
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>
2006-03-22 10:28:42 +01:00
Takashi Iwai
1494a92f4c [ALSA] hda-codec - Fix typos in alc882 model table
Modules: HDA Codec driver

Fixed typos in alc882 model table.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:34 +01:00
Arnaud Patard
bae2bdb334 [ALSA] patch_realtek.c: Add new model
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>
2006-02-01 13:09:32 +01:00
Jonathan Woithe
fd56f2db93 [ALSA] hda-codec - Fix init verb of ALC260
Modules: HDA Codec driver

Fixed the wrong widget id for line-2 selector in the init verb
of ALC260.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:21 +01:00
Takashi Iwai
b14e77e613 [ALSA] hda-codec - Add model entry for Sony VAIO
Modules: HDA Codec driver

Added an ALC260 model entry (basic) for Sony VAIO.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22 16:24:03 +01:00
Takashi Iwai
041dec0173 [ALSA] hda-codec - Add model entry for Shuttle ST20G5
Modules: HDA Codec driver

Added the model entry for Shuttle ST20G5.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:31:14 +01:00
Takashi Iwai
7632c7b444 [ALSA] hda-codec - Add the model entry for ASUS P5GD1-HVM
Modules: HDA Codec driver

Add the model entry (ALC880 6stack) for ASUS P5GD1-HVM.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:43 +01:00
Takashi Iwai
4a471b7ddf [ALSA] hda-codec - Small clean up and fixes
Modules: HDA Codec driver,HDA generic driver

- Common labels for input pins
- Fix and clean up of Realtek codec parsers

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:40 +01:00
Takashi Iwai
a3bcba384c [ALSA] hda-codec - Fix Oops with ALC260 auto-probe
Modules: HDA Codec driver

- Fix Oops with auto-probing of ALC260 with digital I/O
- Fix a typo

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:33 +01:00
Takashi Iwai
c5f2ea08fb [ALSA] hda-codec - Fix ALC codec probing
Modules: HDA Codec driver

- Fix ALC882 BIOS auto-probe
- Fix ALC262 basic model
- Add assert for debugging Oops

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:32 +01:00
Kailang Yang
df694daa3c [ALSA] hda-codec - Add the support of ALC262,ALC883,ALC885,ALC861
Modules: HDA Codec driver,HDA generic driver

This patch adds the support of ALC262,ALC883,ALC885,ALC861 to driver
More models and improvements for ALC880, ALC260 and ALC882 codecs, too.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:20 +01:00
Libin Yang
5014f19316 [ALSA] hda-codec - Fix auto-probe of ALC880
Modules: HDA Codec driver

This patch is to fix the problem of calculating the nid incorrectly
when auto-probe for ALC880. The problem to be fixed often behaves
with such words when using dmesg, 'num_steps = 0 for NID=0x8' when
auto-probe for ALC880.

The patch contains:
- alsa-kernel/pci/hda/patch_realtek.c: replace 'alc880_dac_to_idx'
  with 'alc880_idx_to_dac' in function 'alc880_auto_fill_dac_nids()'

Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:41 +01:00
Takashi Iwai
54d1740315 [ALSA] hda-codec - Fix connection list parsing
Modules: HDA Codec driver,HDA generic driver

- Fix connection list parsing (with ranged flag).
- Increase the max number of connections
- Introduce widget capabilities cache
- Power up/down widgets at init, suspend and resume

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:27 +01:00
Takashi Iwai
c8b6bf9b5e [ALSA] Remove xxx_t typedefs: HD-Audio codec
Modules: HDA Codec driver,HDA generic driver

Remove xxx_t typedefs from the HD-Audio codec support codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:19:06 +01:00
Takashi Iwai
8d88bc3d36 [ALSA] hda-codec - Fix assignment of speaker pin
Modules: HDA Codec driver,HDA generic driver

Fix the auto-assignment of speaker pin.  Handle it independently from
line-out pins.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:17:26 +01:00
Takashi Iwai
d2a6d7dc75 [ALSA] hda-codec - Add channel-mode helper
Modules: HDA Codec driver,HDA generic driver

Add common channel-mode helper functions for all codec patches.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:17:21 +01:00
Takashi Iwai
985be54ba8 [ALSA] hda-codec - Minor rewrites
Modules: HDA Codec driver,HDA generic driver

- Make bound controls global to all patches
- Clean up analog patches (for the upcoming extension to AD1988)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:25:53 +01:00
Jonathan Woithe
a9430dd8fc [ALSA] hda-codec - A new model for Fujitsu S7020
Modules: HDA Codec driver

Added a new model 'fujitsu' to ALC260 config for Fujitsu S7020.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:16:13 +01:00
Takashi Iwai
35451088f4 [ALSA] Fix confliction of capture controls on ALC880 test model
HDA Codec driver
Fixed the confliction of capture controls on ALC880 'test' model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:24 +02:00
John W. Linville
92447f3f1a [ALSA] fix HD audio ALC882 lfe (un)mute
HDA Codec driver
Mark the ALC882 'LFE Playback Switch' as an input, like the other
playback switch settings.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:19 +02:00
John W. Linville
1c1fa8b69e [ALSA] fix alc880_test_mixer typo
HDA Codec driver
Fix a typo (cut & paste) in the alc880_test_mixer structure.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:18 +02:00
John W. Linville
a7175aab3f [ALSA] fix HD audio ALC260 mono (un)mute
HDA Codec driver
The ALC260 'Mono Playback Switch' is marked as an output in
patch_realtek.c. It actually does not work unless it is marked as an
input. Go figure... This was tested and confirmed on an HP xw4300.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:12 +02:00
Takashi Iwai
e560d8d836 [ALSA] Replace with kzalloc() - pci stuff
AD1889 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver
BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
ES1938 driver,ES1968 driver,FM801 driver,Intel8x0 driver
Intel8x0-modem driver,Maestro3 driver,SonicVibes driver,VIA82xx driver
VIA82xx-modem driver,AC97 Codec,AK4531 codec,au88x0 driver
CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver
HDA generic driver,HDA Intel driver,ICE1712 driver,ICE1724 driver
KORG1212 driver,MIXART driver,NM256 driver,Trident driver,YMFPCI driver
Replace kcalloc(1,..) with kzalloc().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-09-12 10:48:16 +02:00
Takashi Iwai
8648811f1d [ALSA] hda-codec - Added ASUS A6
HDA Codec driver
Added ASUS A6 support for ALC880 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-09-12 10:47:54 +02:00
Davide Libenzi
0ca21611b6 [ALSA] hda-codec - Bring the Vaio's RA826G HDA (82801) to life ...
HDA Codec driver
Add the subsystem PCI devid to the list (on top of 2.6.13).

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-09-12 10:41:27 +02:00