Commit graph

13416 commits

Author SHA1 Message Date
Linux Build Service Account
38814e7f31 Merge "ASoC: msm: qdsp6v2: Add 144k sample rate to compress driver" 2017-05-26 06:31:11 -07:00
Linux Build Service Account
50ef4cd0a6 Merge "ASoc: msm: Support SEC_MI2S_TX Port ASM Loopback" 2017-05-26 06:31:09 -07:00
Linux Build Service Account
3daa107c23 Merge "ASoc: msm: Add dai link MultiMedia20 for custom card" 2017-05-26 06:31:07 -07:00
Linux Build Service Account
86552b6a63 Merge "ASoC: msm: Convert ALSA to ADSP format" 2017-05-26 06:30:48 -07:00
Derek Chen
a73c05b997 ASoC: msm: Enable use of noirq playback and capture
Enable use of noirq (i.e pull mode and push mode)
playback and capture.

Change-Id: I139406a20ea4c52d585e941f64a5ffda9c830310
CRs-fixed: 2049744
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2017-05-26 06:26:03 -07:00
Aditya Bavanari
6e4097cd62 ASoC: wcd934x: Add support to restore IIR coefficients after power collapse
Reduce the latency of device switch during voice call by caching
IIR Band registers at bootup and restore them in
tavil_dig_core_remove_power_collapse instead of updating
through mixer controls from userspace.

Change-Id: I87b41801d5f174f5fb11917a359635e91c04d05d
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2017-05-26 13:14:31 +05:30
Linux Build Service Account
5c161901b2 Merge "ASoC: msm: qdsp6v2: set voc type according to stream type" 2017-05-26 00:10:28 -07:00
Linux Build Service Account
f95c3de80f Merge "ASoC: msm: qdsp6v2: Add IEC61937 compressed HDMI pass-though" 2017-05-25 15:51:57 -07:00
Linux Build Service Account
bed872f1a6 Merge "ASoC: msm: qdsp6v2: Extend pass through mode per stream" 2017-05-25 15:51:56 -07:00
Linux Build Service Account
23dec079ae Merge "ASoC: msm-cpe: Fix range checking in function fw_name_store" 2017-05-25 15:51:34 -07:00
Linux Build Service Account
12d9944bfa Merge "ASoC: msm: qdsp6v2: Fix voice call and record SSR test" 2017-05-25 15:51:27 -07:00
Ben Romberger
d6f50d39ce ASoC: msm: qdsp6v2: Clear HDMI channel allocation on shutdown
On shutdown of the HDMI Q6 driver clear the channel
allocation structure. If the channel allocation is
not properly cleared the next session to use the
driver may inncorrectly use the channel allocation
from the previous configuration.

Change-Id: Id033958031dc509c6b3060d892bccf5b1c60524b
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-05-25 15:34:12 -07:00
Ramprasad Katkam
9c650d99af ASoC: sdm660_cdc: Add writeable registers for Dig_cdc and sdw codec regmap
Add Writeable registers list for Digital codec and soundwire codec
regmap config to avoid invalid register access during reg_cache_sync.
Ensure digital codec clock is enabled before regcache sync to avoid
AHB access errors.Modify mutex use to avoid clock disabling during
regmap register access.

Change-Id: I8ab84f80298e01d145395f1347352afe5cfbcc9e
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2017-05-25 07:35:46 -07:00
Siddartha Shaik
34fa162a86 ASoC: msm: Convert ALSA to ADSP format
In transcode loopback session open, ALSA to ASM format conversion is
incorrect. Update the format based on ASM defined formats.

CRs-Fixed: 2049714
Change-Id: Ie5ddb6a58a30b0d6b78bfc68cbbbcd3d92f28fb1
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-05-24 19:07:23 +05:30
Derek Chen
f5f7677719 ASoC: msm: qdsp6v2: set voc type according to stream type
Set voc path type according to stream type during routing
preparation for voice session to fix uninitialized voc
path type causing voc device port configuration failure.

CRs-fixed: 2045461
Change-Id: I4983ba55b1854879680b6d13c33904a522092eb0
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2017-05-24 05:59:14 -07:00
Siena Richard
0bf4f219d1 ASoC: msm: return the latest app type cfg data set when get is called
It is uncommon behavior to expect the caller of a get mixer control
to specify information. Return the last configuration information set
for the mixer control instead of expecting the caller to specify a
backend ID to get configuration information for.

CRs-Fixed: 2031732
Signed-off-by: Siena Richard <sienar@codeaurora.org>
Change-Id: Id1a5fd3e2cf9b7282df916c3973249137efde8c5
2017-05-23 13:07:03 -07:00
Siddartha Shaik
19fc81edfe ASoC: msm: add q6asm api for transcode loopback support
Transcode loopback api can be used by client to configure
compress loopback.

