Commit graph

362627 commits

Author SHA1 Message Date
Takashi Iwai
ad2109d7d2 ASoC: Updates for v3.10
A bunch of changes here, the most interesting one subsystem wise being
 Morimoto-san's work to create snd_soc_component which doesn't do much
 for now but will be pretty important going forwards:
 
  - Add a new component object type which will form the basis of moving
    to a more generic handling of SoC and off-SoC components, contributed
    by Kuninori Morimoto.
  - A fairly large set of cleanups for the dmaengine integration from
    Lars-Peter Clausen, starting to move towards being able to have a
    generic driver based on the library.
  - Performance optimisations to DAPM from Ryo Tsutsui.
  - Support for mixer control sharing in DAPM from Stephen Warren.
  - Multiplatform ARM cleanups from Arnd Bergmann.
  - New CODEC drivers for AK5385 and TAS5086 from Daniel Mack.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJRa//sAAoJELSic+t+oim95J8P/A0ia+ergNHjM7VuV89XyDxJ
 qT+hciD2F7HGiGqCluyIxWTWY4NCG8JUMVj4j+qDltc+DZA7DGX654gUXOlyYIFb
 Otbt7s8CNGIGRuUkRAzoSCewL2B/veFjOdnw6XW2w9YcYHeYbjl9BOlXOdCJtPRb
 yroKHl6mzD99eD8y26QVjk7z3bJGmdBkckilYz+Fws+NACGZqu5KpzF11+DnrAL+
 0Bl3F/fafDEUwFqDvWaQD2728aXxJL1pg0aR8mueRCcGBPnk3qWycj9kQZqVFBpV
 i8Q+xNEnIVECfDKclT0j0bAL+2ftcg2Jm2lryupMtopGxR3Uii1kgGKSMwYHz82E
 bvQ8y3phLc6u5VtIIJj0iPE7ZE5H/2///KgFEj6z/P2tZPWobMkURb+9bGQTJ8Qv
 pUYGiOV0S/+59WAv0qnN4XpomA69EPPu5AuiPd30T+iNna998OjFEBRmIc/wJ519
 QYlhj1ThWsa3Uoi1V0hmhAPHCXVtOKHnZfj95cyaD4Vq8zdqUmptJI+UvUJFgRUm
 30eVVNwcIb0XE+0K4skMbVbpCkRA4m+pBGE7+Z+x72kYTfmg6uVET1T/sGgDFIAG
 XCZ8QOXXYxpmpXMDqTKO30oBHdN6V0tClkSCuQ6H2PoICi0VYX3ZZWT8/Qno3JuN
 bBxyWhz3gYL/MII6qJpE
 =lx37
 -----END PGP SIGNATURE-----

Merge tag 'asoc-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next

ASoC: Updates for v3.10

A bunch of changes here, the most interesting one subsystem wise being
Morimoto-san's work to create snd_soc_component which doesn't do much
for now but will be pretty important going forwards:

 - Add a new component object type which will form the basis of moving
   to a more generic handling of SoC and off-SoC components, contributed
   by Kuninori Morimoto.
 - A fairly large set of cleanups for the dmaengine integration from
   Lars-Peter Clausen, starting to move towards being able to have a
   generic driver based on the library.
 - Performance optimisations to DAPM from Ryo Tsutsui.
 - Support for mixer control sharing in DAPM from Stephen Warren.
 - Multiplatform ARM cleanups from Arnd Bergmann.
 - New CODEC drivers for AK5385 and TAS5086 from Daniel Mack.
2013-04-15 19:45:16 +02:00
Clemens Ladisch
cbc200bca4 ALSA: usb-audio: disable autopm for MIDI devices
Commit 88a8516a21 (ALSA: usbaudio: implement USB autosuspend)
introduced autopm for all USB audio/MIDI devices.  However, many MIDI
devices, such as synthesizers, do not merely transmit MIDI messages but
use their MIDI inputs to control other functions.  With autopm, these
devices would get powered down as soon as the last MIDI port device is
closed on the host.

Even some plain MIDI interfaces could get broken: they automatically
send Active Sensing messages while powered up, but as soon as these
messages cease, the receiving device would interpret this as an
accidental disconnection.

Commit f5f165418c (ALSA: usb-audio: Fix missing autopm for MIDI input)
introduced another regression: some devices (e.g. the Roland GAIA SH-01)
are self-powered but do a reset whenever the USB interface's power state
changes.

