Commit graph

13698 commits

Author SHA1 Message Date
Linux Build Service Account
b6a5f53741 Merge "ASoC: msm: qdsp6v2: add routing from MM6 to SEC MI2S RX" 2018-06-27 14:44:12 -07:00
Linux Build Service Account
daa592e855 Merge "ASoC: msm: Support different POPPs to single COPP" 2018-06-21 13:37:46 -07:00
Linux Build Service Account
b60fb8e724 Merge "ASoC: msm: qdsp6v2: Fix rtac memory unmap issue in ASM driver" 2018-06-21 04:04:07 -07:00
Linux Build Service Account
8164a41508 Merge "ASoC: msm: qdsp6v2: Fix return code check in adm driver" 2018-06-21 04:04:06 -07:00
Linux Build Service Account
9b81f1aebb Merge "ASoC: msm: qdsp6v2: Fix AFE RTC set parameter" 2018-06-21 04:04:05 -07:00
Linux Build Service Account
726eec8d0e Merge "sdm660-internal: Fix DMIC3&4 mute in voice call during APSS sleep" 2018-06-21 04:04:04 -07:00
Derek Chen
a83fb6663f ASoC: msm: qdsp6v2: add routing from MM6 to SEC MI2S RX
Add routing support from multimedia6 frontend
to secondary MI2S RX backend.

Change-Id: I6755fcf2a0fef0407d3492fe66260d22de2a7daf
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2018-06-21 00:14:48 -07:00
Aditya Bavanari
e4f474eb8e ASoC: msm: qdsp6v2: Fix AFE RTC set parameter
Fix offset address to use set parameter structure while
copying data from user instead of get parameter structure
for AFE_PORT_CMD_SET_PARAM_V3 case.

CRs-Fixed: 2256728
Change-Id: I61e41f366f365734a47080b79179fbe3021ee8a7
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-06-19 19:01:12 +05:30
Aditya Bavanari
04708e34ee ASoC: msm: qdsp6v2: Fix rtac memory unmap issue in ASM driver
During unmap of rtac block in ASM, mem_map_handle
address is set to zero instead of the value. Set the
map handle value to zero to avoid issue in freeing the
ion memory.

CRs-Fixed: 2254339
Change-Id: I6584be029d4c8dde235e722149c758df0db9916e
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-06-19 17:50:52 +05:30
Vatsal Bucha
f57e402a5a sdm660-internal: Fix DMIC3&4 mute in voice call during APSS sleep
Add ignore sleep for DMIC 3 and 4 to fix mute in voice call.

CRs-Fixed: 2258957
Change-Id: Ia33aec6796e965080a978d3e158d78ae03f9b717
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-06-19 05:15:02 -07:00
Aditya Bavanari
c966bc9cff ASoC: msm: qdsp6v2: Fix return code check in adm driver
Return error only if apr_send_pkt() function
return code is less than 0.

CRs-Fixed: 2262017
Change-Id: I98903c6c275f360d32c3af523352071d92d1ef85
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-06-19 17:31:10 +05:30
Soumya Managoli
586a6ad358 asoc: codecs: sdm660_cdc: Fix LPASS register access during SSR
When AFE returns failure in setting the digital codec
core clock during SSR, it leads to LPASS register access
which results in NOC error and AHB timeout. Put the regmap
in cache only mode when clock enable fails to fix this.

Also fix watchdog bite failure during stability run
by returning from digclock control if cacheonly mode
is set. This is seen while SSR is in progress and teardown
of session happens, it will request for afe clock enable
continuously at digital clock control.

Change-Id: I952b667a5cffcb667154378102609b23ab0cee3d
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
2018-06-18 22:29:38 -07:00
Cong Tang
c1bed40d2d ASoC: msm: Support different POPPs to single COPP
For multi COPP feature it could only allow POPPs with same app_type
to connect single COPP. But it's possible to connect different POPPs
with different app_type to single COPP, to achieve this, it should
skip the app_type check when create copp_idx.