CRs-fixed: 2049714
Change-Id: I7286fbdfa89375d517f3dad7d04e1d2a360d6f7e
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-05-22 23:03:16 -07:00
Cong Tang
5499b6254f ASoc: msm: Add dai link MultiMedia20 for custom card
Add dai link MultiMedia20 for custom card to support SEC_MI2S_TX
ASM Loopback to TDM port.

CRs-Fixed: 2045651
Change-Id: Iff03923cdf843a1873cf464cd6a66feab2c306fb
Signed-off-by: Cong Tang <congt@codeaurora.org>
2017-05-22 01:54:10 -07:00
Cong Tang
7ac4fb357f ASoc: msm: Support SEC_MI2S_TX Port ASM Loopback
Add dai link MultiMedia20 in reference machine driver and
kcontrols for sample rate of SEC_MI2S_TX port.

CRs-Fixed: 2045651
Change-Id: I7c6bc45b2d71403ed19ee0993a85c82649acda7d
Signed-off-by: Cong Tang <congt@codeaurora.org>
2017-05-22 01:53:33 -07:00
Cong Tang
6adb3d5ff2 ASoc: msm: support SEC_MI2S_TX port routing to MultiMedia20
Add new frontend MultiMedia20 and update routing to support ASM
Loopback from SEC_MI2S_TX port to TDM port.

CRs-Fixed: 2045651
Change-Id: Ief9ebfda4469d0761ff96bf673b9d593a9576f44
Signed-off-by: Cong Tang <congt@codeaurora.org>
2017-05-22 13:18:11 +08:00
Ben Romberger
8f1e5633e3 ASoC: msm: qdsp6v2: Add IEC61937 compressed HDMI pass-though
Add support for IEC61937 which is an audio packaging
standard used for compressed HDMI pass-through. Any
audio format can be sent through HDMI pass-through
formatted as IEC61937.

Change-Id: I09821add306e2aeae6530cecbac189471a55e589
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-05-18 18:11:32 -07:00
Ramprasad Katkam
098babd32f ASoC: audio_notifier : Change logic for initial boot
In sdm660 due to change of notifier logic, there is a chance of
receiving only service down notifications during bootup. In this case
the initial boot flag is not cleared, as it is only cleared on
service up notification currenly.because of this, the next service down
 event during SSR/PDR will be ignored. To fix this, clear initial boot flag
for both first service up/down notification, so that Reset notifications
are not ignored.

Change-Id: Iae3ccc6a81fac5d9e5c640f0fee8bb2aee2271cd
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2017-05-19 02:28:21 +05:30
Ramprasad Katkam
8f0c7ae73c ASoC: APR: Fix missing APR deregister from asm
APR deregister is to be called for two ports from both
q6asm_callback(during RESET) and q6asm_audio_client_free.
In race condition between the two, APR deregister is called
only for one port. The mismatch in apr register-deregister
count causes apr not to reset service after ssr, causing
APR communication failure.

Change-Id: Ibd0528215bf2fb986eda03ae0d683b2af31358fe
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2017-05-18 21:59:39 +05:30
Manish Dewangan
08d60a044e ASoC: msm: qdspv2: Rename HDMI drift mixer controls
Update HDMI drift mixer controls name to be aligned with
drift mixer controls for other devices(speaker, BT).

CRs-Fixed: 2036899
Change-Id: If7aa29ea9511b65de71ff12143a1c34d977de2b8
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2017-05-17 02:28:15 -07:00
Xiaoyu Ye
0c53b526c0 ASoC: msm-cpe: Fix range checking in function fw_name_store
The range checking between "WCD_CPE_IMAGE_FNAME_MAX" and
"copy_count" is off-by-one due to the size of array
"core->dyn_fname" is "WCD_CPE_IMAGE_FNAME_MAX". Subtract
one from the range checking to fix this issue.

Change-Id: I87fd55206f79ad7b13c3878f6642bf5579303b17
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2017-05-16 11:30:43 -07:00
Linux Build Service Account
cf343cfb0f Merge "ASoC: msm: add support for new ADSP event APIs" 2017-05-16 06:49:43 -07:00
Linux Build Service Account
e37dfc88a2 Merge "ASoC: msm: remove unused msm-compr-q6-v2" 2017-05-16 06:49:41 -07:00
Linux Build Service Account
560c77a760 Merge "ASoC: wcd: Depend on right config option" 2017-05-16 06:49:24 -07:00
Linux Build Service Account
c46427b57a Merge "ASoC: msm: qdsp6v2: Add TDM master slave select setting" 2017-05-16 06:49:17 -07:00
Xiaojun Sang
f485150d69 ASoC: msm: remove unused msm-compr-q6-v2
msm-compr-q6-v2.c and msm-compr-q6-v2.h are no longer used.

