aboutsummaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2016-02-24ASoC: Intel: boards: Remove WoV sink in nau88125_ssm4567 machineJeeja KP1-4/+0
WoV module needs to be triggered with PCM open, so remove this as DAPM Sink and will be connected to FE Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: Intel: boards: Remove WoV sink in skl_rt286Jeeja KP1-4/+0
WoV module needs to be triggered with PCM open, so remove this as DAPM Sink and will be connected to FE Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: Intel: boards: Add IV feedback route for nau88l25_ssm4567 machineSathya Prakash M R1-0/+21
SSM4567 supports IV feedback for feedback to the speaker protection algorithm Signed-off-by: Sathya Prakash M R <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: Intel: boards: Enable HDMI and DP on SKL nau88l25_max98357 machineSathyanarayana Nujella2-14/+106
This patch adds 2 HDMI FE and BE dai links and also initializes the jack for each device. Signed-off-by: Sathyanarayana Nujella <[email protected]> Signed-off-by: Fang, Yang A <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: Intel: boards: Enable HDMI and DP on nau88l2 machineJeeja KP2-14/+107
This patch adds 2 HDMI FE and BE dai links and also initializes the jack for each device. Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: Intel: boards: Enable HDMI and DP on skl_rt286 machineJeeja KP2-6/+106
Skylake platform has 3 pin widgets in HDMI codec. This patch adds 3 FE and BE dai links to support these in rt286 machine Also add jack initialization for each of the device. Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Subhransu S. Prusty <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: rt298: Don't enable IRQ in i2c_probeBard Liao1-1/+0
The IRQ function should not be enabled before irq handler is registered. In fact, it is done in rt298_probe. So remove it from rt298_i2c_probe. Signed-off-by: Bard Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: rt298: enable IRQ for jack detectionBard Liao2-0/+14
There are some registers needed for enabling rt298 IRQ missed on current driver. Signed-off-by: Bard Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: adau17x1: Add basic DT support for adau17x1Andreas Irestål4-0/+44
Signed-off-by: Andreas Irestål <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: adau17x1: Correct typos in file headersAndreas Irestål4-4/+4
Signed-off-by: Andreas Irestål <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: adau17x1: Fix incorrect BCLK ratio definitionsAndreas Irestål1-3/+3
Signed-off-by: Andreas Irestål <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: arizona: Make logging of FLL calculations clearerRichard Fitzgerald1-4/+5
The debug logging of FLL calculations was confusing. Values were printed in hex without indicating this by a leading 0x, and despite these normally being required in decimal. Also where the register value isn't the actual value (it s a power-of-two or 0 means 1, 1 means 2, ...) it was unclear whether the actual or register value was shown. This patch changes the log print so that all mathematical values are shown in decimal, all register values are shown in hex with a 0x prefix, and where the register value isn't the actual integer value the decimal integer value is shown in () after the hex register value. Signed-off-by: Richard Fitzgerald <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: max9867: Use params_width instead of open-codedAxel Lin1-3/+2
Signed-off-by: Axel Lin <[email protected]> Acked-by: anish kumar <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: max9867: fix type of variable containing error codesAndrzej Hajda1-1/+2
value variable can contain error values and is compared with zero. Its type must be signed. The problem has been detected using coccinelle script scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-24ASoC: wm9713: fix regmap free pathRobert Jarzmik1-1/+1
In the conversion to regmap, I assumed that the devm_() variant could be used in the soc probe function. As a mater of fact with the current code the regmap is freed twice because of the devm_() call: (mutex_lock) from [<c01f6624>] (debugfs_remove_recursive+0x50/0x1d0) (debugfs_remove_recursive) from [<c02bf800>] (regmap_debugfs_exit+0x1c/0xd4) (regmap_debugfs_exit) from [<c02ba1f8>] (regmap_exit+0x28/0xc8) (regmap_exit) from [<c02aa258>] (release_nodes+0x18c/0x204) (release_nodes) from [<c02a278c>] (device_release+0x18/0x90) (device_release) from [<c0239030>] (kobject_release+0x90/0x1bc) (kobject_release) from [<c0395c94>] (wm9713_soc_remove+0x1c/0x24) (wm9713_soc_remove) from [<c0384884>] (soc_remove_component+0x50/0x7c) (soc_remove_component) from [<c0386c28>] (soc_remove_dai_links+0x118/0x228) (soc_remove_dai_links) from [<c038721c>] (snd_soc_register_card+0x4e4/0xdd4) (snd_soc_register_card) from [<c0393c54>] (devm_snd_soc_register_card+0x34/0x70) Fix this by replacing the devm_regmap initialization code with the non devm_() variant. Fixes: 700dadfefc3d ASoC: wm9713: convert to regmap Signed-off-by: Robert Jarzmik <[email protected]> Acked-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-23ALSA: hda - hdmi eld control created based on pcmLibin Yang1-26/+48
eld control is created based on pcm now. When monitor is connected, eld control will be bound to pin automatically. Signed-off-by: Libin Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-23ALSA: jack: Allow building the jack layer without input deviceTakashi Iwai5-9/+29
Since the recent integration of kctl jack and input jack layers, we can basically build the jack layer even without input devices. That is, the jack layer itself can be built with conditional to enable the input device support or not, while the users may enable always CONFIG_SND_JACK unconditionally. For achieving it, this patch changes the following: - A new Kconfig, CONFIG_SND_JACK_INPUT_DEV, was introduced to indicate whether the jack layer supports the input device, - A few items in snd_jack struct and relevant codes are conditionally built upon CONFIG_SND_JACK_INPUT_DEV, - The users of CONFIG_SND_JACK drop the messy dependency on CONFIG_INPUT. This change also automagically fixes a potential bug in HD-audio driver Arnd reported, where the NULL or uninitialized jack instance is dereferenced. Reported-by: Arnd Bergmann <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-23ASoC: hdac_hdmi: Add PM supportJeeja KP1-0/+76
The codec registers are reset during S3. So need to reconfigure all pins and DP1.2 feature again after resume from S3. Also reprogram the required registers if the S3 was triggered during playback. In suspended state ELD notify callback is not processed, So add ELD check for all pins as well. Also turn the codec power domain OFF which is kept ON during controller resequencing and codec reenumeration. Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Subhransu S. Prusty <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-23ASoC: hdac_hdmi: Fix to wait for D3 before powering off codecSubhransu S. Prusty1-1/+11
Powering off codec immediately after sending D3 verb may not set the node to D3 state. So wait for a confirmation response before shutting down codec. Signed-off-by: Subhransu S. Prusty <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ALSA: hda - Apply clock gate workaround to Skylake, tooTakashi Iwai1-9/+7
Some Skylake machines show the codec probe errors in certain situations, e.g. HP Z240 desktop fails to probe the onboard Realtek codec at reloading the snd-hda-intel module like: snd_hda_intel 0000:00:1f.3: spurious response 0x200:0x2, last cmd=0x000000 snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: lastcmd=0x000f0000 snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x000f0000 snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it... hdaudio hdaudioC0D2: no AFG or MFG node found snd_hda_intel 0000:00:1f.3: no codecs initialized Also, HP G470 G3 suffers from the similar problem, as reported in bugzilla below. On this machine, the codec probe error appears even at a fresh boot. As Libin suggested, the same workaround used for Broxton in the commit [6639484ddaf6: ALSA: hda - disable dynamic clock gating on Broxton before reset] can be applied for Skylake in order to fix this problem. The Intel HW team also confirmed that this is needed for SKL. This patch makes the workaround applied to both SKL and BXT platforms. The referred macros are moved and one superfluous macro (IS_BROXTON()) is another one (IS_BXT()) as well. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=112731 Suggested-by: Libin Yang <[email protected]> Cc: <[email protected]> # v4.4+ Signed-off-by: Takashi Iwai <[email protected]>
2016-02-22ALSA: mts64: use new parport device modelSudip Mukherjee1-52/+43
Modify mts64 driver to use the new parallel port device model. The advantage of using the device model is that the driver gets binded to the hardware, we get the feature of hotplug, we can bind/unbind the driver at runtime. The changes are in the way the driver gets registered with the parallel port subsystem and the temporary device to probe mts64 card is removed and mts64_probe() is used in the probe callback. Signed-off-by: Sudip Mukherjee <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-22ASoC: mediatek: Add machine driver for ALC5650 codecKoro Chen3-0/+247
This is the DPCM based machine driver with rt5650 Signed-off-by: Nicolas Boichat <[email protected]> Signed-off-by: Koro Chen <[email protected]> Signed-off-by: PC Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22Merge tag 'v4.5-rc5' into asoc-mtkMark Brown286-6244/+39565
Linux 4.5-rc5
2016-02-22ASoC: rt5640: add master clock handling for rt5640Sugar Zhang2-0/+33
enable/disable master clock when codec is active or not. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: rockchip: i2s: add default values for registersSugar Zhang1-0/+10
this patch add default values for registers according description from TRM. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: topology: Fix setting of stream rates, rate_min and rate_maxMengdong Lin1-14/+14
Directly set a stream's rates, rate_min and rate_max from the topology info. Also define set_stream_info to wrap setting of the stream info. Signed-off-by: Mengdong Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: fix memory leakSudip Mukherjee1-4/+4
If dai_link is already bound then we just returned and leaked rtd and rtd->codec_dais which were allocated by soc_new_pcm_runtime(). We do not need this newly allocated rtd to check if dai_link is already binded. Lets check first if it is already binded before allocating this memory. Signed-off-by: Sudip Mukherjee <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: topology: fix build warningSudip Mukherjee1-45/+0
We are getting build warning about: sound/soc/soc-topology.c:249:31: warning: 'get_dobj_type' defined but not used commit 64527e8a3529 has removed the only caller of get_dobj_type() but missed to remove the function which is now unused. And after removing get_dobj_type() we do not have any use of get_dobj_mixer_type(). Fixes: 64527e8a3529 ("ASoC: topology: Add FE DAIs dynamically") CC: Mengdong Lin <[email protected]> Signed-off-by: Sudip Mukherjee <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: rockchip: add bindings for rk3399 i2sJianqun Xu1-0/+3
Add devicetree bindings for i2s controller found on rk3399 processors from rockchip. It's helpful to add full set of compatible strings for serials of Rockchip SoCs (rk3066, rk3188, rk3288, rk3399). Acked-by: Rob Herring <[email protected]> Signed-off-by: Jianqun Xu <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: Intel: Skylake: remove bogus comparison of an array with NULLAlan Cox1-2/+1
dfw_ac->params is an array not a pointer. It will never be NULL. The check on ac->max appears sufficient. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: fsl_ssi: remove explicit register defaultsMaciej S. Szmigiero1-20/+22
There is no guarantee that on fsl_ssi module load SSI registers will have their power-on-reset values. In fact, if the driver is reloaded the values in registers will be whatever they were set to previously. However, the cache needs to be fully populated at probe time to avoid non-atomic allocations during register access. Special case here is imx21-class SSI, since according to datasheet it don't have SACC{ST,EN,DIS} regs. This fixes hard lockup on fsl_ssi module reload, at least in AC'97 mode. Fixes: 05cf237972fe ("ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast") Signed-off-by: Maciej S. Szmigiero <[email protected]> Tested-by: Fabio Estevam <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-22ASoC: fsl_ssi: Go back to explicit register defaultsFabio Estevam1-22/+20
Commit 5c408fee2546 ("ASoC: fsl_ssi: remove explicit register defaults") causes the driver to fail to probe: fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW fsl-ssi-dai 2028000.ssi: Failed to init register map fsl-ssi-dai: probe of 2028000.ssi failed with error -22 , so revert this commit. Reported-by: Mika Penttilä <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ALSA: hda - Use acpi_dev_present()Lukas Wunner1-15/+2
Use shiny new acpi_dev_present() and remove all the boilerplate to search for a particular ACPI device. No functional change. Cf. 2d12b6b381ba ("ACPI / utils: Add acpi_dev_present()"). Signed-off-by: Lukas Wunner <[email protected]> Acked-by: Hui Wang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-21ASoC: max9867: Constify max9867_reg and max9867_regmapAxel Lin1-2/+2
Signed-off-by: Axel Lin <[email protected]> Acked-by: anish kumar <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: max9867: Make max9867_i2c_id NULL terminatedAxel Lin1-0/+1
Signed-off-by: Axel Lin <[email protected]> Acked-by: anish kumar <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: max9867: Add CONFIG_SND_SOC_MAX9867 to buildAxel Lin1-0/+1
Signed-off-by: Axel Lin <[email protected]> Acked-by: anish kumar <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: max98926: Constify max98926_reg and max98926_regmapAxel Lin1-2/+2
Signed-off-by: Axel Lin <[email protected]> Acked-by: anish kumar <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: wm_adsp: wm_coeff_{read|write}_control should use passed lengthCharles Keepax1-8/+8
wm_coeff_{read|write}_control were using the control length rather than the length parameter passed to them. This is not causing any issues as the two values are currently always the same, but this needs fixed to allow future improvements. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: wm_adsp: Fixup some odd line wrappingCharles Keepax1-16/+7
Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: wm_adsp: Explicitly set the control access flags in all casesCharles Keepax1-0/+3
In the case where the firmware does not tell us the access flags for the control, we let ALSA select a default (READWRITE). But really we should be applying the volatile flag in this case, as we will read the control from the DSP if it is on in this case. This patch explicitly sets the access flags in all cases. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-21ASoC: wm_adsp: Avoid narrow race condition on compr pointerCharles Keepax1-1/+1
There is a very small window between then wm_adsp_compr_free gets call and when the DSP is actually powered down. If we get an IRQ from the DSP in this window then the wm_adsp_compr pointer will be NULL. This patch adds a check for this into the IRQ handler to avoid any issues when this happens. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-20ALSA: fireworks: serialize transactions to update connections at bus resetTakashi Sakamoto2-4/+5
In IEC 61883-1, at bus-reset, applications can continue isochronous streaming by updating connections. In ALSA fireworks driver, the operation is executed in 'update' handler for bus driver. The connection resources are also changed in process contexts of PCM/MIDI applications. Therefore, bus-reset handling has race condition against connection. Current ALSA fireworks driver has a bug for the condition. This commit fixes the bug, by expand critical section with mutex. As a result, connection updating operation in bus-reset handler and connection changing operation in process context are serialized. Signed-off-by: Takashi Sakamoto <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-20ALSA: bebob: give up updating streams at bus reset handlerTakashi Sakamoto3-20/+16
DM1000/DM1100/DM1500 chipsets transfer packets with discontinue value in 'dbc' field of CIP header. For ALSA bebob driver, this makes its bus-reset handler meaningless, because the discontinuity is detected quite earlier than executing the handler. This commit gives up updating streams at the bus reset handler. Signed-off-by: Takashi Sakamoto <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-20ALSA: bebob: change type of substream counter from atomic_t to unsigned intTakashi Sakamoto4-11/+11
The counter is incremented/decremented in critical section protected with mutex. Therefore, no need to use atomic_t. This commit changes the type to unsigned int. Signed-off-by: Takashi Sakamoto <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-20ALSA: bebob: move mutex from function callee to callersTakashi Sakamoto3-11/+24
Currently, critical section is protected by mutex in functions of fireworks_stream.c. Callers increments/decrements substreams counter before calling the functions. Moving mutex to the callers code allows to change type of the substream counter from atomic_t to unsigned int. This commit is a preparation for obsoleting usage of atomic_t for substream counter. Signed-off-by: Takashi Sakamoto <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-20ALSA: bebob: simplify bus-reset handlingTakashi Sakamoto3-36/+5
At bus-reset, DM1000/DM1100/DM1500 chipsets transfer packets with discontinuous value in 'dbc' field of CIP header. In this case, packet streaming layer in firewire-lib module stops streaming and set XRUN to PCM substream. In ALSA, PCM applications are notified the XRUN status by the return value of ALSA PCM interface. They can recover this state by executing snd_pcm_prepare(), then PCM drivers' prepare handler is called, and start new PCM substream. For ALSA BeBoB driver, the handler establishes new connections and start new AMDTP streaming. Unfortunately, neither the PCM applications nor the driver know the reason of XRUN. The driver gets to know the reason when update handler is called by IEEE 1394 bus driver. As long as I tested, the order of below events are not fixed: * Detecting packet discontinuity in tasklet context of OHCI 1394 driver * Calling prepare handler in process context of ALSA PCM application * Calling update handler in kthread context of IEEE 1394 bus driver The unpredictable order is disadvantage for the driver to be compliant to CMP. In IEC 61883-1, new CMP establish operations should be done 1 sec (isoc_resource_delay) after bus-reset. Within 1 sec, CMP restore operations are allowed. For this reason, in former commit ('b6bc812327aa: ALSA: bebob/firewire-lib: Add a quirk for discontinuity at bus reset'), the process context is forced to wait for executing update handler. The process context wait for bus-reset up to 1 sec. This commit solves the issue, while causes more disadvantages. For PCM applications, calling snd_pcm_prepare() for recovering XRUN state takes more time and the driver got a bit complicated code, while the recovery is not always successful. As long as I tested, DM1000/DM1100/DM1500 and BeBoB firmware can allow drivers to establish new connections just after bus reset. Furthermore, any FCP transactions are handled correctly. Therefore, the driver don't need to wait for bus reset handler for starting new streaming. This commit removes the codes to reduce maintenance cost. Signed-off-by: Takashi Sakamoto <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2016-02-20ASoC: sunxi: Add support for the SPDIF blockMarcus Cooper3-0/+559
The sun4i, sun5i and sun7i SoC families have an SPDIF block which is capable of playback and capture. This patch enables the playback of this block for the sun4i families. Signed-off-by: Marcus Cooper <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-20ASoC: cht_bsw_rt5645: Enable jack detectionCarlo Caione1-2/+13
Add missing DAPM pins and enable jack detection on those pins for Cherrytrail and Braswell. Signed-off-by: Carlo Caione <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-20ASoC: qcom: apq8016: add wrdma supportSrinivas Kandagatla1-3/+19
This patch adds wrdma support in lpass-apq8016 by providing the register offsets and adding support in dma channel allocation callback. Signed-off-by: Srinivas Kandagatla <[email protected]> Acked-by: Kenneth Westfield <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-02-20ASoC: qcom: apq8016-sbc: add mic supportSrinivas Kandagatla1-3/+7
This patch add mic support on apq8016-sbc board aka db410c. Tested it with headset mic. Signed-off-by: Srinivas Kandagatla <[email protected]> Acked-by: Kenneth Westfield <[email protected]> Signed-off-by: Mark Brown <[email protected]>