Change-Id: Ic8d7c63d317baba09768d08bc723a6b097322f63
Signed-off-by: Cong Tang <congt@codeaurora.org>
2018-06-18 20:54:41 -07:00
Linux Build Service Account
51b2f06de2 Merge "ASoC: msm: qdsp6v2: add lsm support for tdm ports" 2018-06-15 03:06:20 -07:00
Linux Build Service Account
f8c3bac9ce Merge "ASoC: msm: qdsp6v2: Rx DTMF detection via voice stream callback" 2018-06-15 03:06:19 -07:00
Vatsal Bucha
b9e306af63 ASoC: qdsp6v2: Fix null pointer dereference for prtd pointer
Private data pointer may not be initialized before
access it in adsp_stream_cmd_put. NULL check for prtd
avoids the issue.

CRs-Fixed: 2252497
Change-Id: Ibd888be601d5b42ed4f4644ed22596a26b61f8fe
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-06-13 22:59:54 -07:00
Timothy Sham
fe515e9936 ASoC: msm: qdsp6v2: Rx DTMF detection via voice stream callback
Allow msm-pcm-voice-v2 driver to enable Rx DTMF detection and
route the DTMF detection event from QDSP6 to a registered
mixer event callback.

Change-Id: I9ffb714d1ec5dd0f4e2c229830d7170324b295bb
Signed-off-by: Timothy Sham <tsham@codeaurora.org>
2018-06-12 14:00:49 -04:00
Derek Chen
e049020258 ASoC: msm: qdsp6v2: add lsm support for tdm ports
Add LSM routing and kcontrol support for TDM
backend ports.

Change-Id: Ie6d05691a3e763fe1b7f37dd86415091f7da0e6d
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2018-06-08 15:10:11 -07:00
Linux Build Service Account
ebae906ccd Merge "q6asm: retry asm open in case of session id conflict" 2018-06-08 10:20:25 -07:00
Linux Build Service Account
51c5c162c1 Merge "ASoC: msm: Add mixer controls for module enabling" 2018-06-05 20:30:51 -07:00
Han Lu
53c8faf4dc q6asm: retry asm open in case of session id conflict
The ADSP asm session ids are managed by the kernel driver. It's all right
for native use cases. But for virtualization use cases, there's no way to
synchronize the session ids' status among virtual machines.  Playing back
in one virtual machine is probably failed, because the session id may had
been occupied by a use case in another virtual machine.

The patch allowed audio playback stream to try all available session ids
in case of session id conflict error, to support concurrent playback from
multiple virtual machines.

Change-Id: If98d05898cec3f05d80c750ec8a014add3b1f34c
Signed-off-by: Han Lu <hanlu@codeaurora.org>
2018-06-04 00:32:36 -07:00
Linux Build Service Account
addd4dab16 Merge "ASoC: msm: add boot marker for mi2s and auto sound card" 2018-05-29 05:07:37 -07:00
Rahul Sharma
e01d6aedaa ASoC: msm: Add mixer controls for module enabling
Mixer controls are added to enable or disable
ADSP modules.

Change-Id: Ia2471c3fc25429001ccf19d6b30d34d6e2cf9d27
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
2018-05-27 16:24:45 +05:30
Linux Build Service Account
7879aadfcc Merge "asoc: msm8998: Add configuration for adaptive bitrate." 2018-05-26 13:26:51 -07:00
Linux Build Service Account
45c4f7d22f Merge "ASoC: msm: Modify buf size check to prevent OOB error" 2018-05-24 02:46:45 -07:00
Soumya Managoli
fd819b7aa3 asoc: msm8998: Add configuration for adaptive bitrate.
Add hostless front end DAI to trigger backend
configuration of BT backend dai required for
configuring BT ABR statistics. Add mixer ctrls
to independently configure TX and RX sample
rates to allow BT RX and TX backends.

Change-Id: Iac3cd5317db2653a87f106d43cfc7fe90e4f4875
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
2018-05-23 22:21:52 -07:00
Zhiqiang Tu
996c86f94e ASoC: msm: add boot marker for mi2s and auto sound card
Add boot marker for booting KPI measurement.

Change-Id: I58fac2a1bed4f9c4e484b3dadb6a766c260f3f06
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2018-05-22 13:33:41 +08:00
Linux Build Service Account
1ff291a124 Merge "ASoC: msm: check payload size before memory allocation" 2018-05-20 19:31:51 -07:00
Linux Build Service Account
e1c2b1f918 Merge "ASoC: msm: qdsp6v2: return the proper LPASS status" 2018-05-20 19:31:50 -07:00
Linux Build Service Account
45df31e9af Merge "ASoC: msm: qdsp6v2: increase max Rx DTMF duration" 2018-05-16 10:28:44 -07:00
Xiaojun Sang
ad40ee7b44 ASoC: msm: check payload size before memory allocation
Buffer from mixer ctl or ADSP is composed of payload size and
actual payload. On a 32 bit platform, we could have an overflow
if payload size is below UINT_MAX while payload size + sizeof(struct)
is over UINT_MAX. Allocated memory size would be less than expected.
Check payload size against limit before memory allocation.

