summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-06-15ASoC: intel: Constify ACPI device idsMathias Krause1-1/+1
Constify the ACPI device ID array, it doesn't need to be writable at runtime. Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-15ASoC: Intel: fixed TI button detectionFang, Yang A1-0/+30
In order to make TI button interrupt working max98090 codec Need provide mic bias all the time as long as mic is present so SHDN and micbias pin are forced on.we also need set max98090 codec bias close or lower than TI bias.We set them in bios/coreboot kernel reads them from device property Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-15ASoC: Intel: mrfld: simplify sst_fill_widget_module_infoRasmus Villemoes1-12/+8
Some tiny improvements, cutting 180 bytes off the generated code. - use strchr() for single-character needle - compute index using pointer subtraction instead of two strlen() calls - factor out the common check for whether the initial part of kctl->id.name (before the space) is identical to w->name. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-12ASoC: Intel: Added I2C dependency to two BSW machine driversFang, Yang A1-2/+2
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-12ASoC: Intel: sst: use ; instead of , at the of a C statementSebastian Andrzej Siewior1-2/+2
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-02ASoC: Intel: Allocate for the mailbox with max sizeSubhransu S. Prusty2-3/+30
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-02ASoC: Intel: handle haswell pcm suspend including runtime modules freeingJie Yang1-6/+16
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-02ASoC: Intel: check and clear runtime module pointerJie Yang1-2/+7
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-02ASoC: intel: Revert "ASoC: Intel: fix broadwell module removing failed issue"Jie Yang1-3/+1
This reverts commit 01f202c7b4b40025f3ea4721c52e7f78545e3b07. 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-02ASoC: intel: Revert "ASoC: Intel: remove unused function hsw_pcm_free_modules()"Jie Yang1-0/+15
This reverts commit 506c148ee5e1bfb836116353305927ca4c21a23e. 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-02ASoC: Intel: don't need compress offload for broadwellJie Yang1-1/+0
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-05-28ASoC: Intel: fix broadwell module removing failed issueLiam Girdwood1-1/+3
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-28ASoC: Intel: remove unused function hsw_pcm_free_modules()Jie Yang1-15/+0
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-22ASoC: Intel: Initialize max mailbox size for haswellSubhransu S. Prusty1-0/+3
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-22ASoC: Intel: Initialize max mailbox size for baytrailSubhransu S. Prusty1-0/+2
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-22ASoC: Intel: Allow to configure max size for mailbox dataSubhransu S. Prusty1-0/+2
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-22ASoC: Intel: Remove the direct register reference from common ipcSubhransu S. Prusty1-3/+2
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-22ASoC: Intel: Move the busy check to ops for HSWSubhransu S. Prusty1-0/+9
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-22ASoC: Intel: Move the busy check to ops for BaytrailSubhransu S. Prusty1-0/+9
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-22ASoC: Intel: Create an ops to check for DSP busySubhransu S. Prusty1-0/+1
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-06ASoC: Intel: add support for configuring TDM slots for SSPVinod Koul3-0/+31
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-06ASoC: intel: add support for specifying PCM formatVinod Koul3-0/+115
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-06ASoC: Intel: load hw_defaults in hw_params of ssp beVinod Koul2-3/+15
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-06ASoC: Intel: use local values for ssp configurationVinod Koul2-23/+32
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-06ASoC: Intel: add frame and data polarity to ssp configVinod Koul2-0/+4
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-06ASoC: Intel: Enabled button jack for BSW platform with rt5650 codecFang, Yang A1-13/+12
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-06Merge branch 'topic/rt5645' of ↵Mark Brown3-118/+614
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
2015-05-05ASoC: Intel: Fixed kbuild warningsFang, Yang A1-3/+1
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-04ASoC: Intel: Support rt5650 codec for Cherrytrail & BraswellFang, Yang A2-13/+84
rt5650 and rt5645 are similar codec so reuse the cht_bsw_rt5645 driver Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04ASoC: Intel: Add Cherrytrail & Braswell machine driver cht_bsw_max98090_tiFang, Yang A3-0/+334
Add machine driver for two Intel Cherryview-based platforms, Cherrytrail and Braswell. This machine driver will support max98090 codec as primary codec. it can also support TI jack detect chip as aux device if platform supports it. Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-04ASoC: Intel: Add support max98090 in sst driverFang, Yang A1-0/+2
Added entry in sst driver to support max98090 codec for intel Braswell platform. Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-01ASoC: rt5645: make volume TLV closer to realityBard Liao1-6/+6
The volume blocks have an step of 0.375dB, but TLV uses 0.01dB for units. Only use the resolution supported, ignoring the LSB of the volume register. This results in half the steps and 0.75dB per step, but reports accurate levels through TLV. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-01ASoC: rt5645: add TDM slot control into dapm routeBard Liao2-57/+299
This patch adds TDM slot control into dapm route. The control bits are different between rt5645 and rt5650, so we have separate dapm routes for each codec. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-01ASoC: rt5645: fix PLL source register definitionsBard Liao1-7/+8
Fix PLL source register definitions. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-01ASoC: rt5645: remove RT5645_I2S_BCLK_MS1 controlBard Liao2-7/+2
RT5645_I2S_BCLK_MS1 (reg 0x73 [5]) is reserverd in rt5645 and rt5650. This function is move to TDM control. We can configure it by snd_soc_dai_set_tdm_slot's slot_width parameter. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-01ASoC: rt5645: fix wrong mask for button reportBard Liao1-1/+2
rt5645->btn_jack is for jack button report. So the mask should be SND_JACK_BTN_0 | SND_JACK_BTN_1 | SND_JACK_BTN_2 | SND_JACK_BTN_3. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-30ASoC: rt5645: fix implicit declaration errorBard Liao1-0/+2
kbuild robot reports a implicit declaration of function 'rt5645_irq_detection' error. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-29ASoC: rt5645: Adds push button support for rt5650Bard Liao3-39/+237
rt5650 support headset button detection. Currently, the button detection is only implemented for rt5650 codec. The button detection configuration register's default value is different from rt5645. And we didn't touch the register in the driver, so we will get the wrong value when we dump the registers. We will fix it in another patch. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-28ASoC: rt5645: fixed section mismatchSudip Mukherjee1-1/+1
while building as a module we are getting warning about section mismatch. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-28ASoC: rt5645: fixed kbuild errFang, Yang A1-0/+1
kbuild robot reports following error/warnings sound/soc/codecs/rt5645.c: In function 'rt5645_i2c_probe': >> sound/soc/codecs/rt5645.c:2720:4: error: implicit declaration of >> function 'devm_gpiod_get_index' >> [-Werror=implicit-function-declaration] gpiod = devm_gpiod_get_index(&i2c->dev, "rt5645", 0); ^ >> sound/soc/codecs/rt5645.c:2720:10: warning: assignment makes pointer >> from integer without a cast gpiod = devm_gpiod_get_index(&i2c->dev, "rt5645", 0); ^ >> sound/soc/codecs/rt5645.c:2722:4: error: implicit declaration of >> function 'gpiod_direction_input' >> [-Werror=implicit-function-declaration] if (IS_ERR(gpiod) || gpiod_direction_input(gpiod)) { ^ >> sound/soc/codecs/rt5645.c:2726:5: error: implicit declaration of >> function 'desc_to_gpio' [-Werror=implicit-function-declaration] rt5645->pdata.hp_det_gpio = desc_to_gpio(gpiod); ^ >> sound/soc/codecs/rt5645.c:2728:7: error: implicit declaration of >> function 'gpiod_is_active_low' >> [-Werror=implicit-function-declaration] = !gpiod_is_active_low(gpiod); ^ cc1: some warnings being treated as errors Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-28ASoC: rt5645: set platform data base on DMIFang, Yang A1-1/+46
set platform specific data for intel strago platform Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-28Merge branch 'fix/rt5645' of ↵Mark Brown1-1/+12
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645
2015-04-27ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bitAxel Lin1-1/+1
Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit, fix it. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-27ASoC: Intel: Add support rt5650 in sst driverFang, Yang A1-0/+2
Added entry in sst driver to support rt5650 codec for intel Braswell platform. Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-27ASoC: intel - use SNDRV_CTL_ELEM_ID_NAME_MAXLENVinod Koul1-1/+1
we have defined SNDRV_CTL_ELEM_ID_NAME_MAXLEN as size of name array so use this define instead of numeric value Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-27ASoC: Intel: Remove invalid kfree of devm allocated dataJin Yao1-1/+0
kbuild robot reports following warning: "sound/soc/intel/haswell/sst-haswell-ipc.c:2204:1-6: WARNING: invalid free of devm_ allocated data" As julia explains to me, the memory allocated with devm_kalloc is freed automatically on failure of a probe function. So this kfree should be removed otherwise the double free will be got in error handler path. Signed-off-by: Jin Yao <yao.jin@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-27Linux 4.1-rc1Linus Torvalds1-2/+2
2015-04-27x86_64, asm: Work around AMD SYSRET SS descriptor attribute issueAndy Lutomirski5-0/+48
AMD CPUs don't reinitialize the SS descriptor on SYSRET, so SYSRET with SS == 0 results in an invalid usermode state in which SS is apparently equal to __USER_DS but causes #SS if used. Work around the issue by setting SS to __KERNEL_DS __switch_to, thus ensuring that SYSRET never happens with SS set to NULL. This was exposed by a recent vDSO cleanup. Fixes: e7d6eefaaa44 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss Signed-off-by: Andy Lutomirski <luto@kernel.org> Cc: Peter Anvin <hpa@zytor.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Denys Vlasenko <vda.linux@googlemail.com> Cc: Brian Gerst <brgerst@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-04-27Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds5-14/+95
Pull intel drm fixes from Dave Airlie. * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg drm/i915: Workaround to avoid lite restore with HEAD==TAIL drm/i915: cope with large i2c transfers
2015-04-27Merge git://git.infradead.org/intel-iommuLinus Torvalds3-83/+82
Pull intel iommu updates from David Woodhouse: "This lays a little of the groundwork for upcoming Shared Virtual Memory support — fixing some bogus #defines for capability bits and adding the new ones, and starting to use the new wider page tables where we can, in anticipation of actually filling in the new fields therein. It also allows graphics devices to be assigned to VM guests again. This got broken in 3.17 by disallowing assignment of RMRR-afflicted devices. Like USB, we do understand why there's an RMRR for graphics devices — and unlike USB, it's actually sane. So we can make an exception for graphics devices, just as we do USB controllers. Finally, tone down the warning about the X2APIC_OPT_OUT bit, due to persistent requests. X2APIC_OPT_OUT was added to the spec as a nasty hack to allow broken BIOSes to forbid us from using X2APIC when they do stupid and invasive things and would break if we did. Someone noticed that since Windows doesn't have full IOMMU support for DMA protection, setting the X2APIC_OPT_OUT bit made Windows avoid initialising the IOMMU on the graphics unit altogether. This means that it would be available for use in "driver mode", where the IOMMU registers are made available through a BAR of the graphics device and the graphics driver can do SVM all for itself. So they started setting the X2APIC_OPT_OUT bit on *all* platforms with SVM capabilities. And even the platforms which *might*, if the planets had been aligned correctly, possibly have had SVM capability but which in practice actually don't" * git://git.infradead.org/intel-iommu: iommu/vt-d: support extended root and context entries iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification iommu/vt-d: Allow RMRR on graphics devices too iommu/vt-d: Print x2apic opt out info instead of printing a warning iommu/vt-d: kill bogus ecap_niotlb_iunits()