[alsa-cvslog] alsa-kmirror: ALSA kernel mirror repository branch, master now at v1.0.23-353-g48b6e6
Brought to you by:
perex
From: <nor...@al...> - 2010-07-19 14:56:03
|
Hello, This is an automated email from the git hooks/update script, it was generated because a ref change was pushed to the repository. Updating branch, master, via 48b6e6b84aa49ad1462e0aa0d8f05da03eb4ee54 (commit) via 803b219dab7770d2d68ab192d22b7cec3b2d1b22 (commit) via e800ef8f27790c499fac8d07be2207eaac1a7126 (commit) via e235f97a153ded4eecebc5332a6b36ef29e90823 (commit) via fd538b14da509addf5de2ff28f69d5d3141f5adc (commit) via 38a460a9c502090e0915234cbcf34f55846b8643 (commit) via 89c4336caa9a7c03022642b78990aa8bf660804c (commit) via 7e95db7e12e4778a28a894f211965a48dd81b173 (commit) via adcffbf6aefed42167d3921f3684e9a40478cddc (commit) via 449eb2b197628e9acb76947b57e78f814f06e03d (commit) via b0387dd805e3b732857019ba66a500665a93f2dc (commit) via 2663925f85115d0bfa75e76fb50654255beaa470 (commit) via 4e96eb2b905f7edeea7af2e01b124d2a66ce61a8 (commit) via 5f8f5615e17723a9992109038921e361a22c7fb0 (commit) via 37725bf1e7f223ea27a713d52f526c3a50530ba9 (commit) via 8ab7cb2e3635062615193f812c4d3cc1e07f0f1a (commit) via d47755c04e554e4887259e60c844cf40c6a58f31 (commit) via 1ee5c2e96c6b507c55773cfa33366f41761fd517 (commit) via cd6a0aac902be83eb660ad3e8876267f85ba1744 (commit) via b871cf560357a985a35b60ee5daee638624b0b50 (commit) via 917af1895bd341670a4adada97adb194d9e88edd (commit) via 7c5fe63fa8787609093dbe353159e7daad0381e8 (commit) via ee0aba3e8fd53aa09ba9810f496676ebec958904 (commit) via 2c01de0dc3d4acb9d4cb4b8d725c2564336a0c74 (commit) via 82693daa98af83323835c0d29cd92403c29f23fa (commit) via 4e9884ff33a02b88a4d5ac9d569a0ca5c4d972c3 (commit) via 7469ee3dfe5a8800a0e56921ba3d2b55fd5c8c95 (commit) via 243cabb849c3637d6bf5271415175f5e75b754e0 (commit) via 4f5d06512dd6172cdaa034f8e2d8b7f39401a9ef (commit) via 6e8887f0f0d5c5b8bd67a5cc321464daa87eb651 (commit) via 4233674ebcd72103b6a4b358c6040c562b382ee3 (commit) via 68fc67a40f3bd9fbf02c5b8e48acab65521bb344 (commit) via c72b02ae7c77234bc2b8ab15999498e1f4ecd677 (commit) via 27a6f86d51366510ef93afb4dbec13ff762cf235 (commit) via 231d5266c1c54db4f23c4bbc76982c49f96d4c98 (commit) via ade59e666af5a66dc218b7c964ba5ed52f4e6321 (commit) via f7d4e696e536cc9f93d4c7deec477d400da6adce (commit) via dbdde5fec6688467d2d7bd6d7c40e4d5ca9c34d2 (commit) via f5e1136fdab9d019919dda7628429ff633709a7a (commit) via 39ae55e962123ea30d9431c8636e789d99c6de8a (commit) via fcbaaef76b393aa046faf8593198256219c50d02 (commit) via 80ed9335632089b6c173af0982f9c760ce32fa3f (commit) via 2175487754a101de341311448adb930f8782b823 (commit) via 69dd587eed1159d9b871fb183520985ea25f06b6 (commit) via 798f56d003346dc46f3f42c2182972ff148c7727 (commit) via 1ff0255a63e9d48d28daeb8ef3ee31989ba97ae8 (commit) via ea82b5f2cdd8f004e2457071e5b687d44f31ccfe (commit) via 5a90384b7b20ec87cd59ed7b901c1c7e455a2d61 (commit) via b972362066b8de8bacafc2f2685f1ce295854b58 (commit) via 539a7be15d9534553c9100e6de027668379d2751 (commit) via d01dafefdf64a631f983b353b42b2333c36d2ca8 (commit) via 4aba7f5dab09c1982a21fbd2e694a114d1cc528d (commit) via 8140e7e87cfa6efda4b45cee01e0a1955b90c90c (commit) via 286a27d4f5435fc36f7ecb61079870a4772e4d3e (commit) via dbf8fe75cedef32657edbe2037e2c6a0324e9caf (commit) via 93537baa10dd7311ccab1f6f6bae05004091d645 (commit) from 5e011eaf61b8b8cbde38ef26fe0c12d2596a7bcb (commit) - Log ----------------------------------------------------------------- commit 48b6e6b84aa49ad1462e0aa0d8f05da03eb4ee54 Author: Maurus Cuelenaere <mcu...@gm...> AuthorDate: Sun Jul 4 15:12:11 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:14 2010 +0200 ASoC: Invert speaker enabling behaviour in SmartQ sound driver The speaker was enabled when the headphone was plugged in, which isn't the wanted behaviour so correct this. Signed-off-by: Maurus Cuelenaere <mcu...@gm...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 803b219dab7770d2d68ab192d22b7cec3b2d1b22 Author: Jaroslav Kysela <pe...@pe...> AuthorDate: Mon Jul 19 16:37:39 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 16:44:06 2010 +0200 ALSA: pcm core - add a safe check to the silence filling function In situation when appl_ptr is far greater then hw_ptr, the hw_avail value can be greater than buffer_size. Check for this. Signed-off-by: Jaroslav Kysela <pe...@pe...> commit e800ef8f27790c499fac8d07be2207eaac1a7126 Author: Jaroslav Kysela <pe...@pe...> AuthorDate: Mon Jul 19 15:52:39 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:52:39 2010 +0200 ALSA: hda-intel - do not mix audio and modem function IDs The function IDs are different for audio and modem. Do not mix them. Also, show the unsolicited bit in the function_id register. Signed-off-by: Jaroslav Kysela <pe...@pe...> commit e235f97a153ded4eecebc5332a6b36ef29e90823 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Fri Jul 16 17:51:01 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:50 2010 +0200 ALSA: asihpi - Avoid useless assignment of returned index values. Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit fd538b14da509addf5de2ff28f69d5d3141f5adc Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Fri Jul 16 17:51:00 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:49 2010 +0200 ALSA: asihpi - Avoid using c99 uintX types. Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 38a460a9c502090e0915234cbcf34f55846b8643 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Fri Jul 16 17:50:59 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:48 2010 +0200 ALSA: asihpi - HPI version 4.04.01 Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 89c4336caa9a7c03022642b78990aa8bf660804c Author: Kulikov Vasiliy <se...@gm...> AuthorDate: Thu Jul 15 22:48:19 2010 +0400 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:47 2010 +0200 ALSA: asihpi: fix sign bug bytes_per_sec is unsigned, so if snd_pcm_format_width() return error we would not see it. Signed-off-by: Kulikov Vasiliy <se...@gm...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 7e95db7e12e4778a28a894f211965a48dd81b173 Author: Michael Witten <mfw...@gm...> AuthorDate: Wed Jul 14 23:54:21 2010 +0000 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:46 2010 +0200 ALSA: Kconfig: SND_AC97_POWER_SAVE description improvement The description has been expanded to explain the time-out value provided by the power_save module parameter. Signed-off-by: Michael Witten <mfw...@gm...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit adcffbf6aefed42167d3921f3684e9a40478cddc Author: Takashi Iwai <ti...@su...> AuthorDate: Tue Jul 13 22:49:01 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:44 2010 +0200 ALSA: hda - Add support of dual-ADCs for Realtek ALC275 Some VAIO models with ALC275 have dual ADCs for both internal and external mics, and the driver needs to switch one of them appropriately. This patch adds a basic support for this functionality, dynamic switching between two ADCs per jack plug state. Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 449eb2b197628e9acb76947b57e78f814f06e03d Author: Manuel Lauss <man...@go...> AuthorDate: Mon Jul 12 15:14:59 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:43 2010 +0200 ASoC: au1x: fix section mismatch in psc-i2s.c Annotate platform probe callback with __devinit instead of plain __init. Signed-off-by: Manuel Lauss <man...@go...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit b0387dd805e3b732857019ba66a500665a93f2dc Author: arn...@rt... <arn...@rt...> AuthorDate: Sun Jul 11 23:28:32 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:42 2010 +0200 ASoC: kirkwood-i2s: Handle mute/unmute playback/record The controller has mute/unmute capability and some bootloader may mute them at boot. If it's not handled, all things will seem to be working but no sound will come out of the speaker/headphone. Signed-off-by: Arnaud Patard <arn...@rt...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 2663925f85115d0bfa75e76fb50654255beaa470 Author: arn...@rt... <arn...@rt...> AuthorDate: Sun Jul 11 23:28:31 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:41 2010 +0200 ASoC: Fix kirkwood i2s mono playback Kirkwood controller needs to be informed if the audio stream is mono or not. Failing to do so will result in playing at the wrong speed. Signed-off-by: Arnaud Patard <arn...@rt...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 4e96eb2b905f7edeea7af2e01b124d2a66ce61a8 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:13:14 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:40 2010 +0200 ASoC: fsi: Fixup for master mode This patch add hw_params to snd_soc_dai_ops, because board specific set_rate is needed when FSI was used as master mode. This patch remove fsi_clk_ctrl from fsi_dai_startup, because clock should be disabled before set_rate. Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 5f8f5615e17723a9992109038921e361a22c7fb0 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:13:09 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:40 2010 +0200 ASoC: fsi: Add pr_err for noticing unsupported access This patch didn't use dev_err, because it is difficult to get struct device here. Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 37725bf1e7f223ea27a713d52f526c3a50530ba9 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:13:04 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:39 2010 +0200 ASoC: fsi: Change struct fsi_regs to fsi_core Many registers which were grouped by category were added in FSI2. To make easy to switch FSI/FSI2, fsi_core was added instead of fsi_regs. Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 8ab7cb2e3635062615193f812c4d3cc1e07f0f1a Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:13:00 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:38 2010 +0200 ASoC: fsi: remove noisy CR_FMT macro Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit d47755c04e554e4887259e60c844cf40c6a58f31 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:12:53 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:37 2010 +0200 ASoC: fsi: remove un-used variable on fsi_dai_startup Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 1ee5c2e96c6b507c55773cfa33366f41761fd517 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 18:13:19 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:36 2010 +0200 ASoC: fsi: modify format area definition on flags There is no necessity that each bit in this area has the meaning. This patch modify it to sequence number Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit cd6a0aac902be83eb660ad3e8876267f85ba1744 Author: Joe Perches <jo...@pe...> AuthorDate: Mon Jul 12 13:50:27 2010 -0700 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:35 2010 +0200 ASoC: Remove unnecessary casts of private_data Signed-off-by: Joe Perches <jo...@pe...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit b871cf560357a985a35b60ee5daee638624b0b50 Author: Joe Perches <jo...@pe...> AuthorDate: Mon Jul 12 13:50:26 2010 -0700 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:34 2010 +0200 ASoC: Remove unnecessary casts of private_data Signed-off-by: Joe Perches <jo...@pe...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 917af1895bd341670a4adada97adb194d9e88edd Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:01:25 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:33 2010 +0200 ASoC: fsi: fixup wrong value setting order of TDM channel size should be set before setting register value Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 7c5fe63fa8787609093dbe353159e7daad0381e8 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Tue Jul 13 12:01:15 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:33 2010 +0200 ASoC: fsi: fixup clock inversion operation Clock inversion should be specified by each flags bit. Signed-off-by: Kuninori Morimoto <kun...@re...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit ee0aba3e8fd53aa09ba9810f496676ebec958904 Author: Arnd Bergmann <ar...@ar...> AuthorDate: Sun Jul 11 12:16:36 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:30 2010 +0200 sound: push BKL into open functions This moves the lock_kernel() call from soundcore_open to the individual OSS device drivers, where we can deal with it one driver at a time if needed, or just kill off the drivers. All core components in ALSA already provide adequate locking in their open()-functions and do not require the big kernel lock, so there is no need to add the BKL there. Signed-off-by: Arnd Bergmann <ar...@ar...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 2c01de0dc3d4acb9d4cb4b8d725c2564336a0c74 Author: Mark Brown <br...@op...> AuthorDate: Thu Jul 8 11:25:43 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:21 2010 +0200 ASoC: Implement WM8994 OPCLK support The WM8994 can output a clock derived from its internal SYSCLK, called OPCLK. The rate can be selected as a sysclk, with a division from the SYSCLK rate specified (multiplied by 10 since a division of 5.5 is supported) and the clock can be disabled by specifying a divisor of zero. Signed-off-by: Mark Brown <br...@op...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 82693daa98af83323835c0d29cd92403c29f23fa Author: Takashi Iwai <ti...@su...> AuthorDate: Thu Jul 8 18:40:37 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:20 2010 +0200 ALSA: hda - Limit the amp value to write Check the amp max value at put callbacks and set the upper limit so that the driver won't write any invalid value over the defined range. Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 4e9884ff33a02b88a4d5ac9d569a0ca5c4d972c3 Author: Takashi Iwai <ti...@su...> AuthorDate: Thu Jul 8 18:39:00 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:19 2010 +0200 ALSA: hda - Add beep mixer support to Conexant codecs Added the beep mixer controls to Conexant codecs. They simply control the digital beep generator widget. For cx5047, I couldn't find any beep generator, so it's not implemented there. Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 7469ee3dfe5a8800a0e56921ba3d2b55fd5c8c95 Author: Mark Brown <br...@op...> AuthorDate: Fri Jul 9 00:12:08 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:18 2010 +0200 ASoC: Include WM8994 GPIO and interrupt registers in codec_reg Very handy for debug. Signed-off-by: Mark Brown <br...@op...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 243cabb849c3637d6bf5271415175f5e75b754e0 Author: Takashi Iwai <ti...@su...> AuthorDate: Thu Jul 8 09:01:17 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:18 2010 +0200 ALSA: Update documents about new bits of xrun_debug proc file Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 4f5d06512dd6172cdaa034f8e2d8b7f39401a9ef Author: Raffaele Recalcati <raf...@bt...> AuthorDate: Tue Jul 6 10:39:04 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:17 2010 +0200 ASoC: DaVinci: More accurate continuous serial clock for McBSP (I2S) i2s_accurate_sck switch can be used to have a better approximate sampling frequency. The clock is an externally visible bit clock and it is named i2s continuous serial clock (I2S_SCK). The trade off is between more accurate clock (fast clock) and less accurate clock (slow clock). The waveform will be not symmetric. Probably it is possible to get a better algorithm for calculating the divider, trying to keep a slower clock as possible. This patch has been developed against the http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git git tree and has been tested on bmx board (similar to dm365 evm, but using uda1345 as external audio codec). Signed-off-by: Raffaele Recalcati <raf...@bt...> Signed-off-by: Davide Bonfanti <dav...@bt...> Acked-by: Liam Girdwood <lr...@sl...> Acked-by: Sudhakar Rajashekhara <sud...@ti...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 6e8887f0f0d5c5b8bd67a5cc321464daa87eb651 Author: Raffaele Recalcati <raf...@bt...> AuthorDate: Tue Jul 6 10:39:03 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:16 2010 +0200 ASoC: DaVinci: Added selection of clk input pin for McBSP When McBSP peripheral gets the clock from an external pin, there are three possible chooses, MCBSP_CLKX, MCBSP_CLKR and MCBSP_CLKS. evm-dm365 uses MCBSP_CLKR, instead in bmx board I have a different hardware connection and I use MCBSP_CLKS, so I have added this possibility. This patch has been developed against the: http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git git tree and has been tested on bmx board (similar to dm365 evm) Signed-off-by: Raffaele Recalcati <raf...@bt...> Signed-off-by: Davide Bonfanti <dav...@bt...> Acked-by: Liam Girdwood <lr...@sl...> Acked-by: Sudhakar Rajashekhara <sud...@ti...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 4233674ebcd72103b6a4b358c6040c562b382ee3 Author: Raffaele Recalcati <raf...@bt...> AuthorDate: Tue Jul 6 10:39:02 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:15 2010 +0200 ASoC: DaVinci: Added two clocking possibilities to McBSP (I2S) Added two clocking options for dm365 McBSP peripheral when used with I2S timings, that are SND_SOC_DAIFMT_CBS_CFS (the cpu generates clock and frame sync) and SND_SOC_DAIFMT_CBS_CFM (the cpu gets clock from external pin and generates frame sync). A slave clock management can be important when the external codec needs the system clock and the bit clock synchronized (tested with uda1345). This patch has been developed against the: http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git git tree and has been tested on bmx board (similar to dm365 evm, but using uda1345 as external audio codec). Signed-off-by: Raffaele Recalcati <raf...@bt...> Signed-off-by: Davide Bonfanti <dav...@bt...> Acked-by: Liam Girdwood <lr...@sl...> Acked-by: Sudhakar Rajashekhara <sud...@ti...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 68fc67a40f3bd9fbf02c5b8e48acab65521bb344 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Tue Jul 6 08:37:11 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:14 2010 +0200 ALSA: asihpi - Remove unneeded ; Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit c72b02ae7c77234bc2b8ab15999498e1f4ecd677 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Tue Jul 6 08:37:10 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:13 2010 +0200 ALSA: asihpi - Minor HPI error handling fixes Handle errors in tuner level caching, Ccorrect error code for aesebu rx status. Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 27a6f86d51366510ef93afb4dbec13ff762cf235 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Tue Jul 6 08:37:09 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:12 2010 +0200 ALSA: asihpi - Change compander API and tidy Compander API changed to one function per parameter. Factor out some common code for stereo log value reading. Make some more entity functions static. Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 231d5266c1c54db4f23c4bbc76982c49f96d4c98 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Tue Jul 6 08:37:08 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:11 2010 +0200 ALSA: asihpi - Add ASI5200 family Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit ade59e666af5a66dc218b7c964ba5ed52f4e6321 Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Tue Jul 6 08:37:07 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:10 2010 +0200 ALSA: asihpi - Use version string instead of printf formatting Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit f7d4e696e536cc9f93d4c7deec477d400da6adce Author: Eliot Blennerhassett <ebl...@au...> AuthorDate: Tue Jul 6 08:37:06 2010 +1200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:09 2010 +0200 ALSA: asihpi - HPI API updates Remove some deprecated items. Change compander api to one function per parameter. Add a version string define. Signed-off-by: Eliot Blennerhassett <ebl...@au...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit dbdde5fec6688467d2d7bd6d7c40e4d5ca9c34d2 Author: Mark Brown <br...@op...> AuthorDate: Mon Jul 5 23:54:51 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:08 2010 +0200 ASoC: Automatically manage ALC coefficients for WM8960 Signed-off-by: Mark Brown <br...@op...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit f5e1136fdab9d019919dda7628429ff633709a7a Author: John Kacur <jk...@re...> AuthorDate: Sun Jul 4 00:02:31 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:08 2010 +0200 sound: soundcore_open: Reduce the area BKL coverage Most of this function is protected by the sound_loader_lock. We can push down the BKL to this call out err = file->f_op->open(inode,file); In order to build the sound core without the BKL, we will need to push the lock_kernel() call into the ~20 device drivers that register their file operations. Signed-off-by: John Kacur <jk...@re...> Signed-off-by: Arnd Bergmann <ar...@ar...> Acked-by: Alan Cox <al...@li...> Signed-off-by: Takashi Iwai <ti...@su...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 39ae55e962123ea30d9431c8636e789d99c6de8a Author: Mark Brown <br...@op...> AuthorDate: Mon Jul 5 13:58:16 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:04 2010 +0200 ASoC: Automatically manage DAC deemphasis rate for WM8960 Signed-off-by: Mark Brown <br...@op...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit fcbaaef76b393aa046faf8593198256219c50d02 Author: Mark Brown <br...@op...> AuthorDate: Mon Jul 5 13:54:32 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:03 2010 +0200 ASoC: Remove current WM8960 deemphasis control It will be replaced with automatic deemphasis rate configuration but since we have an enumeration table in this driver this is done in a separate commit to make the renumbering of the enumeration items clear. Signed-off-by: Mark Brown <br...@op...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 80ed9335632089b6c173af0982f9c760ce32fa3f Author: Mark Brown <br...@op...> AuthorDate: Mon Jul 5 12:09:22 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:02 2010 +0200 ASoC: Fix sorting of Makefile and Kconfig Signed-off-by: Mark Brown <br...@op...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 2175487754a101de341311448adb930f8782b823 Author: Maurus Cuelenaere <mcu...@gm...> AuthorDate: Sat Jul 3 02:46:12 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:01 2010 +0200 ASoC: Add SmartQ sound driver This adds sound support for the SmartQ board. The hardware consists of a S3C6410 coupled with a WM8987 over I²S. The WM8750 driver is used for driving the WM8987, as they are register compatible. Signed-off-by: Maurus Cuelenaere <mcu...@gm...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 69dd587eed1159d9b871fb183520985ea25f06b6 Author: Maurus Cuelenaere <mcu...@gm...> AuthorDate: Sat Jul 3 02:46:10 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:01 2010 +0200 ASoC: codec: Add WM8987 device id to WM8750 driver The WM8987 codec is register compatible with the WM8750, so just add it to the SPI and I²C device table. Signed-off-by: Maurus Cuelenaere <mcu...@gm...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 798f56d003346dc46f3f42c2182972ff148c7727 Author: Kuninori Morimoto <kun...@re...> AuthorDate: Thu Jul 1 14:23:45 2010 +0900 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:41:00 2010 +0200 ASoC: ak4642: Add Digital Playback Volume control Signed-off-by: Kuninori Morimoto <kun...@re...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 1ff0255a63e9d48d28daeb8ef3ee31989ba97ae8 Author: Vladimir Zapolskiy <vza...@gm...> AuthorDate: Thu Jun 24 17:19:25 2010 +0400 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:40:59 2010 +0200 ASoC: uda134x: correct bias level setup for codecs family For UDA1341 codec power control is managed in STATUS1 register, and for all other codecs in DATA011 register. Signed-off-by: Vladimir Zapolskiy <vza...@gm...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit ea82b5f2cdd8f004e2457071e5b687d44f31ccfe Author: Vladimir Zapolskiy <vza...@gm...> AuthorDate: Thu Jun 24 15:17:07 2010 +0400 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:40:58 2010 +0200 ASoC: uda134x: add DATA011 register found in codecs family In UDA1340, UDA1344 and UDA1345 codecs there is one more functional register in part of DATA0 tranfser. For UDA1341 this register coincides with EA register. Signed-off-by: Vladimir Zapolskiy <vza...@gm...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 5a90384b7b20ec87cd59ed7b901c1c7e455a2d61 Author: Eric Bénard <er...@eu...> AuthorDate: Sat Jun 19 10:47:56 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:40:57 2010 +0200 ASoC: clean i.MX Kconfig Signed-off-by: Eric Bénard <er...@eu...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit b972362066b8de8bacafc2f2685f1ce295854b58 Author: Vladimir Zapolskiy <vza...@gm...> AuthorDate: Thu Jun 24 17:38:51 2010 +0400 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:40:57 2010 +0200 ASoC: uda134x: fix bias level setup on initialization On initialization ADC/DAC are enabled only for UDA1341, that's why bias_level shall be set to off explicitly, otherwise dapm is misinformed about bias_level on startup. Signed-off-by: Vladimir Zapolskiy <vza...@gm...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit 539a7be15d9534553c9100e6de027668379d2751 Author: Vladimir Zapolskiy <vza...@gm...> AuthorDate: Thu Jun 24 17:38:50 2010 +0400 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:40:56 2010 +0200 ASoC: uda134x: replace a macro with a value in platform struct. This change wipes out a hardcoded macro, which enables codec bias level control. Now is_powered_on_standby value shall be used instead. Signed-off-by: Vladimir Zapolskiy <vza...@gm...> Acked-by: Liam Girdwood <lr...@sl...> Signed-off-by: Mark Brown <br...@op...> Signed-off-by: Jaroslav Kysela <pe...@pe...> commit d01dafefdf64a631f983b353b42b2333c36d2ca8 Author: Clemens Ladisch <cl...@la...> AuthorDate: Mon Jul 12 16:28:50 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:34:02 2010 +0200 ALSA: HDA: VT1708S: fix Smart5.1 mode Correctly configure bidirectional pins when resuming; do not power down widgets when they are needed for Smart5.1 output; and on 3-jack boards, create the streams and controls needed for six channels. Signed-off-by: Clemens Ladisch <cl...@la...> Reported-and-tested-by: Viliam Kubis <vil...@gm...> commit 4aba7f5dab09c1982a21fbd2e694a114d1cc528d Author: Clemens Ladisch <cl...@la...> AuthorDate: Mon Jul 12 16:27:24 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:34:02 2010 +0200 ALSA: via82xx: allow changing the initial DXS volume As per-stream volume controls, the DXS controls are not intended to adjust the overall sound level and so are initialized every time a stream is opened. However, there are special situations where one wants to reduce the overall volume in the digital domain, i.e., before the AC'97 codec's PCM volume control. To allow this, add a module parameter that sets the initial DXS volume. Signed-off-by: Clemens Ladisch <cl...@la...> Tested-by: Soeren D. Schulze <soe...@gm...> commit 8140e7e87cfa6efda4b45cee01e0a1955b90c90c Author: Clemens Ladisch <cl...@la...> AuthorDate: Thu Jul 8 16:38:01 2010 +0200 Commit: Jaroslav Kysela <pe...@pe...> CommitDate: Mon Jul 19 15:34:01 2010 +0200 ALSA: usb-audio: silence a superfluous warning It is not advisable to print a warning when a device does not support setting the sample rate because this is perfectly valid for devices with a single rate or where rates are implicitly changed by selecting another alternate setting. Signed-off-by: Clemens Ladisch <cl...@la...> commit 286a27d4f5435fc36f7ecb61079870a4772e4d3e Author: Takashi Iwai <ti...@su...> AuthorDate: Mon Jul 5 16:50:13 2010 +0200 Commit: Takashi Iwai <ti...@su...> CommitDate: Fri Jul 9 08:42:29 2010 +0200 ALSA: hda - Restore cleared pin controls on resume Many codecs now clear the pin controls at suspend via snd_hda_shutup_pins() for reducing the click noise at power-off. But this leaves some pins uninitialized, and they'll be never recovered after resume. This patch adds the proper recovery of cleared pin controls on resume. Also it adds a check of bus->shutdown so that pins won't be cleared at module unloading. Reference: Kernel bug 16339 http://bugzilla.kernel.org/show_bug.cgi?id=16339 Cc: <st...@ke...> Signed-off-by: Takashi Iwai <ti...@su...> commit dbf8fe75cedef32657edbe2037e2c6a0324e9caf Author: Takashi Iwai <ti...@su...> AuthorDate: Mon Jul 5 17:28:17 2010 +0200 Commit: Takashi Iwai <ti...@su...> CommitDate: Mon Jul 5 17:28:17 2010 +0200 ALSA: hda - Enable beep on Realtek codecs with PCI SSID override When the PCI SSID gives an overriding SKU assno, PC-beep bit isn't detected (since it's located over 16bit), resulting in no PC beep. Also, many devices seem ignoring the requirement by Realtek's spec for SSID numbers, and it also confuses the PC beep detection. This patch assumes the PC beep is available on every machine with PCI SSID override. It's a regression fix from 2.6.34. Reference: Kernel bug 16251 http://bugzilla.kernel.org/show_bug.cgi?id=16251 Signed-off-by: Takashi Iwai <ti...@su...> commit 93537baa10dd7311ccab1f6f6bae05004091d645 Author: Grant Likely <gra...@se...> AuthorDate: Mon Jun 14 00:03:34 2010 -0600 Commit: Grant Likely <gra...@se...> CommitDate: Tue Jun 15 14:47:04 2010 -0600 powerpc/5200: Fix build error in sound code. Compiling in the MPC5200 sound drivers results in the following build error: sound/soc/fsl/mpc5200_psc_ac97.o: In function `to_psc_dma_stream': mpc5200_psc_ac97.c:(.text+0x0): multiple definition of `to_psc_dma_stream' sound/soc/fsl/mpc5200_dma.o:mpc5200_dma.c:(.text+0x0): first defined here sound/soc/fsl/efika-audio-fabric.o: In function `to_psc_dma_stream': efika-audio-fabric.c:(.text+0x0): multiple definition of `to_psc_dma_stream' sound/soc/fsl/mpc5200_dma.o:mpc5200_dma.c:(.text+0x0): first defined here make[3]: *** [sound/soc/fsl/built-in.o] Error 1 make[2]: *** [sound/soc/fsl] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 This patch fixes it by declaring the inline function in the header file to also be a static. Signed-off-by: Grant Likely <gra...@se...> Cc: Jon Smirl <jon...@gm...> Tested-by: John Hilmar Linkhorst <Joh...@rw...> Acked-by: Mark Brown <br...@op...> ----------------------------------------------------------------------- Diffstat: Documentation/Procfile.txt | 8 + core/pcm_lib.c | 2 + drivers/Kconfig | 24 +++- include/sh_fsi.h | 44 +++++- include/uda134x.h | 12 ++ pci/asihpi/asihpi.c | 16 ++- pci/asihpi/hpi.h | 68 +++++++--- pci/asihpi/hpi6000.c | 7 + pci/asihpi/hpi_internal.h | 40 +++--- pci/asihpi/hpicmn.c | 10 +- pci/asihpi/hpidebug.c | 2 +- pci/asihpi/hpidebug.h | 4 +- pci/asihpi/hpifunc.c | 327 +++++++++++++++++++++++++----------------- pci/asihpi/hpioctl.c | 4 +- pci/hda/hda_codec.c | 67 +++++++-- pci/hda/hda_codec.h | 10 +- pci/hda/hda_proc.c | 7 +- pci/hda/patch_conexant.c | 55 +++++++- pci/hda/patch_realtek.c | 182 +++++++++++++++++++++---- pci/hda/patch_via.c | 32 ++++- pci/via82xx.c | 9 +- soc/Kconfig | 2 +- soc/Makefile | 2 +- soc/au1x/psc-i2s.c | 2 +- soc/blackfin/bf5xx-ac97.c | 6 +- soc/blackfin/bf5xx-tdm.c | 6 +- soc/codecs/ak4642.c | 24 +++- soc/codecs/uda134x.c | 64 ++++++--- soc/codecs/uda134x.h | 5 +- soc/codecs/wm8750.c | 11 ++- soc/codecs/wm8960.c | 99 ++++++++++++- soc/codecs/wm8994.c | 43 ++++++ soc/codecs/wm8994.h | 3 + soc/davinci/davinci-i2s.c | 153 ++++++++++++++++++-- soc/davinci/davinci-i2s.h | 5 + soc/davinci/davinci-pcm.c | 2 +- soc/fsl/mpc5200_dma.h | 2 +- soc/imx/Kconfig | 14 +- soc/kirkwood/kirkwood-i2s.c | 27 +++- soc/kirkwood/kirkwood.h | 3 + soc/s3c24xx/Kconfig | 6 + soc/s3c24xx/Makefile | 2 + soc/s3c24xx/smartq_wm8987.c | 295 ++++++++++++++++++++++++++++++++++++++ soc/sh/fsi.c | 213 ++++++++++++++++++++-------- sound_core.c | 9 +- usb/clock.c | 5 +- 46 files changed, 1537 insertions(+), 396 deletions(-) Patch -------------- (max 1500 lines) diff --git a/Documentation/Procfile.txt b/Documentation/Procfile.txt index 07301de..7fcd1ad 100644 --- a/Documentation/Procfile.txt +++ b/Documentation/Procfile.txt @@ -103,6 +103,8 @@ card*/pcm*/xrun_debug bit 2 = Enable additional jiffies check bit 3 = Log hwptr update at each period interrupt bit 4 = Log hwptr update at each snd_pcm_update_hw_ptr() + bit 5 = Show last 10 positions on error + bit 6 = Do above only once When the bit 0 is set, the driver will show the messages to kernel log when an xrun is detected. The debug message is @@ -122,6 +124,12 @@ card*/pcm*/xrun_debug Bits 3 and 4 are for logging the hwptr records. Note that these will give flood of kernel messages. + When bit 5 is set, the driver logs the last 10 xrun errors and + the proc file shows each jiffies, position, period_size, + buffer_size, old_hw_ptr, and hw_ptr_base values. + + When bit 6 is set, the full xrun log is shown only once. + card*/pcm*/sub*/info The general information of this PCM sub-stream. diff --git a/core/pcm_lib.c b/core/pcm_lib.c index bcf95d3..e23e0e7 100644 --- a/core/pcm_lib.c +++ b/core/pcm_lib.c @@ -67,6 +67,8 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram } else { if (new_hw_ptr == ULONG_MAX) { /* initialization */ snd_pcm_sframes_t avail = snd_pcm_playback_hw_avail(runtime); + if (avail > runtime->buffer_size) + avail = runtime->buffer_size; runtime->silence_filled = avail > 0 ? avail : 0; runtime->silence_start = (runtime->status->hw_ptr + runtime->silence_filled) % diff --git a/drivers/Kconfig b/drivers/Kconfig index 84714a6..3264600 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -170,9 +170,25 @@ config SND_AC97_POWER_SAVE AC97 codecs. In this mode, the power-mode is dynamically controlled at each open/close. - The mode is activated by passing power_save=1 option to - snd-ac97-codec driver. You can toggle it dynamically over - sysfs, too. + The mode is activated by passing 'power_save=X' to the + snd-ac97-codec driver module, where 'X' is the time-out + value, a nonnegative integer that specifies how many + seconds of idle time the driver must count before it may + put the AC97 into power-save mode; a value of 0 (zero) + disables the use of this power-save mode. + + After the snd-ac97-codec driver module has been loaded, + the 'power_save' parameter can be set via sysfs as follows: + + echo 10 > /sys/module/snd_ac97_codec/parameters/power_save + + In this case, the time-out is set to 10 seconds; setting + the time-out to 1 second (the minimum activation value) + isn't recommended because many applications try to reopen + the device frequently. A value of 10 seconds would be a + good choice for normal operations. + + See Documentation/sound/alsa/powersave.txt for more details. config SND_AC97_POWER_SAVE_DEFAULT int "Default time-out for AC97 power-save mode" @@ -182,4 +198,6 @@ config SND_AC97_POWER_SAVE_DEFAULT The default time-out value in seconds for AC97 automatic power-save mode. 0 means to disable the power-save mode. + See SND_AC97_POWER_SAVE for more details. + endif # SND_DRIVERS diff --git a/include/sh_fsi.h b/include/sh_fsi.h index c022736..2c6237e 100644 --- a/include/sh_fsi.h +++ b/include/sh_fsi.h @@ -55,12 +55,12 @@ #define SH_FSI_GET_IFMT(x) ((x >> 8) & SH_FSI_FMT_MASK) #define SH_FSI_GET_OFMT(x) ((x >> 0) & SH_FSI_FMT_MASK) -#define SH_FSI_FMT_MONO (1 << 0) -#define SH_FSI_FMT_MONO_DELAY (1 << 1) -#define SH_FSI_FMT_PCM (1 << 2) -#define SH_FSI_FMT_I2S (1 << 3) -#define SH_FSI_FMT_TDM (1 << 4) -#define SH_FSI_FMT_TDM_DELAY (1 << 5) +#define SH_FSI_FMT_MONO 0 +#define SH_FSI_FMT_MONO_DELAY 1 +#define SH_FSI_FMT_PCM 2 +#define SH_FSI_FMT_I2S 3 +#define SH_FSI_FMT_TDM 4 +#define SH_FSI_FMT_TDM_DELAY 5 #define SH_FSI_IFMT_TDM_CH(x) \ (SH_FSI_IFMT(TDM) | SH_FSI_SET_CH_I(x)) @@ -72,9 +72,41 @@ #define SH_FSI_OFMT_TDM_DELAY_CH(x) \ (SH_FSI_OFMT(TDM_DELAY) | SH_FSI_SET_CH_O(x)) + +/* + * set_rate return value + * + * see ACKMD/BPFMD on + * ACK_MD (FSI2) + * CKG1 (FSI) + * + * err: return value < 0 + * + * 0x-00000AB + * + * A: ACKMD value + * B: BPFMD value + */ + +#define SH_FSI_ACKMD_MASK (0xF << 0) +#define SH_FSI_ACKMD_512 (1 << 0) +#define SH_FSI_ACKMD_256 (2 << 0) +#define SH_FSI_ACKMD_128 (3 << 0) +#define SH_FSI_ACKMD_64 (4 << 0) +#define SH_FSI_ACKMD_32 (5 << 0) + +#define SH_FSI_BPFMD_MASK (0xF << 4) +#define SH_FSI_BPFMD_512 (1 << 4) +#define SH_FSI_BPFMD_256 (2 << 4) +#define SH_FSI_BPFMD_128 (3 << 4) +#define SH_FSI_BPFMD_64 (4 << 4) +#define SH_FSI_BPFMD_32 (5 << 4) +#define SH_FSI_BPFMD_16 (6 << 4) + struct sh_fsi_platform_info { unsigned long porta_flags; unsigned long portb_flags; + int (*set_rate)(int is_porta, int rate); /* for master mode */ }; extern struct snd_soc_dai fsi_soc_dai[2]; diff --git a/include/uda134x.h b/include/uda134x.h index 509efb0..e475659 100644 --- a/include/uda134x.h +++ b/include/uda134x.h @@ -18,6 +18,18 @@ struct uda134x_platform_data { struct l3_pins l3; void (*power) (int); int model; + /* + ALSA SOC usually puts the device in standby mode when it's not used + for sometime. If you unset is_powered_on_standby the driver will + turn off the ADC/DAC when this callback is invoked and turn it back + on when needed. Unfortunately this will result in a very light bump + (it can be audible only with good earphones). If this bothers you + set is_powered_on_standby, you will have slightly higher power + consumption. Please note that sending the L3 command for ADC is + enough to make the bump, so it doesn't make difference if you + completely take off power from the codec. + */ + int is_powered_on_standby; #define UDA134X_UDA1340 1 #define UDA134X_UDA1341 2 #define UDA134X_UDA1344 3 diff --git a/pci/asihpi/asihpi.c b/pci/asihpi/asihpi.c index 1db586a..c80b0b8 100644 --- a/pci/asihpi/asihpi.c +++ b/pci/asihpi/asihpi.c @@ -460,6 +460,7 @@ static int snd_card_asihpi_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_card_asihpi *card = snd_pcm_substream_chip(substream); int err; u16 format; + int width; unsigned int bytes_per_sec; print_hwparams(params); @@ -512,9 +513,10 @@ static int snd_card_asihpi_pcm_hw_params(struct snd_pcm_substream *substream, dpcm->hpi_buffer_attached); } bytes_per_sec = params_rate(params) * params_channels(params); - bytes_per_sec *= snd_pcm_format_width(params_format(params)); + width = snd_pcm_format_width(params_format(params)); + bytes_per_sec *= width; bytes_per_sec /= 8; - if (bytes_per_sec <= 0) + if (width < 0 || bytes_per_sec == 0) return -EINVAL; dpcm->bytes_per_sec = bytes_per_sec; @@ -1383,7 +1385,7 @@ static char *asihpi_src_names[] = compile_time_assert( (ARRAY_SIZE(asihpi_src_names) == - (HPI_SOURCENODE_LAST_INDEX-HPI_SOURCENODE_BASE+1)), + (HPI_SOURCENODE_LAST_INDEX-HPI_SOURCENODE_NONE+1)), assert_src_names_size); #if ASI_STYLE_NAMES @@ -1414,7 +1416,7 @@ static char *asihpi_dst_names[] = compile_time_assert( (ARRAY_SIZE(asihpi_dst_names) == - (HPI_DESTNODE_LAST_INDEX-HPI_DESTNODE_BASE+1)), + (HPI_DESTNODE_LAST_INDEX-HPI_DESTNODE_NONE+1)), assert_dst_names_size); static inline int ctl_add(struct snd_card *card, struct snd_kcontrol_new *ctl, @@ -2171,7 +2173,7 @@ static int snd_asihpi_mux_info(struct snd_kcontrol *kcontrol, &src_node_type, &src_node_index); sprintf(uinfo->value.enumerated.name, "%s %d", - asihpi_src_names[src_node_type - HPI_SOURCENODE_BASE], + asihpi_src_names[src_node_type - HPI_SOURCENODE_NONE], src_node_index); return 0; } @@ -2603,8 +2605,8 @@ static int __devinit snd_card_asihpi_mixer_new(struct snd_card_asihpi *asihpi) } - hpi_ctl.src_node_type -= HPI_SOURCENODE_BASE; - hpi_ctl.dst_node_type -= HPI_DESTNODE_BASE; + hpi_ctl.src_node_type -= HPI_SOURCENODE_NONE; + hpi_ctl.dst_node_type -= HPI_DESTNODE_NONE; /* ASI50xx in SSX mode has multiple meters on the same node. Use subindex to create distinct ALSA controls diff --git a/pci/asihpi/hpi.h b/pci/asihpi/hpi.h index 0173bbe..23399d0 100644 --- a/pci/asihpi/hpi.h +++ b/pci/asihpi/hpi.h @@ -50,7 +50,8 @@ i.e 3.05.02 is a development version #define HPI_VER_RELEASE(v) ((int)(v & 0xFF)) /* Use single digits for versions less that 10 to avoid octal. */ -#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 3, 25) +#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 4, 1) +#define HPI_VER_STRING "4.04.01" /* Library version as documented in hpi-api-versions.txt */ #define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0) @@ -203,8 +204,6 @@ enum HPI_SOURCENODES { exists on a destination node can be searched for using a source node value of either 0, or HPI_SOURCENODE_NONE */ HPI_SOURCENODE_NONE = 100, - /** \deprecated Use HPI_SOURCENODE_NONE instead. */ - HPI_SOURCENODE_BASE = 100, /** Out Stream (Play) node. */ HPI_SOURCENODE_OSTREAM = 101, /** Line in node - could be analog, AES/EBU or network. */ @@ -235,8 +234,6 @@ enum HPI_DESTNODES { exists on a source node can be searched for using a destination node value of either 0, or HPI_DESTNODE_NONE */ HPI_DESTNODE_NONE = 200, - /** \deprecated Use HPI_DESTNODE_NONE instead. */ - HPI_DESTNODE_BASE = 200, /** In Stream (Record) node. */ HPI_DESTNODE_ISTREAM = 201, HPI_DESTNODE_LINEOUT = 202, /**< line out node. */ @@ -432,7 +429,18 @@ Property 2 - adapter can do stream grouping (supports SSX2) Property 1 - adapter can do samplerate conversion (MRX) Property 2 - adapter can do timestretch (TSX) */ - HPI_ADAPTER_PROPERTY_CAPS2 = 269 + HPI_ADAPTER_PROPERTY_CAPS2 = 269, + +/** Readonly adapter sync header connection count. +*/ + HPI_ADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS = 270, +/** Readonly supports SSX2 property. +Indicates the adapter supports SSX2 in some mode setting. The +return value is true (1) or false (0). If the current adapter +mode is MONO SSX2 is disabled, even though this property will +return true. +*/ + HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271 }; /** Adapter mode commands @@ -813,8 +821,6 @@ enum HPI_SAMPLECLOCK_SOURCES { /** The sampleclock output is derived from its local samplerate generator. The local samplerate may be set using HPI_SampleClock_SetLocalRate(). */ HPI_SAMPLECLOCK_SOURCE_LOCAL = 1, -/** \deprecated Use HPI_SAMPLECLOCK_SOURCE_LOCAL instead */ - HPI_SAMPLECLOCK_SOURCE_ADAPTER = 1, /** The adapter is clocked from a dedicated AES/EBU SampleClock input.*/ HPI_SAMPLECLOCK_SOURCE_AESEBU_SYNC = 2, /** From external wordclock connector */ @@ -825,10 +831,6 @@ enum HPI_SAMPLECLOCK_SOURCES { HPI_SAMPLECLOCK_SOURCE_SMPTE = 5, /** One of the aesebu inputs */ HPI_SAMPLECLOCK_SOURCE_AESEBU_INPUT = 6, -/** \deprecated The first aesebu input with a valid signal -Superseded by separate Auto enable flag -*/ - HPI_SAMPLECLOCK_SOURCE_AESEBU_AUTO = 7, /** From a network interface e.g. Cobranet or Livewire at either 48 or 96kHz */ HPI_SAMPLECLOCK_SOURCE_NETWORK = 8, /** From previous adjacent module (ASI2416 only)*/ @@ -1015,8 +1017,6 @@ enum HPI_ERROR_CODES { HPI_ERROR_CONTROL_DISABLED = 404, /** I2C transaction failed due to a missing ACK. */ HPI_ERROR_CONTROL_I2C_MISSING_ACK = 405, - /** Control attribute is valid, but not supported by this hardware. */ - HPI_ERROR_UNSUPPORTED_CONTROL_ATTRIBUTE = 406, /** Control is busy, or coming out of reset and cannot be accessed at this time. */ HPI_ERROR_CONTROL_NOT_READY = 407, @@ -1827,13 +1827,41 @@ u16 hpi_parametricEQ__get_coeffs(const struct hpi_hsubsys *ph_subsys, Compressor Expander control *******************************/ -u16 hpi_compander_set(const struct hpi_hsubsys *ph_subsys, u32 h_control, - u16 attack, u16 decay, short ratio100, short threshold0_01dB, - short makeup_gain0_01dB); +u16 hpi_compander_set_enable(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 on); + +u16 hpi_compander_get_enable(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 *pon); + +u16 hpi_compander_set_makeup_gain(const struct hpi_hsubsys *ph_subsys, + u32 h_control, short makeup_gain0_01dB); + +u16 hpi_compander_get_makeup_gain(const struct hpi_hsubsys *ph_subsys, + u32 h_control, short *pn_makeup_gain0_01dB); + +u16 hpi_compander_set_attack_time_constant(const struct hpi_hsubsys + *ph_subsys, u32 h_control, u32 index, u32 attack); + +u16 hpi_compander_get_attack_time_constant(const struct hpi_hsubsys + *ph_subsys, u32 h_control, u32 index, u32 *pw_attack); + +u16 hpi_compander_set_decay_time_constant(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 index, u32 decay); + +u16 hpi_compander_get_decay_time_constant(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 index, u32 *pw_decay); + +u16 hpi_compander_set_threshold(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 index, short threshold0_01dB); + +u16 hpi_compander_get_threshold(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 index, short *pn_threshold0_01dB); + +u16 hpi_compander_set_ratio(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 index, u32 ratio100); -u16 hpi_compander_get(const struct hpi_hsubsys *ph_subsys, u32 h_control, - u16 *pw_attack, u16 *pw_decay, short *pw_ratio100, - short *pn_threshold0_01dB, short *pn_makeup_gain0_01dB); +u16 hpi_compander_get_ratio(const struct hpi_hsubsys *ph_subsys, + u32 h_control, u32 index, u32 *pw_ratio100); /******************************* Cobranet HMI control diff --git a/pci/asihpi/hpi6000.c b/pci/asihpi/hpi6000.c index 12dab5e..f7e374e 100644 --- a/pci/asihpi/hpi6000.c +++ b/pci/asihpi/hpi6000.c @@ -687,6 +687,7 @@ static short hpi6000_adapter_boot_load_dsp(struct hpi_adapter_obj *pao, switch (pao->pci.subsys_device_id) { case 0x5100: case 0x5110: /* ASI5100 revB or higher with C6711D */ + case 0x5200: /* ASI5200 PC_ie version of ASI5100 */ case 0x6100: case 0x6200: boot_load_family = HPI_ADAPTER_FAMILY_ASI(0x6200); @@ -1133,6 +1134,12 @@ static short hpi6000_adapter_boot_load_dsp(struct hpi_adapter_obj *pao, subsys_device_id) == HPI_ADAPTER_FAMILY_ASI(0x5100)) mask = 0x00000000L; + /* ASI5200 uses AX6 code, */ + /* but has no PLD r/w register to test */ + if (HPI_ADAPTER_FAMILY_ASI(pao->pci. + subsys_device_id) == + HPI_ADAPTER_FAMILY_ASI(0x5200)) + mask = 0x00000000L; break; case HPI_ADAPTER_FAMILY_ASI(0x8800): /* ASI8800 has 16bit path to FPGA */ diff --git a/pci/asihpi/hpi_internal.h b/pci/asihpi/hpi_internal.h index fdd0ce0..16f502d 100644 --- a/pci/asihpi/hpi_internal.h +++ b/pci/asihpi/hpi_internal.h @@ -104,9 +104,9 @@ typedef void hpi_handler_func(struct hpi_message *, struct hpi_response *); #define STR_ROLE_FIELD_MAX 255U struct hpi_entity_str { - uint16_t size; - uint8_t type; - uint8_t role; + u16 size; + u8 type; + u8 role; }; #if defined(_MSC_VER) @@ -119,11 +119,11 @@ struct hpi_entity { #if ! defined(HPI_OS_DSP_C6000) || (defined(HPI_OS_DSP_C6000) && (__TI_COMPILER_VERSION__ > 6000008)) /* DSP C6000 compiler v6.0.8 and lower do not support flexible array member */ - uint8_t value[]; + u8 value[]; #else /* NOTE! Using sizeof(struct hpi_entity) will give erroneous results */ #define HPI_INTERNAL_WARN_ABOUT_ENTITY_VALUE - uint8_t value[1]; + u8 value[1]; #endif }; @@ -142,12 +142,15 @@ enum HPI_BUSES { /******************************************* CONTROL ATTRIBUTES ****/ /* (in order of control type ID */ - /* This allows for 255 control types, 256 unique attributes each */ +/* This allows for 255 control types, 256 unique attributes each */ #define HPI_CTL_ATTR(ctl, ai) (HPI_CONTROL_##ctl * 0x100 + ai) /* Get the sub-index of the attribute for a control type */ #define HPI_CTL_ATTR_INDEX(i) (i&0xff) +/* Extract the control from the control attribute */ +#define HPI_CTL_ATTR_CONTROL(i) (i>>8) + /* Generic control attributes. */ /** Enable a control. @@ -311,8 +314,7 @@ Used for HPI_ChannelModeSet/Get() /* Microphone control attributes */ #define HPI_MICROPHONE_PHANTOM_POWER HPI_CTL_ATTR(MICROPHONE, 1) -/** Equalizer control attributes -*/ +/** Equalizer control attributes */ /** Used to get number of filters in an EQ. (Can't set) */ #define HPI_EQUALIZER_NUM_FILTERS HPI_CTL_ATTR(EQUALIZER, 1) /** Set/get the filter by type, freq, Q, gain */ @@ -320,13 +322,15 @@ Used for HPI_ChannelModeSet/Get() /** Get the biquad coefficients */ #define HPI_EQUALIZER_COEFFICIENTS HPI_CTL_ATTR(EQUALIZER, 3) -#define HPI_COMPANDER_PARAMS HPI_CTL_ATTR(COMPANDER, 1) +/* Note compander also uses HPI_GENERIC_ENABLE */ +#define HPI_COMPANDER_PARAMS HPI_CTL_ATTR(COMPANDER, 1) +#define HPI_COMPANDER_MAKEUPGAIN HPI_CTL_ATTR(COMPANDER, 2) +#define HPI_COMPANDER_THRESHOLD HPI_CTL_ATTR(COMPANDER, 3) +#define HPI_COMPANDER_RATIO HPI_CTL_ATTR(COMPANDER, 4) +#define HPI_COMPANDER_ATTACK HPI_CTL_ATTR(COMPANDER, 5) +#define HPI_COMPANDER_DECAY HPI_CTL_ATTR(COMPANDER, 6) -/* Cobranet control attributes. - MUST be distinct from all other control attributes. - This is so that host side processing can easily identify a Cobranet control - and apply additional host side operations (like copying data) as required. -*/ +/* Cobranet control attributes. */ #define HPI_COBRANET_SET HPI_CTL_ATTR(COBRANET, 1) #define HPI_COBRANET_GET HPI_CTL_ATTR(COBRANET, 2) #define HPI_COBRANET_SET_DATA HPI_CTL_ATTR(COBRANET, 3) @@ -1512,11 +1516,11 @@ struct hpi_control_cache_single { struct hpi_control_cache_info i; union { struct { /* volume */ - u16 an_log[2]; + short an_log[2]; } v; struct { /* peak meter */ - u16 an_log_peak[2]; - u16 an_logRMS[2]; + short an_log_peak[2]; + short an_logRMS[2]; } p; struct { /* channel mode */ u16 mode; @@ -1526,7 +1530,7 @@ struct hpi_control_cache_single { u16 source_node_index; } x; struct { /* level/trim */ - u16 an_log[2]; + short an_log[2]; } l; struct { /* tuner - partial caching. some attributes go to the DSP. */ diff --git a/pci/asihpi/hpicmn.c b/pci/asihpi/hpicmn.c index fcd6453..dda4f1c 100644 --- a/pci/asihpi/hpicmn.c +++ b/pci/asihpi/hpicmn.c @@ -353,7 +353,12 @@ short hpi_che... [truncated message content] |