Change-Id: I0bf19ca7b8c93083177a21ad726122dc20f45551
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-05-16 14:28:32 +08:00
Derek Chen
125ff102eb ASoC: msm: qdsp6v2: return the proper LPASS status
Allow the LPASS status check API to return
the proper status code.

CRs-fixed: 2126725
Change-Id: I6c34036ec30c7d4ce8aaefb70d19b04b211f7355
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2018-05-14 17:28:59 -04:00
Soumya Managoli
1a9c85b25d asoc: sdm660: Add configuration for adaptive bitrate.
Add hostless front end DAI to trigger backend
configuration of BT backend dai required for
configuring BT ABR statistics. Add mixer ctrls
to independently configure TX and RX sample
rates to allow BT RX and TX backends.

Change-Id: I2370eccb10da666ecf267f2756b2efd66ecbf8f6
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
2018-05-14 05:04:45 -07:00
Linux Build Service Account
6e5dae3ae1 Merge "Merge android-4.4.131 (d5d6526) into msm-4.4" 2018-05-10 01:25:18 -07:00
Timothy Sham
6e3516ef4c ASoC: msm: qdsp6v2: increase max Rx DTMF duration
Increase the maximum value of the DTMF Rx Generate
mixer command and change the read to int16 to allow
for clients to be able to set '-1', infinite tone.

Change-Id: I44eed4712bb05a70b4464d9db38c348c131a3f61
Signed-off-by: Timothy Sham <tsham@codeaurora.org>
2018-05-08 14:27:20 -07:00
Linux Build Service Account
b4728dbe0e Merge "ASoC: msm: qdsp6v2 : Add AFE port validation for MULTICHAN_HDMI_RX" 2018-05-06 02:07:12 -07:00
Linux Build Service Account
86d96481ed Merge "ASoC: sdm660_cdc: Fix pop after PDR on SDM660 internal codec" 2018-05-06 02:07:11 -07:00
Linux Build Service Account
fb913f564f Merge "ASoC: msm: add TDM routing for DTMF driver and dtmf fe dai to apq8096" 2018-05-06 02:07:10 -07:00
Linux Build Service Account
5c49e73d6d Merge "ASoC: msm: qdsp6v2: enable DMA channel control" 2018-05-06 02:07:09 -07:00
Timothy Sham
a98fd17446 ASoC: msm: add TDM routing for DTMF driver and dtmf fe dai to apq8096
Added DTMF mixer routing for QUAT_TDM_RX2 for automotive. Also added
the DTMF front-end dai to apq8096 driver.

