- 15 7月, 2016 1 次提交
-
-
由 Ben Zhang 提交于
soc-core sets the snd_soc_pcm_runtime->dev drvdata to snd_soc_pcm_runtime in soc_post_component_init, and access it in places like codec_reg_show. hsw_pcm_open overwrites the drvdata to point to hsw_pcm_data, confusing soc-core, and causing crashes when cat /sys/devices/pci0000:00/INT3438:00/.../System PCM/codec_reg This patch removes the set in hsw_pcm_open since it's no longer used. commit 7ff9d671 ("ASoC: Intel: Split hsw_pcm_data for playback and capture") already removed all calls to snd_soc_pcm_get_drvdata(rtd). Signed-off-by: NBen Zhang <benzh@chromium.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 11 5月, 2016 1 次提交
-
-
由 Joonas Lahtinen 提交于
Format number after 0x in hex. Cc: Jie Yang <yang.jie@linux.intel.com> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.com> Signed-off-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 09 6月, 2015 1 次提交
-
-
由 Takashi Iwai 提交于
The recent fix left a variable declaration without usage. sound/soc/intel/haswell/sst-haswell-pcm.c:1349:18: warning: unused variable ‘hsw’ [-Wunused-variable] Fixes: edd8ed49 ('ASoC: Intel: handle haswell pcm suspend including runtime modules freeing') Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 02 6月, 2015 4 次提交
-
-
由 Jie Yang 提交于
It needs free pcm runtime modules before unloading firmware, here add hsw_pcm_suspend() to handle this procedure: suspends firmware ==> frees runtime modules ==> unloads firmware. This fixes the broadwell module unload failed issue. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jie Yang 提交于
Add check runtime module pointers before freeing them, and clear them to NULL after freed. With this implemented, we can avoid NULL pointer dereference or double free errors. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jie Yang 提交于
This reverts commit 01f202c7. We shouldn't leave the device as suspended state after module freed, it is not good to do runtime suspend at driver free, here revert this fixing, and replace it with the procedure: suspends firmware ==> frees runtime modules ==> unloads firmware. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jie Yang 提交于
This reverts commit 506c148e. We still need this hsw_pcm_free_modules(), we plan to remove the runtime modules at both fw_unload(D0->D3) and snd_soc_sst_haswell_pcm module removing. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 5月, 2015 1 次提交
-
-
由 Liam Girdwood 提交于
In haswell-pcm module unloading, we can't free runtime modules directly, for they may be already freed in runtime suspend. Here add executing suspend call to unload runtime modules, only for status not equal to RPM_SUSPEND, to fix broadwell module removing failed issue. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 28 5月, 2015 1 次提交
-
-
由 Jie Yang 提交于
Remove the unused function hsw_pcm_free_modules() to fix the compling warning: sound/soc/intel/haswell/sst-haswell-pcm.c:923:13: warning: 'sw_pcm_free_modules' defined but not used [-Wunused-function] static void hsw_pcm_free_modules(struct hsw_priv_data *pdata) Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 08 4月, 2015 1 次提交
-
-
由 Jie Yang 提交于
0day robot reported a buffer overflow issue: ... sound/soc/intel/haswell/sst-haswell-pcm.c:1107 hsw_pcm_probe() error: buffer\ overflow 'hsw_dais' 4 <= 4 sound/soc/intel/haswell/sst-haswell-pcm.c:1109 hsw_pcm_probe() error: buffer\ overflow 'hsw_dais' 4 <= 4 ... Fix it by initializing the index(i) to correct value. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 4月, 2015 1 次提交
-
-
由 Jie Yang 提交于
Restructure the sound/soc/intel/ directory: create haswell folder, and move haswell platform files here. Signed-off-by: NJie Yang <yang.jie@intel.com> Reviewed-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 28 3月, 2015 1 次提交
-
-
由 Lu, Han 提交于
The smatch tool report warning: ... CHECK sound/soc/intel/sst-haswell-pcm.c sound/soc/intel/sst-haswell-pcm.c:1110 hsw_pcm_probe() error: buffer overflow\ 'hsw_dais' 4 <= 4 sound/soc/intel/sst-haswell-pcm.c:1112 hsw_pcm_probe() error: buffer overflow\ 'hsw_dais' 4 <= 4 ... fix it by use its own struct member for post-process module, rather than sharing unused pcm member. Signed-off-by: NLu, Han <han.lu@intel.com> Acked-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 19 3月, 2015 1 次提交
-
-
由 Lu, Han 提交于
Check waves state before set parameter through ipc to prevent unexpected operation. Also remove redundant check. Signed-off-by: NLu, Han <han.lu@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 3月, 2015 2 次提交
-
-
由 Lu, Han 提交于
Each kcontrol command includes a line of parameters up to 128 bytes. kcontrol command to set param: cset "name='Waves Set Param' <0x01,0xff,...>" or cset-bin-file "name='Waves Set Param' <path/to/binary/config/file>" The parameter lines are stored in a buffer array, so can be read back from buffer rather than from DSP, and be relaunched to DSP when resume from RTD3. The buffer size is 160 parameter lines. kcontrol command to reset the buffer: cset "name='Waves Set Param' 0xff" alsa-lib v1.0.29 or commit 6ea14c36 and f47480af are required to support the kcontrol commands. Signed-off-by: NLu, Han <han.lu@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Lu, Han 提交于
Add kcontrol to enable/disable module waves. IPC is valid only when module is loaded. Also track module state over suspend so it's state can be restored on resume. Signed-off-by: NLu, Han <han.lu@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 11 3月, 2015 1 次提交
-
-
由 Lu, Han 提交于
Try to load module waves and allocate runtime blocks for it if the firmware image of module waves exists. Signed-off-by: NLu, Han <han.lu@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 17 2月, 2015 1 次提交
-
-
由 Libin Yang 提交于
Add SNDRV_PCM_INFO_DRAIN_TRIGGER in snd_pcm_hardware.info to call sst_hsw_stream_set_silence_start() when PCM draining. Signed-off-by: NLibin Yang <libin.yang@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 2月, 2015 1 次提交
-
-
由 Libin Yang 提交于
The BDW audio firmware DSP manages the DMA and the DMA cannot be stopped exactly at the end of the playback stream. This means stale samples may be played at PCM stop unless the driver copies silence to the subsequent periods. Signed-off-by: NLibin Yang <libin.yang@intel.com> Reviewed-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 06 2月, 2015 1 次提交
-
-
由 Jie Yang 提交于
For runtime suspend/resume, it is some different with suspend/resume, e.g. codec power supply won't be switch off, codec jack detection still working(to wake up system from Jack event), won't call call snd_soc_suspend/resume, etc. So here, we add a platform PM status, HSW_PM_STATE_RTD3, to make the status more clear, when in idle, it will enter this status, to transfer from HSW_PM_STATE_RTD3 to HSW_PM_STATE_D3, we will do those extra jobs, and vice versa for resuming. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 10 1月, 2015 1 次提交
-
-
由 Jie Yang 提交于
There may be 2 pcm streams for a same DAI at most, and these 2 streams should have different hsw_pcm_data, e.g. they have different persistent data, so here we need split hsw_pcm_data for playback and capture, to make sure they won't be mixed and keep cleaned. Signed-off-by: NJie Yang <yang.jie@intel.com> Reviewed-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 09 1月, 2015 1 次提交
-
-
由 Jie Yang 提交于
A DAI may have 2 streams(playback/capture) and different modules may be needed for them respectively, so we need add a stream direction here, the combination(dai_id + stream) can tell us which module we really need here. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 1月, 2015 1 次提交
-
-
由 Lars-Peter Clausen 提交于
The ALSA core takes care that all preallocated memory is freed when the PCM itself is freed. There is no need to do this manually in the driver. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Acked-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 19 12月, 2014 1 次提交
-
-
由 Rafael J. Wysocki 提交于
The sst-haswell-pcm driver is a new user of CONFIG_PM_RUNTIME. However, after commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to depend on CONFIG_PM. Replace CONFIG_PM_RUNTIME with CONFIG_PM in sound/soc/intel/sst-haswell-pcm.c. Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: NMark Brown <broonie@kernel.org>
-
- 28 11月, 2014 2 次提交
-
-
由 Jie Yang 提交于
Move capture PCM pin from PCM4 to PCM0 for Broadwell/Haswell. This will allow us to integrate with pulseaudio better for usually default device is set to 0. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jie Yang 提交于
The xmax volume should be corrected to ARRAY_SIZE(volume_map)-1, otherwise, the xmax value will be mapped to 0 wrongly. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 27 11月, 2014 1 次提交
-
-
由 Jie Yang 提交于
On Broadwell, the ADSP FW don't support loopback record volume tuning, so here remove this control. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 25 11月, 2014 1 次提交
-
-
由 Jie Yang 提交于
The volume setting control for capture stream doesn't take effect on intel Broadwell platform. Root cause it at 2 points: 1. set stream volume with channel=2 is wrongly bapassed; 2. the saved stream volume should be restored after stream is commit. Here correct these 2 items to fix the stream volume set issue. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 04 11月, 2014 2 次提交
-
-
由 Liam Girdwood 提交于
Fix the following build error when CONFIG_SLEEP is enabled and CONFIG_RUNTIME is disabled. The BDW ADSP sleep PM functionality depends on the runtime pm calls for context save/restore. All error/warnings: >> ERROR: "snd_soc_suspend" undefined! >> ERROR: "snd_soc_resume" undefined! Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jie Yang 提交于
The priv_data is allocated again here wrongly, and it is not set to the driver data after assignment. This make the pdata->dev is NULL and oops occurs on the first call to hsw_volume_put. The resource has been allocated in driver probe callback hsw_pcm_dev_probe, so here just remove this sencond allocation is OK. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 10月, 2014 2 次提交
-
-
由 Liam Girdwood 提交于
Fix the following errors: All error/warnings: >> sound/soc/intel/sst-haswell-pcm.c:1168:13: error: 'hsw_pcm_prepare' undeclared here (not in a function) .prepare = hsw_pcm_prepare, ^ >> sound/soc/intel/sst-haswell-pcm.c:1169:14: error: 'hsw_pcm_complete' undeclared here (not in a function) .complete = hsw_pcm_complete, ^ Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Liam Girdwood 提交于
Add PM and RTD3 support to the HSW/BDW PCM driver. The PCM driver will now save DSP context and then power off the DSP when it's not in use. DSP power and context is then restored when it's next used. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 10月, 2014 1 次提交
-
-
由 Liam Girdwood 提交于
Current block allocation is tied to block type and requestor type. Make the allocation more generic by removing the struct module parameter and adding a generic block allocator structure. Also pass in the list that the blocks have to be added too in order to remove dependence on block requestor type. ASoC: Intel: update scratch allocator to use generic block allocator Update the scratch allocator to use the generic block allocator and calculate total scratch buffer size. ASoC: Intel: Add call to calculate offsets internally within the DSP. A call to calculate internal DSP memory addresses used to allocate persistent and scartch buffers. ASoC: Intel: Add runtime module support. Add support for runtime module objects that can be created for every FW module that is parsed from the FW file. This gives a 1:N mapping between the FW module from file and the runtime instantiations of that module. We also need to make sure we remove every module and runtime module when we unload the FW. ASoC: Intel: Add DMA firmware loading support Add support for DMA to load firmware modules to the DSP memory blocks. Two DMA engines are supported, DesignWare and Intel MID. ASoC: Intel: Add runtime module lookup API call Add an API to allow quick lookup of runtime modules based on ID. ASoC: Intel: Provide streams with dynamic module information Remove the hard coded module paramaters and provide each module with dynamically generated buffer information for scratch and persistent buffers. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 20 10月, 2014 3 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Liam Girdwood 提交于
Improve the debug SNR by making the positional pointer debug more verbose. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Liam Girdwood 提交于
DSP can now support 4 channels in certain use cases. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 16 10月, 2014 1 次提交
-
-
由 Liam Girdwood 提交于
Fix driver with correct formats. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
-
- 06 9月, 2014 2 次提交
-
-
由 Lars-Peter Clausen 提交于
The sst-haswell-pcm driver registers both a snd_soc_component and a snd_soc_platform and expects that the DAPM widgets for the DAIs registered by component are added to the DAPM context of the platform. This requires us to have a hack in the ASoC core which does so. Moving the DAPM elements over to the component allows us to remove this hack. While we are at it also move the controls over to the component. The controls don't need the platform for anything other than snd_soc_platform_get_drvdata(), this can easily be replaced by snd_soc_component_get_drvdata(). As the long term goal is to register only a single component this is a step in the right direction. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Lars-Peter Clausen 提交于
Resource allocations should happen in driver probe callback rather than in snd_soc_platform probe functions. Especially if the resource is device managed. The snd_soc_* probe/remove functions are mainly intended to be used for things that require the component to be already bound to a card. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 7月, 2014 1 次提交
-
-
由 Jie Yang 提交于
This change removes unsupported formats from System, Capture and Loopback FE DAIs. Also it fixes S24_LE support on all DAIs. While at this fix 24 bit flag for BYT as well. Signed-off-by: NJie Yang <yang.jie@intel.com> Signed-off-by: NMark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
-
- 01 6月, 2014 1 次提交
-
-
由 Andy Shevchenko 提交于
A few files contain duplicate headers. This patch removes the second entry of duplicate in each file under question. There is no functional changes. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Cc: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-