CRs-Fixed: 2022953
Change-Id: I856d90a212a3e123a2c8b80092aff003f7c608c7
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2017-05-15 19:23:40 -07:00
Ben Romberger
9b556eaa0e ASoC: msm: qdsp6v2: Add 144k sample rate to compress driver
Add support for 144k sample rate in the compress driver.
144k is supported for TrueHD pass-through.

Change-Id: I2a0e772e658e64f43ed1864814f91e7a36f67af6
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-05-15 13:01:47 -07:00
Stephen Boyd
0ed5a46cc0 ASoC: wcd: Depend on right config option
Kconfig doesn't have the CONFIG_ part of the option, so don't use
it here. This fixes a kconfig warning about missing a dependency
for "CONFIG_SPI" which doesn't exist because it's supposed to be
"SPI".

Change-Id: Ie449ff250dd87b0a445d34ee079082c6e91f147c
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-05-12 08:37:11 -07:00
Linux Build Service Account
ae4d972f07 Merge "Merge branch 'android-4.4@9796ea8' into branch 'msm-4.4'" 2017-05-11 11:48:48 -07:00
Linux Build Service Account
a71b4b38b9 Merge "ASoC: wsa881x-analog: make probe as async probes" 2017-05-11 06:47:54 -07:00
Linux Build Service Account
0690e9e093 Merge "ASoC: wsa881x-analog: fix overwrite of client->dev->driver_data" 2017-05-11 06:47:52 -07:00
Linux Build Service Account
df2fff8d1d Merge "ASoC: msm: qdsp6v2: Add TrueHD to compressed open" 2017-05-10 23:03:58 -07:00
Linux Build Service Account
bf1ff6fce1 Merge "ASoC: msm: qdsp6v2: clear address on error" 2017-05-10 23:03:38 -07:00
Linux Build Service Account
d575147a75 Merge "ASoC: msm: enhance ADSP Stream Callback" 2017-05-10 23:03:37 -07:00
Linux Build Service Account
4cb291c99a Merge "ASoC: msm: qdspv2: Add mixer controls for drift query" 2017-05-10 23:03:35 -07:00
Revathi Uddaraju
83e3cb21ac ASoC: msm: qdsp6v2: Extend pass through mode per stream
Pass through mode is currently per backend and this restricts
pass through mode to be same for all streams connected to it.
More than one stream having different pass through modes can
connect to a single backend.
To handle such cases, extend pass through mode per stream within
a backend.

Change-Id: I43b7553633fe482daef4a9937e66f950c5e6b6c2
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Signed-off-by: Revathi Uddaraju <revathiu@codeaurora.org>
2017-05-11 09:52:18 +05:30
Ben Romberger
4d021085de ASoC: msm: qdsp6v2: Add TrueHD to compressed open
Add TrueHD format selection to ASM compressed
open and remove it from non-compressed open.

Change-Id: I94b61958e71d3a0d3aec2aa0206cf35698399d34
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-05-09 23:44:00 -07:00
Blagovest Kolenichev
7e061af6db Merge branch 'android-4.4@9796ea8' into branch 'msm-4.4'
* refs/heads/9796ea8
  Linux 4.4.67
  dm ioctl: prevent stack leak in dm ioctl call
  nfsd: stricter decoding of write-like NFSv2/v3 ops
  nfsd4: minor NFSv2/v3 write decoding cleanup
  ext4/fscrypto: avoid RCU lookup in d_revalidate
  ext4 crypto: use dget_parent() in ext4_d_revalidate()
  ext4 crypto: revalidate dentry after adding or removing the key
  ext4: require encryption feature for EXT4_IOC_SET_ENCRYPTION_POLICY
  IB/ehca: fix maybe-uninitialized warnings
  IB/qib: rename BITS_PER_PAGE to RVT_BITS_PER_PAGE
  netlink: Allow direct reclaim for fallback allocation
  8250_pci: Fix potential use-after-free in error path
  scsi: cxlflash: Improve EEH recovery time
  scsi: cxlflash: Fix to avoid EEH and host reset collisions
  scsi: cxlflash: Scan host only after the port is ready for I/O
  net: tg3: avoid uninitialized variable warning
  mtd: avoid stack overflow in MTD CFI code
  drbd: avoid redefinition of BITS_PER_PAGE
  ALSA: ppc/awacs: shut up maybe-uninitialized warning
  ASoC: intel: Fix PM and non-atomic crash in bytcr drivers
  Handle mismatched open calls
  timerfd: Protect the might cancel mechanism proper
  ANDROID: android-base.cfg: remove USB_OTG_WAKELOCK
  ANDROID: android-base.cfg: remove defunct options
  ANDROID: arm64: suspend: Restore the UAO state
  ANDROID: usb: gadget: f_audio_source: disable the CPU C-states upon playback
  ANDROID: usb: gadget: f_mtp: Set 0xFFFFFFFF in mtp header ContainerLength field