Change-Id: I3652efd939774ff8cb7c40445747f0edbf6b3c7f
Signed-off-by: Timothy Sham <tsham@codeaurora.org>
2018-05-03 18:05:49 -04:00
Srinivasarao P
028ce831e8 Merge android-4.4.131 (d5d6526) into msm-4.4
* refs/heads/tmp-d5d6526
  Linux 4.4.131
  serial: mctrl_gpio: Add missing module license
  serial: mctrl_gpio: export mctrl_gpio_disable_ms and mctrl_gpio_init
  x86/smpboot: Don't use mwait_play_dead() on AMD systems
  x86/ipc: Fix x32 version of shmid64_ds and msqid64_ds
  libceph: validate con->state at the top of try_write()
  ASoC: fsl_esai: Fix divisor calculation failure at lower ratio
  ARM: amba: Don't read past the end of sysfs "driver_override" buffer
  ARM: amba: Fix race condition with driver_override
  ARM: amba: Make driver_override output consistent with other buses
  scsi: sd: Defer spinning up drive while SANITIZE is in progress
  kobject: don't use WARN for registration failures
  mtd: cfi: cmdset_0002: Do not allow read/write to suspend erase block.
  mtd: cfi: cmdset_0001: Workaround Micron Erase suspend bug.
  mtd: cfi: cmdset_0001: Do not allow read/write to suspend erase block.
  ALSA: hda/realtek - Add some fixes for ALC233
  ALSA: hda: Hardening for potential Spectre v1
  ALSA: seq: oss: Hardening for potential Spectre v1
  ALSA: seq: oss: Fix unbalanced use lock for synth MIDI device
  ALSA: core: Report audio_tstamp in snd_pcm_sync_ptr
  ALSA: control: Hardening for potential Spectre v1
  ALSA: rme9652: Hardening for potential Spectre v1
  ALSA: hdspm: Hardening for potential Spectre v1
  ALSA: asihpi: Hardening for potential Spectre v1
  ALSA: opl3: Hardening for potential Spectre v1
  tty: Use __GFP_NOFAIL for tty_ldisc_get()
  tty: n_gsm: Fix DLCI handling for ADM mode if debug & 2 is not set
  tty: n_gsm: Fix long delays with control frame timeouts in ADM mode
  tty: Don't call panic() at tty_ldisc_init()
  drm/virtio: fix vq wait_event condition
  virtio_console: free buffers after reset
  virtio: add ability to iterate over vqs
  ALSA: usb-audio: Skip broken EU on Dell dock USB-audio
  USB: Increment wakeup count on remote wakeup.
  usb: core: Add quirk for HP v222w 16GB Mini
  USB: serial: cp210x: add ID for NI USB serial console
  USB: serial: ftdi_sio: use jtag quirk for Arrow USB Blaster
  USB: serial: simple: add libtransistor console
  usbip: vhci_hcd: Fix usb device and sockfd leaks
  usbip: usbip_host: fix to hold parent lock for device_attach() calls
  ext4: fix bitmap position validation
  ext4: add validity checks for bitmap block numbers
  ext4: set h_journal if there is a failure starting a reserved handle
  ext4: prevent right-shifting extents beyond EXT_MAX_BLOCKS
  goldfish: pipe: ANDROID: Allocate memory with GFP_KERNEL.
  goldfish: pipe: ANDROID: Do not crash
  goldfish: pipe: ANDROID: remove redundant casting
  goldfish: pipe: ANDROID: Add 'pipe' to pipe functions
  goldfish: pipe: ANDROID: fix whitespace
  goldfish: pipe: ANDROID: rename global variables
  goldfish: pipe: ANDROID: remove a redundant target
  goldfish: pipe: ANDROID: add blank lines
  goldfish: pipe: ANDROID: replace 'BUG_ON' with 'BUILD_BUG_ON'
  goldfish: pipe: ANDROID: use the 'BIT' macro for wakeup flags
  goldfish: pipe: ANDROID: fix logging format strings
  Linux 4.4.130
  s390/uprobes: implement arch_uretprobe_is_alive()
  s390/cio: update chpid descriptor after resource accessibility event
  cdrom: information leak in cdrom_ioctl_media_changed()
  scsi: mptsas: Disable WRITE SAME
  ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy
  net: af_packet: fix race in PACKET_{R|T}X_RING
  tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets
  net: fix deadlock while clearing neighbor proxy table
  tipc: add policy for TIPC_NLA_NET_ADDR
  llc: fix NULL pointer deref for SOCK_ZAPPED
  llc: hold llc_sap before release_sock()
  sctp: do not check port in sctp_inet6_cmp_addr
  vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi
  pppoe: check sockaddr length in pppoe_connect()
  packet: fix bitfield update race
  team: fix netconsole setup over team
  team: avoid adding twice the same option to the event list
  tcp: don't read out-of-bounds opsize
  llc: delete timers synchronously in llc_sk_free()
  net: validate attribute sizes in neigh_dump_table()
  l2tp: check sockaddr length in pppol2tp_connect()
  KEYS: DNS: limit the length of option strings
  bonding: do not set slave_dev npinfo before slave_enable_netpoll in bond_enslave
  s390: correct module section names for expoline code revert
  s390: correct nospec auto detection init order
  s390: add sysfs attributes for spectre
  s390: report spectre mitigation via syslog
  s390: add automatic detection of the spectre defense
  s390: move nobp parameter functions to nospec-branch.c
  s390/entry.S: fix spurious zeroing of r0
  s390: do not bypass BPENTER for interrupt system calls
  s390: Replace IS_ENABLED(EXPOLINE_*) with IS_ENABLED(CONFIG_EXPOLINE_*)
  s390: introduce execute-trampolines for branches
  s390: run user space and KVM guests with modified branch prediction
  s390: add options to change branch prediction behaviour for the kernel
  s390/alternative: use a copy of the facility bit mask
  s390: add optimized array_index_mask_nospec
  s390: scrub registers on kernel entry and KVM exit
  KVM: s390: wire up bpb feature
  s390: enable CPU alternatives unconditionally
  s390: introduce CPU alternatives
  Revert "ath10k: send (re)assoc peer command when NSS changed"
  jbd2: fix use after free in kjournald2()
  ath9k_hw: check if the chip failed to wake up
  Input: drv260x - fix initializing overdrive voltage
  r8152: add Linksys USB3GIGV1 id
  staging: ion : Donnot wakeup kswapd in ion system alloc
  perf: Return proper values for user stack errors
  x86/tsc: Prevent 32bit truncation in calc_hpet_ref()
  cifs: do not allow creating sockets except with SMB1 posix exensions
  UPSTREAM: tracing: always define trace_{irq,preempt}_{enable_disable}
  ANDROID: staging: ion: Obey kptr_restrict
  ANDROID: sdcardfs: Set s_root to NULL after putting
  ANDROID: sdcardfs: d_make_root calls iput
  ANDROID: sdcardfs: Check for private data earlier