To work around all this, just disable autopm for all USB MIDI devices.

Reported-by: Laurens Holst
Cc: <stable@vger.kernel.org>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-15 16:03:57 +02:00
David Henningsson
d240d1dcd5 ALSA: hda - Fix headset mic support for Asus X101CH
With this patch, a TRRS headset mic cannot be successfully detected
on the Asus X101CH, and we can also distinguish between headphone
and headset automatically.

Buglink: https://bugs.launchpad.net/bugs/1169138
Co-authored-by: Kailang <kailang@realtek.com>
Tested-by: Luis Henriques <luis.henriques@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-15 16:03:53 +02:00
David Henningsson
73bdd59782 ALSA: hda - Implement headset jack functionality for some Dell hw
On some machines, there is a headset jack that can support both
headphone, headsets (of both CTIA and OMTP type) and mic-in.

On other machines, the headset jack supports headphone, headsets
(both CTIA and OMTP), but not mic-in.

This patch implements that functionality as different capture sources.

Buglink: https://bugs.launchpad.net/bugs/1169143
Tested-by: David Chen <david.chen@canonical.com>
Co-authored-by: Kailang <kailang@realtek.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-15 15:52:55 +02:00
Calvin Owens
1539d4f82a ALSA: usb: Add quirk for 192KHz recording on E-Mu devices
When recording at 176.2KHz or 192Khz, the device adds a 32-bit length
header to the capture packets, which obviously needs to be ignored for
recording to work properly.

Userspace expected:  L0 L1 L2 R0 R1 R2
...but actually got: R2 L0 L1 L2 R0 R1

Also, the last byte of the length header being interpreted as L0 of
the first sample caused spikes every 0.5ms, resulting in a loud 16KHz
tone (about the highest 'B' on a piano) being present throughout
captures.

Tested at all sample rates on an E-Mu 0404USB, and tested for
regressions on a generic USB headset.

