Commit graph

176 commits

Author SHA1 Message Date
Takashi Iwai
bf850204a7 [ALSA] Remove unneeded read/write_size fields in proc text ops
Remove unneeded read/write_size fields in proc text ops.
snd_info_set_text_ops() is fixed, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:09 +02:00
Takashi Iwai
e5e8a1d461 [ALSA] hda-codec - Move EXPORT_SYMBOL() to adjacent to each function
Move EXPORT_SYMBOL() to adjacent to each exported function/variable.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:03 +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
887709be90 [ALSA] hda-codec - Fix a typo
Fixed a typo of 'pci_subsystem' in the last changeset.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:32:45 +02:00
Takashi Iwai
01686c5fce [ALSA] hda-codec - Add Thinkpad X60/T60/Z60 support
Added the support for Thinkpad X60/T60/Z60 laptops with AD1981HD codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:32:44 +02:00
Takashi Iwai
e0292bdd30 [ALSA] hda-codec - Add model entry for ASUS Z62F
Added a model entry 'laptop-eapd' for ASUS Z62F laptop with
AD1986A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:50 +02:00
Takashi Iwai
d773781cee [ALSA] hda-codec - Fix capture from line-in on VAIO SZ/FE laptops
Added the missing line-in capture on VAIO SZ/FE laptops with
STAC 7661 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:46 +02:00
Henrik Kretzschmar
396c9b928d [ALSA] add __devinitdata to all pci_device_id
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:34 +02:00
Takashi Iwai
71b2ccc3a2 [ALSA] hda-codec - Add codec id for AD1988B codec chip
Add codec id for AD1988B codec chip.
The functionality is identical with AD1988(A) chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:30 +02:00
Takashi Iwai
61a7454a22 [ALSA] hda-codec - Add model entry for ASUS M9 laptop
Add a model entry to support ASUS M9 laptop with AD1986A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:28 +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
Takashi Iwai
8970ccda1a [ALSA] hda-codec - Use model 'hp' for all HP laptops with AD1981HD
Use model 'hp' for all HP laptops with AD1981HD codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:10 +02:00
Takashi Iwai
e092228313 [ALSA] hda-codec - Add support of ASUS U5A with AD1986A codec
Modules: HDA Codec driver

Add the model entry to support of ASUS U5A with AD1986A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:34:18 +02:00
Ashley Clark
a29b6c8895 [ALSA] hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707
Modules: HDA Codec driver

This patch adds the entry for the 5-stack pin-config for the STAC
chip on the Intel D945Pvs board with subdevice id 0x0707.

With this patch against 1.0.11rc4 in the linux kernel 2.6.17-rc1, I'm
able to successfully output over the optical port and analog ports.

Signed-off-by: Ashley Clark <aclark@ghoti.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:34:13 +02:00
Coywolf Qi Hunt
be28e7ccd3 [ALSA] hda-codec - support HP Compaq Presario B2800 laptop with AD1986A codec
Modules: HDA Codec driver

This adds the support for HP Compaq Presario B2800 laptop with AD1986A codec.

Signed-off-by: Coywolf Qi Hunt <qiyong@freeforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:34:11 +02:00
Takashi Iwai
f556e6f6ef [ALSA] hda-codec - Add another HP laptop with AD1981HD
Modules: HDA Codec driver

Added the SSID of another HP laptop for the model 'hp' with AD1981HD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:34:06 +02:00
OGAWA Hirofumi
ce7415f496 [ALSA] sound/pci/hda: use create_singlethread_workqueue()
process_unsol_events() seems to assume a singlethread one (IOW, racey).
So, this patch uses create_singlethread_workqueue() instead of
create_workqueue().

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:59:01 +02:00
Felix Kuehling
89be83f8ee [ALSA] hda-intel - Add support of ATI SB600
This patch adds support for high definition audio on ATI SB600.

Signed-off-by: Felix Kuehling <fkuehlin@ati.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:59:01 +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
2125cad291 [ALSA] hda-codec - Fix noisy output wtih AD1986A 3stack model
Fixed the noisy output wtih AD1986A 3stack model using 2 channels.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:57 +02:00
Takashi Iwai
505cb341ef [ALSA] hda-codec - Fix unsol event initialization at resume of stac92xx
Fix the re-initialization of unsolicited events at resume of stac92xx codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:57 +02:00
Takashi Iwai
c960a03bee [ALSA] hda-codec - Fix VREF level of Mic inputs on STAC92xx codecs
Fixed VREF level of Mic inputs on STAC92xx codecs (ALSA bug#1953).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:56 +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
b2c2844c5a [ALSA] hda-codec - Add support for HP nx9420 laptop
Modules: HDA Codec driver

Added the support for HP nx9420 (AngelFire) laptop with AD1981HD codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:44:00 +01:00
Takashi Iwai
97ec558a88 [ALSA] hda-codec - Fix generic auto-configurator
Modules: HDA generic driver

Fixed the generic auto-configurator to check speaker pins in
addition.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:40:49 +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
825aa97241 [ALSA] hda-codec - Fix for Samsung R65 and ASUS A6J
Modules: Documentation,HDA Codec driver

Added a new model 'laptop-eapd' to AD1986A codec for Samsung R65 and
ASUS A6J laptops.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:39:19 +01:00
Takashi Iwai
db064e5034 [ALSA] hda-codec - Add support for VAIO FE550G and SZ110
Modules: Documentation,HDA Codec driver

Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
The new model 'vaio' is added.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:39:16 +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
9230d2148a [ALSA] hda-codec - Fix support of laptops with AD1986A codec
Modules: Documentation,HDA Codec driver

Fix the support of laptops with AD1986A HD-audio codec.
Added new models '3stack' and 'laptop'.  Currently, fixed for FSC V2060
and Samsung M50.

Also fixed the description of missing models in ALSA-Configuration.txt.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:37:20 +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
a7ee8201a5 [ALSA] Fix missing AD1986a capsrc
Modules: HDA Codec driver

Fix missing AD1986a capsrc setting in the last patch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:33:48 +01:00
Takashi Iwai
18a815d742 [ALSA] hda-codec - Fix AD198x recording and add HP model
Modules: HDA Codec driver

- Fixed recording of AD1981HD/AD1983/AD1986A
- Added model 'hp' to AD1981HD for HP nx6320

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:33:44 +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
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