Conflicts:
	drivers/staging/android/ion/ion.c
	drivers/staging/android/ion/ion_cma_heap.c
	drivers/staging/android/ion/ion_system_heap.c

Change-Id: I8155103b3787bb800f85291cc7378a8e29a8436f
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
2018-05-03 15:53:14 +05:30
Linux Build Service Account
9da06237e8 Merge "Merge android-4.4.129 (b1c4836) into msm-4.4" 2018-05-02 13:38:40 -07:00
Nicolin Chen
599c76c923 ASoC: fsl_esai: Fix divisor calculation failure at lower ratio
commit c656941df9bc80f7ec65b92ca73c42f8b0b62628 upstream.

When the desired ratio is less than 256, the savesub (tolerance)
in the calculation would become 0. This will then fail the loop-
search immediately without reporting any errors.

But if the ratio is smaller enough, there is no need to calculate
the tolerance because PM divisor alone is enough to get the ratio.

So a simple fix could be just to set PM directly instead of going
into the loop-search.

Reported-by: Marek Vasut <marex@denx.de>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Tested-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-02 07:53:42 -07:00
Linux Build Service Account
c38b834398 Merge "Merge android-4.4.128 (89904cc) into msm-4.4" 2018-05-02 04:54:37 -07:00
Linux Build Service Account
6934044c51 Merge "ASoC: msm: move tdm grp mgt to afe for anc support" 2018-05-01 17:00:37 -07:00
Vatsal Bucha
c97bf10fd2 ASoC: sdm660_cdc: Fix pop after PDR on SDM660 internal codec
Pop is heard after PDR is triggered. This is
resolved by disable PA before boost is discharged.

CRs-Fixed: 2186640
Change-Id: Ie48668725f5162251cf09215f9448a6965fac3e2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-05-01 19:32:19 +05:30
Linux Build Service Account
0af3c13aa0 Merge "ASoC: msm: Update channel mixer weight mixer control" 2018-05-01 06:26:32 -07:00
Ramu Gottipati
ad131d3ea9 ASoC: msm: qdsp6v2 : Add AFE port validation for MULTICHAN_HDMI_RX
validate port doesn't handle MULTICHAN_HDMI_RX
and causes failure to set afe params.
Included MULTICHAN_HDMI_RX in port validation

Change-Id: I3603ec2a3d392970cb48be1658b6030d3f4107f2
Signed-off-by: Ramu Gottipati <ramug@codeaurora.org>
2018-04-30 13:50:59 +05:30
Linux Build Service Account
8d9b6ddf04 Merge "ASoC: msm: update listen service dai to low latency pcm" 2018-04-29 21:09:49 -07:00
Derek Chen
3404b6eb56 ASoC: msm: qdsp6v2: enable DMA channel control
Enable AFE driver to request and release
LPASS DMA channel indices.

CRs-fixed: 2126719
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Change-Id: Ic40bbf9aa7170d2c91cef45ddca7a86ccd27c4b0
2018-04-27 13:54:38 -07:00