Commit Graph

137 Commits

Author SHA1 Message Date
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
Takashi Iwai
1a56f8d662 [ALSA] hda-intel - Auto-correction of the DMA position mode
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>
2006-03-22 10:30:14 +01:00
Takashi Iwai
111d3af5f5 [ALSA] hda-intel - Automatic correction to single_cmd mode
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>
2006-03-22 10:29:53 +01:00
Takashi Iwai
353b9e6670 [ALSA] hda-codec - Add missing model entries for Intel 945 boards
Modules: HDA Codec driver

Added the missing entries for Intel 945 boards.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:29:50 +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
Ingo Molnar
62932df8fb [ALSA] semaphore -> mutex (PCI part)
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>
2006-03-22 10:25:29 +01:00
Takashi Iwai
27346166a9 [ALSA] hda-intel - Add single_cmd option for debugging
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>
2006-03-22 10:22:51 +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
Matt Porter
869264c45a [ALSA] hda: sigmatel fixes
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>
2006-02-01 13:09:28 +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
ad0651f97a [ALSA] hda-codec - Fix max_channels computation for STAC92xx codecs
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>
2006-02-01 13:09:20 +01:00
Matt Porter
3cc08dc6ea [ALSA] hda-codec - add sigmatel 927x codec support
Modules: HDA Codec driver

Adds support for the SigmaTel STAC927x HDA codec family.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:17 +01:00
Matt Porter
d62c40e04c [ALSA] hda-codec - add D975XBK support to sigmatel patch
Modules: HDA Codec driver

Add SigmaTel HDA support for the Intel D975XBK motherboard.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:15 +01:00
Sasha Khapyorsky
e061bf1aa3 [ALSA] hda-codec - support for Agere's HDA soft modem
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>
2006-02-01 13:09:14 +01:00
Takashi Iwai
0fd1708a19 [ALSA] hda-codec - Fix capture on Sigmatel STAC92xx codecs
Modules: HDA Codec driver

Added the missing 'Capture Switch' control for Sigmatel STAC92xx codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22 16:24:23 +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
Jason Gaston
d298139361 [ALSA] hda-intel - patch for Intel ICH8
Modules: HDA Intel driver

This patch adds the Intel ICH8 HD Audio DID to the hda_intel.c audio driver.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22 16:24:00 +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
Matt Porter
403d19446b [ALSA] hda-codec - update sigmatel support and bug fixes
Modules: HDA Codec driver

- Explictly set pin control as input for all input pins
- Fix bug in 922x mixer (no mute on adc0vol)
- Remove broken ch_mode control
- Add support for jack retasking mixer controls to use rear line and
  mic as surround outputs
- Add board tables to support autodetect and pin config defaults for
  systems with broken bioses
- Add support for several Intel mobos
- Add support for DFI mobo with reference boards attached
  (gets rid of compile time switch to use reference boards)

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:58 +01:00
Matt Porter
954fa19ab7 [ALSA] hda-intel - Fix HDA probe_mask default
Modules: HDA Intel driver

The probe_mask module parameter comment notes that the intended
default is -1. Fix it to be so, otherwise all codecs are skipped
and init fails.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:54 +01:00
Takashi Iwai
f8c7c7b8dd [ALSA] hda-codec - Fix surrounds on 3stack mode of AD1988
Modules: HDA Codec driver

Fixed the swapped surround/CLFE on 3stack mode of AD1988.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:48 +01:00
Takashi Iwai
d32410b109 [ALSA] hda-codec - Fix/enhance AD1988 support
Modules: HDA Codec driver

Fix/enhance AD1988 support code.

- Fix for h/w bug of AD1988A rev 2
- The BIOS auto-configuration is added and used as fallback

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:47 +01:00
Takashi Iwai
b2ec642362 [ALSA] hda-codec - Fix channel mode helper
Modules: HDA Codec driver

Fix the channel mode helper (for put callback).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:45 +01:00
Takashi Iwai
606ad75fb5 [ALSA] hda-intel - Use position buffer as default
Modules: HDA Intel driver

- Use the position buffer for obtaining the current DMA position
  as default.  This seems more stable than others.
- Add probe_mask module option (mainly for test boards with multiple
  codecs).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:43 +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
Adrian Bunk
18612048b3 [ALSA] sound/: possible cleanups
Modules: RawMidi Midlevel,HDA generic driver

This patch contains the following possible cleanups:
- pci/hda/hda_proc.c should #include 'hda_local.h' for including the
  prototype of it's global function snd_hda_codec_proc_new()
- core/rawmidi.c: make the needlessly global and EXPORT_SYMBOL'ed
  function snd_rawmidi_info() static

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:40 +01:00
Takashi Iwai
2e5b9567f7 [ALSA] hda-codec - Fix AD1988 support
Modules: HDA Codec driver

Fix AD1988 support.  As default, 6stack model is used.
Still no auto-BIOS setup is implemented.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:29 +01:00
Takashi Iwai
d25695056f [ALSA] hda-codec - Allocate connection lists dynamically in generic parser
Modules: HDA generic driver

Allocate connection lists dynamically in generic parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:28 +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
421a12520d [ALSA] hda-intel - Fix PM support
Modules: HDA Intel driver

Fix PM support on HDA-Intel driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:27:51 +01:00
Takashi Iwai
fd66e0d059 [ALSA] hda-codec - Add AD1988 support
Modules: HDA Codec driver

Add AD1988 codec support to hda-codec driver.
Still experimental, and no BIOS configuration parser is implemented yet.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:20:17 +01:00
Takashi Iwai
a98f90fd82 [ALSA] Remove xxx_t typedefs: HDA-Intel
Modules: HDA Intel driver

Remove xxx_t typedefs from the HDA-Intel driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:19:09 +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
a2a20939b1 [ALSA] hda-codec - Fix a typo
Modules: HDA Codec driver

Fix a typo in hda_codec.h.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:17:24 +01:00
Takashi Iwai
9f146bb6e6 [ALSA] hda-codec - Prepare unsol workqueue on demand
Modules: HDA Codec driver

Prepare unsol workqueue only when a codec really supports.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:17:22 +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
Daniel Mueller
26741b5512 [ALSA] hda-codec - Fix HDA sound and V.92 modem for notebook Siemens FieldPG-M
Modules: HDA Codec driver

The patch fixes the problem of mute onboard HDA sound output,
buildin V.92 modem idendification and functionality.

Signed-off-by: Daniel Mueller <daniel.mueller@siemens.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:16:13 +01:00