- 14 5月, 2017 1 次提交
-
-
由 Vinod Koul 提交于
The i915 component framework expects the caller to be invoking snd_hdac_i915_init() from a thread context. Otherwise it results in lockups on drm side. So move the registering of component interface and probing of codecs on this bus to a worker thread. init_failed in skl structure is not used currently, so renamed to init_done and used to track the initialization done in worker thread. Reported-by: NImre Deak <imre.deak@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NSodhi, VunnyX <vunnyx.sodhi@intel.com> Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 4月, 2017 3 次提交
-
-
由 Guneshwor Singh 提交于
skl_tplg_add_pipe() returned EEXIST instead of negative EEXIST, so fix that and handle the return value as well. Signed-off-by: NGuneshwor Singh <guneshwor.o.singh@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com> Reviewed-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Vinod Koul 提交于
With compiler option W=1, we have one more warning in the driver for 'set but unused variable', so remove the unused variable to fix it. sound/soc/intel/skylake/skl-pcm.c: In function ‘skl_platform_open’: sound/soc/intel/skylake/skl-pcm.c:954:26: warning: variable ‘runtime’ set but not used [-Wunused-but-set-variable] struct snd_pcm_runtime *runtime; Signed-off-by: NVinod Koul <vinod.koul@intel.com> Reviewed-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Arnd Bergmann 提交于
The error handling in bxt_sst_dsp_init() got changed in a way that it now derefences an uninitialized pointer when printing a warning about the device not being found: sound/soc/intel/skylake/bxt-sst.c: In function 'bxt_sst_dsp_init': sound/soc/intel/skylake/bxt-sst.c:567:14: error: 'skl' may be used uninitialized in this function [-Werror=maybe-uninitialized] As we do have a valid device pointer available at the call site, let's use that instead. Fixes: 9fe9c711 ("ASoC: Intel: Skylake: Move sst common initialization to a helper function") Signed-off-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 26 4月, 2017 6 次提交
-
-
由 Sodhi, VunnyX 提交于
Kabylake platform expects modules in a library manifest. After loading base firmware library manifest is loaded using load library IPC. This is followed by module load using load multiple modules IPC. Signed-off-by: NSodhi, VunnyX <vunnyx.sodhi@intel.com> Signed-off-by: NG Kranthi <gudishax.kranthikumar@intel.com> Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Subhransu S. Prusty 提交于
Kabylake uses code loader dma and wait on notification instead of ipc reply for load library ipc status. So modify the argument of skl_sst_ipc_load_library to check on flag to wait for ipc reply. Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Subhransu S. Prusty 提交于
For audio kabylake is same as skylake except the module load approach. This patch registers different dsp_fw_ops for kabylake and next patch adds the module load support for kabylake. Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 G Kranthi 提交于
Kabylake also uses code loader dma for module load and library load. skl_transfer_module can be reused. Modify the arguments to include library index to be passed to lib load ipc and module/lib check to use correct ipc for lib/module load. Signed-off-by: NG Kranthi <gudishax.kranthikumar@intel.com> Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Subhransu S. Prusty 提交于
request firmware, strip extended manifest and release library changes are common to kabylake and APL. So move these common code to utils to be reused in later patches for kabylake library load. Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 G Kranthi 提交于
Some skl sst context are not dependent of platform and initializing them independently for each platform can lead to errors. So optimize by moving them to a helper function and platform specific init code can call this. Signed-off-by: NG Kranthi <gudishax.kranthikumar@intel.com> Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 22 4月, 2017 2 次提交
-
-
由 Dan Carpenter 提交于
We need to use the _safe() version of list_for_each_entry() here because of the kfree(modules). Fixes: b8c722dd ("ASoC: Intel: Skylake: Add support for deferred DSP module bind") Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Dan Carpenter 提交于
My static checker complains that if snd_hdac_bus_get_response() returns -EIO then "res" is uninitialized. Fix this by initializing it to -1 so that the error is handled correctly. Fixes: d8c2dab8 ("ASoC: Intel: Add Skylake HDA audio driver") Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 12 4月, 2017 1 次提交
-
-
由 Jeeja KP 提交于
Module at the end of DSP pipeline that needs to be connected to a module in another pipeline are represented as a PGA(leaf node) and in PGA event handler these modules are bound/unbounded. Modules other than PGA leaf can be connected directly or via switch to a module in another pipeline. Example: reference path. To support the deferred DSP module bind, following changes are done: o When the path is enabled, the destination module that needs to be bound may not be initialized. If the module is not initialized, add these modules in a deferred bind list. o When the destination module is initialized, check for these modules in deferred bind list. If found, bind them. o When the destination module is deleted, Unbind the modules. o When the source module is deleted, remove the entry from the deferred bind list. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 03 4月, 2017 1 次提交
-
-
由 Takashi Iwai 提交于
They may be used by both legacy and ASoC drivers. Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 30 3月, 2017 1 次提交
-
-
由 Colin Ian King 提交于
trivial fix to spelling mistake in dev_err error message Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 3月, 2017 7 次提交
-
-
由 Jeeja KP 提交于
When DSP module is unbound, the module state needs to be in INIT_DONE state instead of UNINT. Also the state needs to be set to UNINIT after module is deleted from DSP pipeline. So, set the module state to INIT_DONE after unbind and then UNINIT after module is deleted. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Hardik T Shah 提交于
As per hardware recommendation, for every capture stream completion following operations need to be done in order to reflect the actual data that is received in position buffer. 1. Wait for 20us before reading the DMA position in buffer once the interrupt is generated for stream completion. 2. Read any of the register to flush the DMA position value. This is dummy read operation. Signed-off-by: NDharageswari R <dharageswari.r@intel.com> Signed-off-by: NHardik T Shah <hardik.t.shah@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
Skylake driver topology header/driver structure is referenced and used in SST library which creates circular dependency. Hence the rearrangement. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Vinod Koul 提交于
We should not hard code the ACPI path to get acpi_handle. Instead use ACPI_HANDLE macro to do the job. Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Vinod Koul 提交于
Initially vmixer and mixer widget handlers were bit different, but over time they became same so remove the duplicate code. Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Vinod Koul 提交于
A module may have multiple instances in DSP, so unload only when usage count is zero. Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
For calculating the HDA DMA format, use the max_bps supported by the DAI caps instead of fixing it to 32/24. For host DMA the Max bps support is 32, but in case of link DMA, this depends on the codec capability. So use the sig_bits to define the bps supported by dai. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 16 3月, 2017 10 次提交
-
-
由 Dharageswari R 提交于
KPB module default parameter were overwritten by the dynamic instance id once use case is executed. This will cause module crash from subsequent execution of use case as the updated parameters are used. So instead of over writing the default parameter, make a copy and update the module parameter and use this in IPC message. Signed-off-by: NDharageswari R <dharageswari.r@intel.com> Signed-off-by: NKranthikumar, GudishaX <gudishax.kranthikumar@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
When module size > DMA buffer size, driver copies first chunk and waits for the BDL complete interrupt. BDL complete interrupt never occurs and wait time expires as module load IPC is not send to start the DMA from DSP. To fix the above issue need to follow the below steps: 1. After copying the first chunk, send the module load IPC to start the DMA. 2. Wait for the BDL interrupt. Once interrupt is received, copy the next chunk. 3. Continue step 2 till all bytes are copied. 4. When all the bytes are copied (bytes_left = 0), wait for module load IPC response 5. Handled module load IPC response messages, check the load module IPC response and wake up the thread to complete module load. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 G Kranthi 提交于
dsp ops is already set in init, so use this in cleanup routine instead of again retrieving it. Also constify struct skl_dsp_ops. Signed-off-by: NG Kranthi <gudishax.kranthikumar@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 G Kranthi 提交于
DSP firmware sends notification every 1ms, which is disabled in runtime suspend. But if a system has no runtime pm, we keep getting notification, so disable after FW init as well. Signed-off-by: NG Kranthi <gudishax.kranthikumar@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
Remove BE prepare ops which enables MCLK by default. If MCLK is required to be enabled for any specific platform, it needs to be enabled in the corresponding machine driver. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
If D3 IPC fails or times out, firmware needs to be reloaded as driver continues the reset. So set the fw_load flag to false to reload the firmware in D0. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
In system suspend, firmware needs to be re-downloaded as IMR is cleared. When firmware is downloaded in D0, core state is not set to running state causing instability with subsequent D0-D3 cycles. So set the core state correctly during D0 and check the DSP core state if not in reset to set the DSP to D3. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
When DSP is in D3, no interrupts are expected, so disable interrupt while entering D3. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Guneshwor Singh 提交于
If the widget is a mixin module, just unbind between source and sink and don't stop the source pipe as there can be multiple sinks connected. Signed-off-by: NGuneshwor Singh <guneshwor.o.singh@intel.com> Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
DSP pipe needs to stopped before deleting the pipe. Currently check is for pipe state > STARTED, which is incorrect. So changed to include pipe state STARTED to stop the pipe if it started. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 14 3月, 2017 1 次提交
-
-
由 Takashi Sakamoto 提交于
As a commit 4cd9899f ("ASoC: Intel: Skylake: Add multiple pin formats") describes, 'fixups is applied to pin 0 only'. On the other hand, the commit left some codes as what they were. This might confuses readers. This commit fixes the issue. This doesn't change driver behaviour at all. Fixes: 4cd9899f ("ASoC: Intel: Skylake: Add multiple pin formats") Signed-off-by: NTakashi Sakamoto <takashi.sakamoto@miraclelinux.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Tested-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 08 3月, 2017 1 次提交
-
-
由 Takashi Sakamoto 提交于
In 'include/linux/kernel.h', there's a helper macro to round numerical value. Let's use it. Signed-off-by: NTakashi Sakamoto <takashi.sakamoto@miraclelinux.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Tested-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 3月, 2017 4 次提交
-
-
由 Takashi Sakamoto 提交于
In 'skl_tplg_set_module_init_data()', a pointer to 'params' member of 'struct skl_algo_data' is calculated, then casted to (u32 *) and assigned to a member of configuration data. The configuration data is passed to the other functions and used to process intel IPC. In this processing, the value of member is used to get message data, however this can bring invalid memory access in 'skl_set_module_params()' as a result of calculation of a pointer for actual message data. (sound/soc/intel/skylake/skl-topology.c) skl_tplg_init_pipe_modules() ->skl_tplg_set_module_init_data() (has this bug) ->skl_tplg_set_module_params() (sound/soc/intel/skylake/skl-messages.c) ->skl_set_module_params() ((char *)param) + data_offset This commit fixes the bug. Fixes: abb74003 ("ASoC: Intel: Skylake: Add support to configure module params") Signed-off-by: NTakashi Sakamoto <takashi.sakamoto@miraclelinux.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org> Cc: <stable@vger.kernel.org> # v4.5+
-
由 Jeeja KP 提交于
During S3->S0 transition, sometime ROM init fails because of authentication engine loads later than the OS. In this case driver waits for a longer period and then retries the FW download causing huge delay in resume time of audio device. To avoid this, ROM INIT wait time is set to a optimal value and increased the retries for firmware download. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jeeja KP 提交于
Store the DSP firmware/library at boot, so that for S3 to S0 transition use the stored ctx for downloading the firmware to DSP memory. Signed-off-by: NJeeja KP <jeeja.kp@intel.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Colin Ian King 提交于
Trivial fix to spelling mistake in dev_err message. Signed-off-by: NColin Ian King <colin.king@canonical.com> Acked-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 17 2月, 2017 2 次提交
-
-
由 Vinod Koul 提交于
Geminilake is next gen SoC, so add the IDs for Geminilake. Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Senthilnathan Veppur 提交于
Geminilake has two different devices connected to the same SSP, so use device_type check to get correct device configuration. Signed-off-by: NSenthilnathan Veppur <senthilnathanx.veppur@intel.com> Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-