Liam Girdwood [Thu, 8 Feb 2007 16:06:09 +0000 (17:06 +0100)]
[ALSA] ASoC documentation updates
This patch updates the documentation for ASoC to reflect the recent
changes in API between 0.12.x and 0.13.x
Changes:-
o Removed all reference to old API's.
o Removed references and examples of automatic DAI config and matching.
o Fixed 80 char line length on some files.
Paul Mackerras [Thu, 8 Feb 2007 13:25:39 +0000 (14:25 +0100)]
[ALSA] aoa i2sbus: Stop Apple i2s DMA gracefully
This fixes the problem of getting extra bytes inserted at the
beginning of a recording when using the Apple i2s interface and DBDMA
controller. It turns out that we can't just abort the DMA; we have to
let it stop at the end of a command, and then wait for the S7 bit to
be set before turning off the DBDMA controller. Doing that for
playback doesn't seem to be necessary, but doesn't hurt either.
We use the technique used by the Darwin driver: make each transfer
command branch to a stop command if the S0 status bit is set. Thus we
can ask the DMA controller to stop at the end of the current command
by setting S0.
The interrupt routine now looks at and clears the status word of the
DBDMA command ring. This is necessary so it can know when the DBDMA
controller has seen that S0 is set, and so when it should look for the
DBDMA controller being stopped and S7 being set. This also ended up
simplifying the calculation in i2sbus_pcm_pointer.
Tested on a 15 inch albook.
[Addition by Johannes]
I modified this patch and added the suspend/resume bits to it to get my
powermac into a decent state when playing sound across suspend to disk
that has a different bitrate from what the firmware programs the
hardware to.
I also added the SNDRV_PCM_INFO_JOINT_DUPLEX flag because it seemed the
right thing to do and I was looking at the info stuff.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Tobin Davis [Wed, 7 Feb 2007 15:04:25 +0000 (16:04 +0100)]
[ALSA] hda-codec - Add support for Fujitsu PI1556 Realtek ALC880
This patch adds support for the Fujitsu PI1556 laptop.
Issue: Volume knob on system maxes out lower than alsamixer (0x35 vs 0x40).
Everything else works, and audio quality is good at 0x35.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
For some time now, some users of STAC9758 (emu10k1) would have no sound on
their front channels. This can be fixed (at least for me) by unmuting head
phone volume and setting it to 0dB before removing the 'Front Playback'
control. For details, cf.
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2308
Find the appropriate patch attached.
Credits to: Raymond
Signed-off-by: Rolf Stefan Wilke <stefan.wilke@uni-ulm.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jean Delvare [Mon, 5 Feb 2007 12:07:04 +0000 (13:07 +0100)]
[ALSA] snd-ak4114: Fix two array overflows
Fix the handling of the TXCSB registers cache. There was one array
overflow in reg_write() and one in snd_ak4114_reg_write(). Thanks
to David Binderman for reporting the latter.
The second overflow probably doesn't matter much, given that the
function snd_ak4114_reg_write() appears to be never called. I wonder
why it exists and why it is exported.
Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Bjoern Fay [Mon, 5 Feb 2007 11:27:21 +0000 (12:27 +0100)]
[ALSA] usbaudio - Add support for Edirol UA-101
Added support for the Edirol UA-101 (only in high-speed mode) by taking
the quirks for the UA-1000 and change them accordingly. Changes were
made in 'usbaudio.c', 'usbaudio.h', and 'usbquirks.h'
MIDI and recording seem to work perfectly (with JACK), but playback
gives some few glitches. I think that's the mentioned
synchronizing-problem in the UA-1000 quirk ('FIXME: playback must be
synchronized to capture'), so I didn't change that.
ToDo: Adding Mixer-Support for the built-in
control-panel/patch-bay/router.
Jakub Schmidtke [Fri, 2 Feb 2007 17:17:27 +0000 (18:17 +0100)]
[ALSA] hda-codec - Add ALC861VD/ALC660VD support
o Added ALC861VD support to patch_realtek.c under hda-intel
o Added ALC660VD as a model of 861VD
o Added pci quirks for Asus G1 as well as for two devices found in Realtek's
driver to point at ALC660VD model (3stack-660)
o Added pci quirk for Lenovo 3000 C200 - although untested, it should work
with ALC861VD 3stack model
o Changed preset id = 0x10ec0660 to point at new patch_alc861vd instead of
patch_861
o Organised the list of presets
Signed-off-by: Jakub Schmidtke <sjakub@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Fri, 2 Feb 2007 16:23:42 +0000 (17:23 +0100)]
[ALSA] soc - ASoC 0.13 Sharp poodle machine
This patch updates the Sharp poodle machine driver to the new API in
ASoC 0.13.
Changes:-
o Manually configure DAI hardware format.
o Removed config_sysclk() function. No longer needed as clocking is now
configured manually.
Liam Girdwood [Fri, 2 Feb 2007 16:22:46 +0000 (17:22 +0100)]
[ALSA] soc - ASoC 0.13 spitz machine
This patch updates the Sharp spitz machine driver to the new API in ASoC
0.13.
Changes:-
o Manually configure DAI hardware format.
o Removed config_sysclk() function. No longer needed as clocking is now
configured manually.
Liam Girdwood [Fri, 2 Feb 2007 16:22:20 +0000 (17:22 +0100)]
[ALSA] soc - ASoC Sharp corgi machine
This patch updates the Sharp corgi machine driver to the new API in ASoC
0.13.
Changes:-
o Manually configure DAI hardware format.
o Removed config_sysclk() function. No longer needed as clocking is now
configured manually.
Andrew Johnson [Fri, 2 Feb 2007 16:21:50 +0000 (17:21 +0100)]
[ALSA] soc - ASoC 0.13 pxa2xx DMA
This patch updates the pxa2xx I2S driver to the new API in ASoC 0.13.
Changes:-
o Added check in hw_params to detect buffer less pcms (i.e. BT <-->
codec).
o Updated structures to new API
o Removed DAI's and ac97 ops from PCM header.
o Integer hardware constraint added for periods.
Signed-off-by: Andrew Johnson <ajohnson@intrinsyc.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Fri, 2 Feb 2007 16:21:16 +0000 (17:21 +0100)]
[ALSA] soc - ASoC 0.13 pxa2xx AC97 driver
This patch updates the pxa2xx AC97 driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Added pxa2xx-ac97.h header
Philipp Zabel [Fri, 2 Feb 2007 16:20:40 +0000 (17:20 +0100)]
[ALSA] soc - ASoC 0.13 pxa2xx i2s driver
This patch updates the pxa2xx I2S driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
o Added pxa2xx-i2s.h header
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Frank Mandarino [Fri, 2 Feb 2007 16:19:58 +0000 (17:19 +0100)]
[ALSA] soc - ASoC 0.13 AT91xxxx Eti_B1 board support
This patch updates the EtI B1 machine driver to the new API in ASoC
0.13.
Changes:-
o Manually configure DAI hardware format.
o Removed config_sysclk() function. No longer needed as clocking is now
configured manually.
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Frank Mandarino [Fri, 2 Feb 2007 16:19:24 +0000 (17:19 +0100)]
[ALSA] soc - ASoC 0.13 AT91xxxx DMA
This patch updates the AT91xxxx audio DMA driver to the new API in ASoC
0.13.
Changes:-
o Updated to use new 0.13 data structures.
o Suspend and Resume now conditionally compiled.
o #include guard around at91-pcm.h header.
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Frank Mandarino [Fri, 2 Feb 2007 16:18:38 +0000 (17:18 +0100)]
[ALSA] soc - ASoC 0.13 AT91xxxx I2S
This patch updates the AT91xxxx I2S driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Fri, 2 Feb 2007 16:16:41 +0000 (17:16 +0100)]
[ALSA] soc - ASoC 0.13 generic AC97 codec
This patch updates the AC97 codec driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
Liam Girdwood [Fri, 2 Feb 2007 16:16:02 +0000 (17:16 +0100)]
[ALSA] soc - ASoC 0.13 WM9712 codec driver
This patch updates the WM9712 codec driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
Liam Girdwood [Fri, 2 Feb 2007 16:15:33 +0000 (17:15 +0100)]
[ALSA] soc - ASoC 0.13 WM8750 codec driver
This patch updates the WM8750 codec driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
Frank Mandarino [Fri, 2 Feb 2007 16:14:56 +0000 (17:14 +0100)]
[ALSA] soc - ASoC 0.13 WM8731 codec
This patch updates the WM8731 codec driver to the new API in ASoC 0.13.
Changes:-
o Removed DAI capabilities matching code in favour of manual matching in
the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Fri, 2 Feb 2007 16:13:49 +0000 (17:13 +0100)]
[ALSA] soc - ASoC 0.13 core changes
This patch updates the ASoC core to the new DAI matching and clocking
API in version 0.13
Changes:-
o Removed DAI capabilities matching code in favour of manual matching
in the machine drivers.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
o Added machine driver prepare callback.
Graeme Gregory [Fri, 2 Feb 2007 16:13:05 +0000 (17:13 +0100)]
[ALSA] soc - 0.13 ASoC headers
This patch updates the API's to include the new DAI configuration and
clocking architecture.
Changes:-
o Removed DAI automatic matching and capabilities structure (struct
snd_soc_dai_mode) and macros.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
o Updated version to 0.13
o Added shift to SOC_SINGLE_EXT kcontrol macro.
Takashi Iwai [Thu, 1 Feb 2007 14:46:50 +0000 (15:46 +0100)]
[ALSA] hda-intel - Add black/whitelist for position_fix option
Some devices are known to require position_fix=1 or 2 to make the
driver working correctly. Otherwise the sound gets weird effects,
such as stutters.
Now a black/whitelist is introduced to indicate the position_fix
value explicitly for such misbehaving hardwares. As a first example,
Dell D820 is listed there. More will come later likely...
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Thu, 1 Feb 2007 13:53:49 +0000 (14:53 +0100)]
[ALSA] Fix possible invalid memory access in PCM core
snd_internval_list() may access invalid memory in the case count = 0
is given. It shouldn't be passed, but it'd better to make the code
a bit more robust.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Thu, 1 Feb 2007 10:50:56 +0000 (11:50 +0100)]
[ALSA] usbaudio - Fix Oops with unconventional sample rates
The patch fixes the memory corruption by the support of unconventional
sample rates. Also, it avoids the too restrictive constraints if
any of usb descriptions contain continuous rates.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Wed, 31 Jan 2007 13:14:57 +0000 (14:14 +0100)]
[ALSA] ASoC force running of delayed PM work at suspend() and remove()
This patch fixes a bug whereby the power management delayed work would
never be run at driver suspend() or module remove(). Delayed work would
be created (after audio had finished) with a long delay (~5 secs) and
was sometimes never queued before flush_scheduled_work() was being
called at suspend or module remove. This caused the delayed work to
queued after the module had been removed or after resume.
This patch forces any delayed work to complete by cancelling it (timer
cannot fire and add it to queue later), scheduling it for now and
waiting on it's completion.
This is something I probably would like to add to workqueue.c in the
next merge window, however it's here atm because it can oops.
Karsten Wiese [Wed, 31 Jan 2007 09:05:30 +0000 (10:05 +0100)]
[ALSA] snd_hwdep_release() racefix
snd_card_file_remove() can free the snd_card.
Touch hw->* only before calling snd_card_file_remove().
Unrelated: Allow hwdep devices not to have own ops.release();
Takashi Iwai [Mon, 29 Jan 2007 14:33:49 +0000 (15:33 +0100)]
[ALSA] Add even more 'const' to everything related to TLV
Mark TLV data as 'const' Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 29 Jan 2007 14:27:56 +0000 (15:27 +0100)]
[ALSA] Add some more 'const', but needs changes in i2c/other/ak4*
Make data passed to ak4xxx_create 'const'. Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 29 Jan 2007 14:26:36 +0000 (15:26 +0100)]
[ALSA] Add 'const' to files in pci/ice1712/
Mark a lot of data as 'const' Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 29 Jan 2007 14:25:40 +0000 (15:25 +0100)]
[ALSA] ice1712 - Reorganize existing eeprom data
Reorganize EEPROM data (in C99 style). Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Robert P. J. Day [Mon, 29 Jan 2007 13:46:18 +0000 (14:46 +0100)]
[ALSA] Remove useless reference to obsolete KERNELD
Remove the final useless reference to the obsolete KERNELD feature.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Missing Mic Boost on Realtek ALC882/883
This patch adds Mic Boost controls for Realtek ALC882 and ALC883 chips.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 19 Jan 2007 17:34:47 +0000 (18:34 +0100)]
[ALSA] emu10k1 - Fix ABI for older ld10k1
Fix ABI for older ld10k1. When no EMU10K1_PVERSION ioctl is issued,
the driver accepts ioctls with the old struct size without TLV information.
Also, changed the struct field to make the conversion easier from the
old to the new structs.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 19 Jan 2007 13:51:57 +0000 (14:51 +0100)]
[ALSA] hda-intel - Don't try to probe invalid codecs
Fix the max number of codecs detected by HD-intel (and compatible)
controllers to 3. Some hardware reports extra bits as if
connected, and the driver gets confused to probe unexisting codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Recognize the Realtek ALC883 chip on MSI K9A Platinum motherboards (model
no. MS-7280), enabling full sound capabilities.
Error messages seen before this patch:
cannot find the slot for index 0 (range 0-0)
hda-intel: Error creating card!
HDA Intel: probe of 0000:00:14.2 failed with error -12
[akpm@osdl.org: updated to match recent ALSA table changes]
Signed-off-by: Leonard Norrgard <leonard.norrgard@refactor.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Tobin Davis [Mon, 8 Jan 2007 10:04:17 +0000 (11:04 +0100)]
[ALSA] hda-codec - Add support for Sigmatel STAC9202/9250/9251 codecs
This patch adds support for Gateway laptops based on the
Sigmatel STAC9250 codecs, as well as basic support for
STAC9202/9250/9251 codecs. Some Gateway systems require
probe_mask=1 to work. More work to be done prior to alsa 1.0.14
final.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] Solve typos/compilation problems for debug functions in soc-dapm and at91-i2s
soc-dapm
·Removed list_for_each since the loop is list_for_each_entry() and
not list_for_each(). Thanks to Liam Girdwood and Seth Forshee.
at91-i2s
·Fixed typo in dai modes definition.
·Fixed struct member name in at91_ssc_info->ssc_state.
·Fixed compilation problem, ssc_state is bundled in at91_ssc_info.
Tobin Davis [Mon, 8 Jan 2007 09:54:26 +0000 (10:54 +0100)]
[ALSA] hda-codec - Change default config for Asus P5GD1
This patch changes the default configuration for the Asus P5GD1
motherboard from 5stack to asus, as reported by stelek on
linuxquestions.org
http://www.linuxquestions.org/questions/showthread.php?p=2556497#post2556497
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Clement Guedez [Mon, 8 Jan 2007 09:48:41 +0000 (10:48 +0100)]
[ALSA] Add support of the ESI Waveterminal 192M to the ice1724 ALSA driver
This patch adds the support of the ESI Waveterminal 192M soundcard
to the ice1724 familly ALSA driver.
It's a semi-professionnal soundcard for home studio : many I/O and
a quality of sound is good, better than consumer cards, but less
musical than professional cards.
It use a Via Envy24ht chipset as ice1724 soundcard, Sigmatel
stac9640 ADC/DAC for the analog I/O as Prodigy192, and Atmel ak4114
for S/PDIF as ESI Julia.
Is working : the 8 analog outputs, the analog inputs 1&2, the mic
input 1, the coaxial & optical digital outputs.
Randy Cushman [Fri, 22 Dec 2006 11:44:25 +0000 (12:44 +0100)]
[ALSA] ac97 - fix various issues with AD1986/AD1986A support
Previously, ac97_codec.c was coded to support AD1986 and AD1986A
CODECs using code written for the AD1985 CODEC. This allowed the
LINE_OUT and HEADPHONE jacks to function properly, however register
differences between the CODECs prevented line and microphone inputs
from functioning.
Specifically, this patch fixes issues with the following mixer
controls: 'V_REFOUT', 'Spread Front to Surround and Center/LFE',
'Exchange Front/Surround', 'Surround Jack Mode', and 'Channel Mode'.
This patch removes the undocumented AD1888 control
'High Pass Filter Enable' and adds the new control
'Exchange Mic/Line In'.
Signed-off-by: Randy Cushman <rcushman_linux@earthlink.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Randy Cushman [Thu, 21 Dec 2006 18:17:29 +0000 (19:17 +0100)]
[ALSA] ac97 - fix malfunctioning mixer controls for AD1985
This patch replaces the 'V_REFOUT Enable' mixer switch control
with a listbox control for the AD1985 CODEC.
Previous patch 'AD1888 mixer controls for DC mode' added
controls that were propogated to multiple codecs. For the
AD1985 codec, the bits VREFH and VREFD function differently,
preventing the 'V_REFOUT Enable' control from setting V_REFOUT
to Hi-Z.
This patch also corrects an issue in which register bits relating
to mixer controls 'Surround Jack Mode' and 'Channel Mode'.
The register bits controlled by these controls were being set
at boot time to states inconsistent with the stored values of
these controls.
Signed-off-by: Randy Cushman <rcushman_linux@earthlink.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Randy Cushman [Tue, 19 Dec 2006 17:42:16 +0000 (18:42 +0100)]
[ALSA] ac97 - fix microphone and line_in selection logic
This patch fixes the Microphone and LINE_IN select logic for
Analog Devices surround codecs with shared jacks. The existing
code can never utilize the shared jacks for Microphone and LINE_IN
due to the reversed jack selection logic. The patched code
correctly selects the shared jack for input if the 'Channel Mode'
selector does not specify that the jack is to be used for output.
Specifically, in '2ch' mode the Center/LFE jack is used for
microphone input and the Surround jack is used for LINE_IN,
in '4ch' mode the Center/LFE jack is used for microphone input
and the Surround jack is used for output, and in '6ch' mode
both jacks are used for output.
Signed-off-by: Randy Cushman <rcushman_linux@earthlink.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
James C Georgas [Tue, 19 Dec 2006 10:09:41 +0000 (11:09 +0100)]
[ALSA] Remove AC97 POP control for STAC9708/11
The STAC9708/11 AC97 codecs implement the PCM Out Path & Mute bit in
the General Purpose register (0x20:F), even though they don't implement
the actual function in the mixer.
Since the alsa tests for the function by toggling the bit and reading
it back to see if it changed, it mistakenly creates a useless control.
This patch explicitly removes the control when the codec is an
STAC9708/11.
I put the check in patch_sigmatel_stac9708_specific(), because I have
an SBLive with this chip on it. I don't know if the STAC9758 or other
codecs also behave this way. If they do, then this check could maybe go
in patch_sigmatel_stac97xx_specific(), or some other more general
function.
Signed-off-by: James C Georgas <jgeorgas@rogers.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Mon, 18 Dec 2006 13:39:02 +0000 (14:39 +0100)]
[ALSA] Additional credits to soc-core
This patch adds copyright and credit for my good friend Richard Purdie
from OpenedHand for his help and code contribution throughout the
development of the core code. Many thanks Richard (I guess we overlooked
this in trying to get everything working well).
It also adds some extra comments wrt to DAI clock matching.
Johannes Berg [Mon, 18 Dec 2006 12:20:06 +0000 (13:20 +0100)]
[ALSA] snd-aoa: fix onyx resume
When the machine resumes the onyx codec might be in a weird state. Hence,
simply fully reset it once (and keep the code to take it out of suspend in
case the suspend of the codec chip survives a reset).
Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Tobin Davis [Fri, 15 Dec 2006 09:02:12 +0000 (10:02 +0100)]
[ALSA] hda-codec (realtek): add support for MacPro series workstations
This patch adds limited support for Intel-based MacPro workstations.
Currently, the front headphone jack is not functioning, but line out
and line in are working. S/PDIF not tested.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Andrew Morton [Fri, 15 Dec 2006 08:30:07 +0000 (09:30 +0100)]
[ALSA] Fix the soc code after dhowells workqueue changes.
From: Andrew Morton <akpm@osdl.org>
I converted the workqueues to per-device while I was there. It seems
strange to create a new kernel thread (on each CPU!) and to then only
have a single global work to ever be queued upon it.
Plus without this, I'd have to use the _NAR stuff, gawd help me.
Does that workqueue really need to be per-cpu?
Does that workqueue really need to exist? Why not use keventd? Cc: Takashi Iwai <tiwai@suse.de> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Olaf Hering [Thu, 7 Dec 2006 07:25:01 +0000 (08:25 +0100)]
[ALSA] create driver symlink in snd-aoa /sys/bus/aoa-soundbus/devices/*/
create sysfs driver symlink for snd-aoa in /sys/bus/aoa-soundbus/devices/*/ Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Olaf Hering [Thu, 7 Dec 2006 07:24:12 +0000 (08:24 +0100)]
[ALSA] create device symlink in snd-aoa
create sysfs device symlinks for snd-aoa in /sys/class/sound/controlC0 This
allows hald to recognize the device as sound device. Furthermore it allows
the desktop user to actually access the sound device nodes. hald and
related packages will modify the acl attributes.
Fixes https://bugzilla.novell.com/show_bug.cgi?id=106294 Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>