aboutsummaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2016-03-05Merge remote-tracking branches 'asoc/fix/ab8500', 'asoc/fix/adau17x1', ↵Mark Brown6-41/+39
'asoc/fix/adsp', 'asoc/fix/cs42l51', 'asoc/fix/da732x' and 'asoc/fix/fsl-ssi' into asoc-linus
2016-03-05Merge remote-tracking branch 'asoc/fix/intel' into asoc-linusMark Brown3-10/+14
2016-03-05Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linusMark Brown1-4/+4
2016-03-05ASoC: dapm: Remove unneeded variable ret returning 0Rajan Vaja1-2/+2
This patch fixes coccicheck report: Unneeded variable: "ret". Return "0" on line 2817 Remove unneccesary variable ret created to return zero. Signed-off-by: Rajan Vaja <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: ads117x: Add device tree compatible stringFlorian Vaussard1-0/+12
This patch adds the necessary device tree compatible string to allow DT probing. Signed-off-by: Florian Vaussard <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: mediatek: address dai link array entries by enumPhilipp Zabel1-5/+13
This should be more robust to future changes than adressing array entries by index number. Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rsnd: add CTU supportKuninori Morimoto1-37/+197
This patch adds CTU (= Channel Transfer Unit) support on Renesas R-Car sound driver. It can Down/Up mixing and splitter. You need to check R-Car datasheet especially CTUn_CPMDR/CTUn_SV0xR/CTUn_SV1xR/CTUn_SV2xR/CTUn_SV3xR for setting parameter. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rsnd: add rsnd_runtime_channel_xxx()Kuninori Morimoto8-44/+62
Current SSI is supporting Normal SSI/Multi mode SSI/TDM mode SSI and its behavior is based on input channels. This input channel might be converted by CTU, and SSI needs to be Multi SSI mode / TDM SSI mode if 6ch input EX) 6ch input, CTU for 2ch, playback 6ch 6ch 2ch 2ch 2ch 2ch -> SRC -> CTU -> MIX -> DVC -> SSIU -> SSI EX) 6ch input, no CTU, Multi SSI, playback 6ch 6ch 6ch 6ch 6ch 2ch -> SRC -> CTU -> MIX -> DVC -> SSIU -> SSI0/SSI1/SSI2 Current driver is using rsnd_get_adinr_chan() / rsnd_get_slot_width() for this purpose, but it is complicated enough without meaning. This patch adds new rsnd_runtime_channel_xxx() which is caring CTU/Multi SSI. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rsnd: add CTU basic supportKuninori Morimoto2-0/+50
This patch adds Renesas R-Car sound CTU (= Channel Transfer Unit) very basic support, but not yet enough feature at this point. Because CTU support needs more complex channel function for each modules. To avoid complex patch reviewing, this patch picked up very basic part only. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rsnd: tidyup rsnd_ssiu_init_gen2()Kuninori Morimoto1-3/+2
remove unnecessary variable Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rsrc-card: add convert channels supportKuninori Morimoto1-6/+16
Renesas sound device has CTU (= Channel Transfer Unit), and sound card needs its support. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rsnd: don't call update callback if it was NULLKuninori Morimoto1-1/+1
Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: Intel: Atom: add support for CHT w/ RT5640Pierre-Louis Bossart1-0/+4
Some CHT-T platforms make use of the Realtek RT5640 codec. Make use of the machine driver developed for Baytrail. Tested on Tronsmart Ara X5. Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: Intel: bytcr_rt5640: use HID translation utilPierre-Louis Bossart1-3/+19
Remove hard-coded generation of codec name, use translation routine to avoid issues with codec name not matching what the ACPI subsystem registered Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: Intel: bytcr_rt5640: change quirk positionPierre-Louis Bossart1-13/+15
No added functionality Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: Intel: common: add translation from HID to codec-namePierre-Louis Bossart2-0/+36
BIOS vendors sometimes declare multiple devices in the DSDT table that all refer to the same HID. This is not very smart but not illegal as long as only one device reports present with the _STA method. The ACPI subsystem tracks each device with an extension, e.g. 10EC5640:00 and 10EC5640:01 In the ASoC machine driver, the DAI codec name needs to refer to the ACPI device that reported present, e.g. "i2c-10EC5640:01". The extension will vary depending on how the BIOS is written and which ACPI device is activated. This patch adds a translation function that provides the codec name from the ACPI HID to avoid any hard-coded values in the machine driver. Suggested-by: Mika Westerberg <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: Intel: common: filter ACPI devices with _STA return valuePierre-Louis Bossart1-2/+18
BIOS vendors typically list multiple audio codecs in the DSDT table and enable the relevant one by changing the return value of the _STA method. With the current code, all devices are reported by acpi_dev_present(), regardless of the _STA return values. This causes errors on probe with the wrong machine driver being loaded. This patch essentially reverts 'commit 6f08cbdaac5a ("ASoC: Intel: Use acpi_dev_present()")' and adds code to force the evaluation of the _STA method. A better solution might be to make sure the ACPI subsystem only reports devices with a _STA value of 0xf but apparently it's problematic so dealing with this in the audio subsystem directly. Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rockchip: add bindings for spdif controllerSugar Zhang1-3/+10
this patch add compatible for rk3366/rk3368/rk3399 spdif, these three spdifs share the same type. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: pcm3168a: remove unused variableSudip Mukherjee1-2/+1
While building we were getting build warning about: sound/soc/codecs/pcm3168a.c:403:21: warning: variable 'channels' set but not used The variable channels were being assigned some value but that was never reused. Signed-off-by: Sudip Mukherjee <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rockchip: use __maybe_unused to hide st_irq_syscfg_resumeArnd Bergmann1-2/+2
The rockchip spdif driver uses SIMPLE_DEV_PM_OPS to conditionally set its power management functions, but we get a warning about rk_spdif_runtime_resume being unused when CONFIG_PM is not set: sound/soc/rockchip/rockchip_spdif.c:67:12: error: 'rk_spdif_runtime_resume' defined but not used [-Werror=unused-function] This adds a __maybe_unused annotation so the compiler knows it can silently drop it instead of warning. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-05ASoC: rt5616: allow to build with CONFIG_SND_SOC_RT5616Caesar Wang1-1/+1
This patch fixes that hasn't built the rt5616 driver with 'CONFIG_SND_SOC_RT5616=y' in .config. The tristate is the prompt on the 'make menuconfig', in other words, that can't show the prompt and select it if we don't say what's the tristate. Signed-off-by: Caesar Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-04ALSA: compress: fix more typosVinod Koul1-2/+2
More inspection of code revealed few more typos so fix them as well Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-04ALSA: compress: fix some typosVinod Koul1-2/+2
Found few typos while looking at code, so fix them Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-04ALSA: compress: Add SNDRV_PCM_STATE_PREPARED state explanationVinod Koul1-0/+3
Stream states were explained in the code comments but SNDRV_PCM_STATE_PREPARED was missed so add it Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-04ALSA: compress: allow writes in SNDRV_PCM_STATE_PREPARED stateEric Laurent1-0/+1
Allow writes in SNDRV_PCM_STATE_PREPARED state so that more than one buffer fragment can be written from user space before calling SNDRV_COMPRESS_START. Signed-off-by: Eric Laurent <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-04Merge branch 'for-linus' into for-nextTakashi Iwai8-32/+28
Resolved the conflicts with the latest HDA HDMI fixes. Signed-off-by: Takashi Iwai <[email protected]>
2016-03-04ALSA: hda - hdmi defer to register acomp eld notifierLibin Yang1-12/+12
Defer to register acomp eld notifier until hdmi audio driver is fully ready. After registering eld notifier, gfx driver can use this callback function to notify audio driver the monitor connection event. However this action may happen when audio driver is adding the pins or doing other initialization. This is not always safe, however. For example, using per_pin->lock before the lock is initialized. Let's register the eld notifier after the initialization is done. Signed-off-by: Libin Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-04ALSA: hda - hdmi add wmb barrier for audio componentLibin Yang1-0/+5
To make sure audio_ptr is set before intel_audio_codec_enable() or intel_audio_codec_disable() calling pin_eld_notify(), this patch adds wmb barrier to prevent optimizing. Signed-off-by: Libin Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-03[media] sound/usb: Use meaninful names for goto labelsShuah Khan1-8/+8
Fix to use meaningful names instead of numbered goto labels Signed-off-by: Shuah Khan <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-03-03[media] sound/usb: Use Media Controller API to share media resourcesShuah Khan11-5/+448
Change ALSA driver to use Media Controller API to share media resources with DVB and V4L2 drivers on a AU0828 media device. Media Controller specific initialization is done after sound card is registered. ALSA creates Media interface and entity function graph nodes for Control, Mixer, PCM Playback, and PCM Capture devices. snd_usb_hw_params() will call Media Controller enable source handler interface to request the media resource. If resource request is granted, it will release it from snd_usb_hw_free(). If resource is busy, -EBUSY is returned. Media specific cleanup is done in usb_audio_disconnect(). Signed-off-by: Shuah Khan <[email protected]> Acked-by: Takashi Iwai <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-03-03ALSA: hda - Fix mic issues on Acer Aspire E1-472Simon South1-0/+1
This patch applies the microphone-related fix created for the Acer Aspire E1-572 to the E1-472 as well, as it uses the same Realtek ALC282 CODEC and demonstrates the same issues. This patch allows an external, headset microphone to be used and limits the gain on the (quite noisy) internal microphone. Signed-off-by: Simon South <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-02ALSA: portman2x4: fix NULL pointer dereferenceSudip Mukherjee1-5/+6
While registering pardev, the irq_func was also registered. As a result when we tried to probe for the card, an interrupt was generated and in the ISR we tried to dereference private_data. But private_data is still NULL as we have not yet done portman_create(). Lets probe for the device after card is created. Fixes: e6a1b7e88046 ("ALSA: portman2x4 - use new parport device model") Signed-off-by: Sudip Mukherjee <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-02ASoC: atmel_ssc_dai: distinguish the different SSCSongjun Wu1-9/+18
Cpu_dai id always equals 0, can't distinguish the different SSC. Use platform_device id to record and distinguish the different SSC. Signed-off-by: Songjun Wu <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02ASoC: sh: rcar: rsrc-card: don't open code of_device_get_match_data()Wolfram Sang1-3/+2
This change will also make Coverity happy by avoiding a theoretical NULL pointer dereference; yet another reason is to use the above helper function to tighten the code and make it more readable. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02ASoC: sh: rcar: core: don't open code of_device_get_match_data()Wolfram Sang1-2/+1
This change will also make Coverity happy by avoiding a theoretical NULL pointer dereference; yet another reason is to use the above helper function to tighten the code and make it more readable. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02ASoC: mediatek: Add machine driver for rt5650 rt5514 codecKoro Chen3-10/+279
This is the DPCM based machine driver with rt5650 and rt5514. Signed-off-by: Koro Chen <[email protected]> Signed-off-by: PC Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02ASoC: rsnd: rsnd_write() / rsnd_bset() uses regmap _force_ functionKuninori Morimoto2-21/+2
Some R-Car sound requests picky register access which needs *force* register write. Some status register needs to set 1 to clear status, but we might read 1 from its register. In such case, current regmap does nothing and driver will be forever loop To reduce code complexity, this patch uses regmap _force_ function for all register access. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02Merge branch 'topic/update-bits' of ↵Mark Brown252-3727/+36767
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-rcar
2016-03-02ASoC: Intel: Skylake: remove IVI codec loop in skl_nau88l25_ssm4567 machineJeeja KP1-18/+0
The IVI loop is removed in skl_nau88l25_ssm4567 machine as we enable this path thru DAPM graph using the PCM device and not thru loop Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02ASoC: Intel: Skylake: Add IVI feedback path in nau88125_ssm4567 machineJeeja KP1-0/+3
We can enable the IVI feedback path by connecting Left/Right speaker sensors (codec) to ssp0 Rx (soc-dsp). This way aDSP gets feedback data from codec to DSP algorithms Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-02ASoC: Intel: Skylake: correct direction in blob queryJeeja KP1-7/+8
The blob query for BE skl_tplg_update_be_blob() was not using right values for direction for blob query, so fix that. Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-01ALSA: seq: oss: Don't drain at closing a clientTakashi Iwai3-19/+0
The OSS sequencer client tries to drain the pending events at releasing. Unfortunately, as spotted by syzkaller fuzzer, this may lead to an unkillable process state when the event has been queued at the far future. Since the process being released can't be signaled any longer, it remains and waits for the echo-back event in that far future. Back to history, the draining feature was implemented at the time we misinterpreted POSIX definition for blocking file operation. Actually, such a behavior is superfluous at release, and we should just release the device as is instead of keeping it up forever. This patch just removes the draining call that may block the release for too long time unexpectedly. BugLink: http://lkml.kernel.org/r/CACT4Y+Y4kD-aBGj37rf-xBw9bH3GMU6P+MYg4W1e-s-paVD2pg@mail.gmail.com Reported-by: Dmitry Vyukov <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-01ALSA: usb-audio: Add a quirk for Plantronics DA45Dennis Kadioglu1-0/+1
Plantronics DA45 does not support reading the sample rate which leads to many lines of "cannot get freq at ep 0x4" and "cannot get freq at ep 0x84". This patch adds the USB ID of the DA45 to quirks.c and avoids those error messages. Signed-off-by: Dennis Kadioglu <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-01ALSA: hda - hdmi_find_pcm_slot return value bug fixLibin Yang1-1/+1
hdmi_find_pcm_slot return -EBUSY when not no pcm slot found, not -ENODEV. So the caller should compare with -EBUSY. Fixes: a76056f2e57e ('ALSA: hda - hdmi dynamically bind PCM to pin when monitor hotplug') Signed-off-by: Libin Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-03-01ASoC: wm_adsp: Fix enum ctl accesses in a wrong typeTakashi Iwai1-4/+4
The firmware ctls like "DSP1 Firmware" in wm_adsp codec driver are enum, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2016-03-01ASoC: wm9081: Fix enum ctl accesses in a wrong typeTakashi Iwai1-4/+4
"Speaker Mode "ctl in wm9081 codec driver is enum, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-01ASoC: wm8996: Fix enum ctl accesses in a wrong typeTakashi Iwai1-1/+1
"DSP1 EQ Mode" and "DSP2 EQ Mode" ctls in wm8996 codec driver are enum, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-01ASoC: wm8994: Fix enum ctl accesses in a wrong typeTakashi Iwai1-2/+2
The DRC Mode like "AIF1DRC1 Mode" and EQ Mode like "AIF1.1 EQ Mode" in wm8994 codec driver are enum ctls, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2016-03-01ASoC: wm8985: Fix enum ctl accesses in a wrong typeTakashi Iwai1-7/+7
"Equalizer Function" ctl in wm8985 codec driver is enum, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-03-01ASoC: wm8983: Fix enum ctl accesses in a wrong typeTakashi Iwai1-7/+7
"Equalizer Function" ctl in wm8983 codec driver is enum, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead. Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>