Commit Graph

51 Commits (b3b0abe11d606fa2344793edd3d69b98b430b0d4)

Author SHA1 Message Date
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
Takashi Iwai 3c10a9d9f8 [ALSA] hda-codec - Add beep support for Uniwill
HDA Codec driver
Added the missing beep support for Uniwill laptop (ALSA bug#1358).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:47:19 +02:00
Jaroslav Kysela 5a47fe3c5e [ALSA] hda-patch-realtek - added pci subdevice ID for Acer TravelMate 8100 (3 stack model + digital out)
HDA Codec driver

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-08-30 08:46:12 +02:00
Takashi Iwai 7a318a70a4 [ALSA] hda-codec - Add entry for Acer APFV
HDA Codec driver
Added the model entry for Acer APFV.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:09:41 +02:00
Takashi Iwai b6482d48e5 [ALSA] hda-codec - Add 6stack model for ALC880
Documentation,HDA Codec driver
- Added a new '6stack' model for ALC880.
- Fixed the typo in 6stack-digout model name.
- Added description for missing models in ALSA-Configuration.txt.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:09:39 +02:00
Takashi Iwai b0af0de5cb [ALSA] hda-codec - Fix oops with ALC880
HDA Codec driver
- Fixed oops with ALC880 auto-config mode
- Fixed a wrong config table entry for ALC880

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:09:22 +02:00
Paulo Marques 543537bd92 [PATCH] create a kstrdup library function
This patch creates a new kstrdup library function and changes the "local"
implementations in several places to use this function.

Most of the changes come from the sound and net subsystems.  The sound part
had already been acknowledged by Takashi Iwai and the net part by David S.
Miller.

I left UML alone for now because I would need more time to read the code
carefully before making changes there.

Signed-off-by: Paulo Marques <pmarques@grupopie.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-23 09:45:18 -07:00
Takashi Iwai e9edcee061 [ALSA] hda-codec - More fix of ALC880 codec support
Documentation,HDA Codec driver,HDA generic driver,HDA Intel driver
- Fix some invalid configurations, typos in the last patch
- Make init_verbs chainable, so that different configs can share the same
  init_verbs
- Reorder and clean up the source codes in patch_realtek.c
- Add the pin default configuration parser, used commonly in cmedia
  and realtek patch codes.
- Add 'auto' model to ALC880 for auto-configuration from BIOS
  Use this model as default, and 3-stack as fallback

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22 12:28:59 +02:00
Takashi Iwai 16ded52538 [ALSA] hda-codec - Add support of more models with ALC codecs
HDA Codec driver,HDA Intel driver
Merged the work of pshou <pshou@realtek.com.tw> for the support of
more models with ALC codecs: ALC880 ASUS, Uniwill, FSC1734, generic 6-stack,
and ALC260 HP.  Tests with the real hardwares are appreciated.

The codec patch is cleaned up:  The preset configuration of codecs are
stored in the table and copied to the spec instance.

Added/fixed comments.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22 12:28:51 +02:00
Takashi Iwai 05acb863a2 [ALSA] hda-codec - Clean up and fix ALC-codec support code
HDA Codec driver
Clean up and fix ALC-codec support code.

The last addition of bound volume is fixed now to handle correctly
the bound 'mute switches'.  The analog loopback should work better.
The init verbs are fixed together with this change.

The numbers are replaced with macros for better readability.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22 12:28:44 +02:00
Takashi Iwai 41e41f1f34 [ALSA] Fix the analog loopback volumes of ALC codecs
HDA Codec driver
Fix the analog loopback volumes of ALC codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22 12:28:30 +02:00
Takashi Iwai 71fe7b82db [ALSA] Fix ALC880 capture problems
HDA Codec driver
Fixed the capture on some ALC880 devices.
The node 0x07 is sometimes invalid as an ADC.  Also, the intialization
of ADC nodes are fixed on some models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:14:56 +02:00
Takashi Iwai fd2c326de8 [ALSA] Allow more than 2 channel modes
HDA Codec driver
Allow 'Channel Mode' control to have more than 2 modes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:10:36 +02:00
Takashi Iwai 7291548df6 [ALSA] Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice
HDA Codec driver,HDA generic driver
Renamed pci_vendor/pci_device fields to pci_subvendor/pci_subdevice.
They are really PCI subsystem IDs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:08:46 +02:00
Takashi Iwai 2fa522bed8 [ALSA] Add test model for debugging ALC880 devices
HDA Codec driver
Added 'test' model for testing/debugging the devices with ALC880 codec.
This model is built only when CONFIG_SND_DEBUG is set.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:08:36 +02:00
Takashi Iwai dfc0ff62a1 [ALSA] Add ASUS Z71V support
Documentation,HDA Codec driver
Added the ASUS Z71V (or similar) laptop support.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:08:33 +02:00