Conflicts:
	drivers/usb/gadget/function/f_mtp.c
	fs/ext4/crypto.c

Change-Id: I408054176798ba49f0b62fb46a3b0d59060d108e
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-05-09 16:50:19 -07:00
Kuirong Wang
a50c958774 ASoC: msm: add support for new ADSP event APIs
Add support to handle new ADSP ASM stream event APIs for
different applications.

Change-Id: Id1e7b9b2841449ceb70099722d834b51c198f04e
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2017-05-09 10:32:33 -07:00
Takashi Iwai
a2b3b19acf ASoC: intel: Fix PM and non-atomic crash in bytcr drivers
commit 6e4cac23c5a648d50b107d1b53e9c4e1120c7943 upstream.

The FE setups of Intel SST bytcr_rt5640 and bytcr_rt5651 drivers carry
the ignore_suspend flag, and this prevents the suspend/resume working
properly while the stream is running, since SST core code has the
check of the running streams and returns -EBUSY.  Drop these
superfluous flags for fixing the behavior.

Also, the bytcr_rt5640 driver lacks of nonatomic flag in some FE
definitions, which leads to the kernel Oops at suspend/resume like:

  BUG: scheduling while atomic: systemd-sleep/3144/0x00000003
  Call Trace:
   dump_stack+0x5c/0x7a
   __schedule_bug+0x55/0x70
   __schedule+0x63c/0x8c0
   schedule+0x3d/0x90
   schedule_timeout+0x16b/0x320
   ? del_timer_sync+0x50/0x50
   ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
   ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
   ? remove_wait_queue+0x60/0x60
   ? sst_prepare_and_post_msg+0x275/0x960 [snd_intel_sst_core]
   ? sst_pause_stream+0x9b/0x110 [snd_intel_sst_core]
   ....

This patch addresses these appropriately, too.

[tiwai: applied only to bytcr_rt5640 as bytcr_rt5651 isn't present in
 4.4.x yet]

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # v4.1+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-08 07:46:01 +02:00
Rohit Kumar
1c45d33e8d Asoc: msm: sdm660: Move mbhc_hs_detect to late_probe
mbhc_hs_detect should be called after sound card is
registered. Move mbhc_hs_detect from audrx_init to
late_probe of snd_soc_card to handle this.

Change-Id: Ifee3cddf603143417fc0b4409c87f717ff037631
Signed-off-by: Rohit Kumar <rohitkr@codeaurora.org>
2017-05-04 23:17:15 -07:00
Karthikeyan Mani
5f6470f8aa ASoC: msm: qdsp6v2: Add TDM master slave select setting
Add TDM clock id setting in TDM parent node to
select between IBIT and EBIT for TDM operation.
Move dtsi entries from child to parent that are
common to the group.

CRs-fixed: 1116515
Change-Id: I663eb926818c2aae1eaea8c78bdc0a973ecd0ae3
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-05-04 11:09:32 -07:00
Linux Build Service Account
2fa5ce1a0a Merge "ASoC: msm: qdsp6v2: Add routing controls for fm over mi2s" 2017-05-04 08:45:08 -07:00
Linux Build Service Account
64b33916d2 Merge "ASoC: sdm660_cdc: Avoid unclocked register access to digital codec" 2017-05-04 08:45:07 -07:00
Manish Dewangan
c6911c81c2 ASoC: msm: qdspv2: Add mixer controls for drift query
Add mixer control to query drift avtimer vs device(speaker,
headset, BT) drift.

CRs-Fixed: 2036899
Change-Id: I1cd8d2faf278faabaa9861953027ceb38eda4d25
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2017-05-04 03:12:48 -07:00
Xiaojun Sang
87cac622d8 ASoC: msm: enhance ADSP Stream Callback
Implement FIFO queue for multiple callback events. Events are
cleaned at stream close.

Change-Id: Id738326a20613d2f939e45204b2d46448a5b4759
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2017-05-04 15:21:27 +08:00