Commit Graph

518750 Commits

Author SHA1 Message Date
Fang, Yang A
fd35e37510 ASoC: Intel: Added I2C dependency to two BSW machine drivers
Fixed below error/warnings

   sound/built-in.o: In function `rt5645_i2c_probe':
>> rt5645.c:(.text+0xe38f5): undefined reference to
>> `devm_regmap_init_i2c'
   sound/built-in.o: In function `rt5645_i2c_driver_exit':
>> rt5645.c:(.exit.text+0x60e): undefined reference to `i2c_del_driver'
   sound/built-in.o: In function `rt5645_i2c_driver_init':
>> rt5645.c:(.init.text+0x1a90): undefined reference to
>> `i2c_register_driver'

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12 11:54:39 +01:00
Sebastian Andrzej Siewior
4decab1aff ASoC: Intel: sst: use ; instead of , at the of a C statement
This was spotted by Fernando Lopez-Lezcano <nando@ccrma.Stanford.EDU>
while he tried to compile a -RT kernel with this driver enabled.
"make C=2" would also warn about this. This is is based on his patch.

Reported-by: Fernando Lopez-Lezcano <nando@ccrma.Stanford.EDU>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12 11:36:56 +01:00
Subhransu S. Prusty
859c34bd3c ASoC: Intel: Allocate for the mailbox with max size
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-02 20:48:08 +01:00
Jie Yang
edd8ed496b ASoC: Intel: handle haswell pcm suspend including runtime modules freeing
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: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-02 15:34:12 +01:00
Jie Yang
2dbc80caf7 ASoC: Intel: check and clear runtime module pointer
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: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-02 15:34:11 +01:00
Jie Yang
6e5132f79a ASoC: intel: Revert "ASoC: Intel: fix broadwell module removing failed issue"
This reverts commit 01f202c7b4.

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: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-02 15:34:07 +01:00
Jie Yang
a209d322dc ASoC: intel: Revert "ASoC: Intel: remove unused function hsw_pcm_free_modules()"
This reverts commit 506c148ee5.

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: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-02 15:34:00 +01:00
Jie Yang
616268292b ASoC: Intel: don't need compress offload for broadwell
We don't need compress offload feature for broadwell broadwell machine,
here remove the non exist dependency.

Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-02 11:58:45 +01:00
Liam Girdwood
01f202c7b4 ASoC: Intel: fix broadwell module removing failed issue
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: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-28 20:27:00 +01:00
Jie Yang
506c148ee5 ASoC: Intel: remove unused function hsw_pcm_free_modules()
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: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-28 16:05:05 +01:00
Subhransu S. Prusty
d0e72cc0ac ASoC: Intel: Initialize max mailbox size for haswell
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:35 +01:00
Subhransu S. Prusty
f99b26f0b4 ASoC: Intel: Initialize max mailbox size for baytrail
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:32 +01:00
Subhransu S. Prusty
1925e21961 ASoC: Intel: Allow to configure max size for mailbox data
Mailbox size can be different for different platforms. So allow the drivers
to configure the size.

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:29 +01:00
Subhransu S. Prusty
a63faa58bd ASoC: Intel: Remove the direct register reference from common ipc
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:26 +01:00
Subhransu S. Prusty
40fea92107 ASoC: Intel: Move the busy check to ops for HSW
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:23 +01:00
Subhransu S. Prusty
2709bdbc4d ASoC: Intel: Move the busy check to ops for Baytrail
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:20 +01:00
Subhransu S. Prusty
6022d330a5 ASoC: Intel: Create an ops to check for DSP busy
Created an ops to check if DSP busy, to avoid using platform
specific registers in common IPC.

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-22 19:24:10 +01:00
Vinod Koul
83f125e2a1 ASoC: Intel: add support for configuring TDM slots for SSP
With this machines can now configure TDM settings for SSP port using
set_tdm_slot API

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
0b44e34549 ASoC: intel: add support for specifying PCM format
With this machines can configure the PCM format applied on SSP port using
the set_fmt API

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
711bc9476b ASoC: Intel: load hw_defaults in hw_params of ssp be
We have the SSP defaults now and we need to load then in hw_params callback
of BE SSP DAI ops.

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
5749d70edc ASoC: Intel: use local values for ssp configuration
So right now SSP configuration is statically coded in the driver. While we
would like to keep this configuration intact for the users who are using
these defaults, we need to provide a way for users to program it.
So create a local value in driver structure which is populate with default
value for now

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Vinod Koul
1f2d86f1c0 ASoC: Intel: add frame and data polarity to ssp config
The current ssp configuration was not configuring the frame sync polarity
and data polarity. Some codecs do need these different so add them in ssp
configuration now

Signed-off-by: Praveen Diwakar <praveen.diwakar@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 19:50:22 +01:00
Fang, Yang A
673c4f896a ASoC: Intel: Enabled button jack for BSW platform with rt5650 codec
rt5650 codec supports 4 buttons detections so enabled it

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-06 11:58:29 +01:00
Mark Brown
292d2497cd Merge branch 'topic/rt5645' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel 2015-05-06 11:58:24 +01:00
Fang, Yang A
26f63c692f ASoC: Intel: Fixed kbuild warnings
fix following sparse warnings: (new ones prefixed by >>)

>> sound/soc/intel/boards/cht_bsw_max98090_ti.c:168:37: sparse:
>> incorrect type in argument 2 (different base types)
   sound/soc/intel/boards/cht_bsw_max98090_ti.c:168:37:    expected
unsigned int [unsigned] val
   sound/soc/intel/boards/cht_bsw_max98090_ti.c:168:37:    got
restricted snd_pcm_format_t [usertype] <noident>

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-05 12:17:58 +01:00