Signed-off-by: Calvin Owens <jcalvinowens@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-13 10:58:03 +02:00
Mark Brown
5cbad7d39a Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next 2013-04-12 13:57:31 +01:00
Mark Brown
3c30782625 Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next 2013-04-12 13:57:29 +01:00
Mark Brown
ca0c5685ff Merge remote-tracking branch 'asoc/topic/wm8903' into asoc-next 2013-04-12 13:57:28 +01:00
Mark Brown
4277c2a2a7 Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-next 2013-04-12 13:57:27 +01:00
Mark Brown
106c386ad5 Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next 2013-04-12 13:57:26 +01:00
Mark Brown
6d21c5d64b Merge remote-tracking branch 'asoc/topic/wm-hubs' into asoc-next 2013-04-12 13:57:25 +01:00
Mark Brown
0dd9e6bd6f Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next 2013-04-12 13:57:22 +01:00
Mark Brown
d14bc151a4 Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2013-04-12 13:57:21 +01:00
Mark Brown
5b9fd76972 Merge remote-tracking branch 'asoc/topic/tas5086' into asoc-next 2013-04-12 13:57:19 +01:00
Mark Brown
eeb7f91e35 Merge remote-tracking branch 'asoc/topic/spear' into asoc-next 2013-04-12 13:57:17 +01:00
Mark Brown
4b6142ae93 Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next 2013-04-12 13:57:15 +01:00
Mark Brown
df00b71fbd Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2013-04-12 13:57:13 +01:00
Mark Brown
8c7df02167 Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next 2013-04-12 13:57:12 +01:00
Mark Brown
406554fe8d Merge remote-tracking branch 'asoc/topic/max98088' into asoc-next 2013-04-12 13:57:10 +01:00
Mark Brown
c964f28dbf Merge remote-tracking branch 'asoc/topic/maintainers' into asoc-next 2013-04-12 13:57:08 +01:00
Mark Brown
5dccf54e2b Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next 2013-04-12 13:57:07 +01:00
Mark Brown
48539f73cb Merge remote-tracking branch 'asoc/topic/fsi' into asoc-next 2013-04-12 13:57:05 +01:00
Mark Brown
38e8c895d3 Merge remote-tracking branch 'asoc/topic/dma' into asoc-next 2013-04-12 13:57:04 +01:00
Mark Brown
d66e065c5b Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next 2013-04-12 13:57:03 +01:00
Mark Brown
7b451962c7 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next 2013-04-12 13:57:02 +01:00
Mark Brown
69976189c3 Merge remote-tracking branch 'asoc/topic/cs42l73' into asoc-next 2013-04-12 13:57:00 +01:00
Mark Brown
e8704770b4 Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next 2013-04-12 13:56:59 +01:00
Mark Brown
56c32c751c Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2013-04-12 13:56:58 +01:00
Mark Brown
54b019cbd9 Merge remote-tracking branch 'asoc/topic/compress' into asoc-next 2013-04-12 13:56:57 +01:00
Mark Brown
1341962577 Merge remote-tracking branch 'asoc/topic/component' into asoc-next 2013-04-12 13:56:56 +01:00
Mark Brown
604c724ba3 Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next 2013-04-12 13:56:54 +01:00
Mark Brown
a18d5151aa Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next 2013-04-12 13:56:53 +01:00
Mark Brown
0680fa6c25 Merge remote-tracking branch 'asoc/topic/ak5386' into asoc-next 2013-04-12 13:56:52 +01:00
Mark Brown
f1cc981b02 Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next 2013-04-12 13:56:51 +01:00
Mark Brown
7d9ca53bcf Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next 2013-04-12 13:56:49 +01:00
Mark Brown
280200d63b Merge remote-tracking branch 'asoc/topic/adau1373' into asoc-next 2013-04-12 13:56:48 +01:00
Mark Brown
1f21be1e69 Merge remote-tracking branch 'asoc/fix/wm8903' into asoc-next 2013-04-12 13:56:46 +01:00
Mark Brown
fdce39bd05 Merge remote-tracking branch 'asoc/fix/tegra' into asoc-next 2013-04-12 13:56:46 +01:00
Mark Brown
e162520d8c Merge remote-tracking branch 'asoc/fix/samsung' into asoc-next 2013-04-12 13:56:45 +01:00
Mark Brown
75c3475daa Merge remote-tracking branch 'asoc/fix/core' into asoc-next 2013-04-12 13:56:44 +01:00
Mark Brown
6ab7c227ba Merge remote-tracking branch 'asoc/fix/compress' into asoc-next 2013-04-12 13:56:41 +01:00
Heiko Stübner
32873b5953 ASoC: samsung: fix neo1973-wm8753 compilation
Commit b2ca78717c (ARM: S3C24XX: make gta02.h local) already replaced
the GTA02_GPIO_* constants in neo1973-wm8753.c but forgot to remove the
inclusion of mach/gta02.h before moving the file out of mach/.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-12 12:37:16 +01:00
Mark Brown
b02e48f2f8 MAINTAINERS: Update e-mail address
Update the e-mail address I use for subsystems.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-12 11:53:41 +01:00
Arnd Bergmann
5d229ce569 ASoC: samsung: move plat/ headers to local directory
The plat/regs-iis.h and plat/regs-ac97.h files in the samsung platform
are only needed by the ASoC drivers, so they can be moved into the same
directory, as one more step towards a multiplatform build.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-11 18:17:38 +01:00
Mark Brown
ac50009f64 ASoC: wm_adsp: Add support for firmware wide coefficient blocks
Firmwares may provide some firmware wide configuration regions which can
be configured by the coefficient files using the firmware ID as the
algorithm ID, include these in the algorithm list.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-11 18:14:47 +01:00
Arnd Bergmann
0930c33ad0 ASoC: samsung: export idma_reg_addr_init
The idma_reg_addr_init function is used by the samsung i2s driver,
which can be a loadable module, so we have to export this function.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-11 17:51:31 +01:00
Arnd Bergmann
2af1955848 ASoC: samsung: fix module_device_table
The second argument to the module_device_table macro must be the
name of the device id array. In the samsung i2s driver, there
was a small typo, resulting in a build error when building it
as a loadable module.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-11 17:51:30 +01:00
Arnd Bergmann
cb00e3a16d ASoC: samsung: use irq resource for idma
With multiplatform kernels, we cannot use hardwired IRQ
numbers in device drivers. This changes the idma driver
to use a proper resource, like all other drivers do.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-04-11 17:51:30 +01:00
David Henningsson
b26b511668 ALSA: hda - Handle Headphone Mic jack more generic
Now that we have a flag for headphone mics, we can use that flag
in the jack creation instead of creating the jack manually.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-11 11:59:41 +02:00
David Henningsson
3cdbe11ae8 ALSA: hda - add some small convenience functions to auto parser
I never liked that we move our speaker and hp pins to line out
if there are not any line outs; but now that we do,
add some convenience functions to find hp and speaker pins even
if they have been moved.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-11 11:59:27 +02:00