Commit graph

13416 commits

Author SHA1 Message Date
Varun Balaraj
f829f46128 ASoC: msm8998: Add MM front end DAI links for interactive streams
Add MM front end DAI links to support concurrent interactive
streams

Change-Id: I9cd95d855f2ddc3345453807e4be235c430b9ef3
Signed-off-by: Varun Balaraj <varunb@codeaurora.org>
2017-07-13 01:59:24 -07:00
Varun Balaraj
a48f734c3b ASoC: msm: Support mixer controls for Pan/scale & downmix
Add changes to register and receive parameters for pan/scale
and downmix operations.

Change-Id: If0e747304595f9ed3bd19b25e3f4eab2db382a67
Signed-off-by: Varun Balaraj <varunb@codeaurora.org>
2017-07-13 01:47:39 -07:00
Varun Balaraj
701ac49eb7 ASoC: q6dspv2: Support for pan-scale and downmix set param
Add support for set params on ASM/ADM for MFC and
Volume modules. Make PSPD mitrix set param api generic.

Change-Id: I75a5b9e3fd2316b75be41439848f89190944bc36
Signed-off-by: Varun Balaraj <varunb@codeaurora.org>
2017-07-13 01:47:22 -07:00
Linux Build Service Account
d03efe4d51 Merge "ASoC: wsa881x: Assign device number in reset" 2017-07-12 03:29:32 -07:00
Laxminath Kasam
ddb173d8ad ASoC: msm_sdw: Move the delay logic inside bulk write loop
On consecutive writes in bulk write API, ensure delay
is provided for atleast 100us between each soundwire
master write for WR_DONE status update and reflect
current register value. Also ensure delay in soundwire
master read is present after register address update
and before register value read.

CRs-Fixed: 2035787
Change-Id: I8399c5ca32328abdd4e90b46d6f8d6a6c0225905
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-07-11 03:47:57 -07:00
Karthikeyan Mani
93f219af2d ASoC: wsa881x: Assign device number in reset
Assign the logical device number in the
swr_reset function so that the dev_num of
the speaker device is assigned to the
correct one after a reset event.

CRs-fixed: 2039206
Change-Id: Ief3c65c3b36c93e7dcf775413e527e92d9ec7b0c
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-07-06 22:52:57 -07:00
Linux Build Service Account
eacfb14b93 Merge "ASoC: msm-cpe: Resolve memory out of bound access" 2017-07-04 10:05:30 -07:00
Linux Build Service Account
b14c620eb1 Merge "ASoC: sdm660_cdc: Prevent MICBIAS1 enable during headset record" 2017-07-04 01:21:03 -07:00
Linux Build Service Account
48b492e8e1 Merge "ASoC: wcd-mbhc: Disconnect ANC from RX chain during plug removal" 2017-07-04 01:21:02 -07:00
Linux Build Service Account
8775c10a30 Merge "ASoC: msm: qdsp6v2: add size check to fix out of bounds issue" 2017-07-04 01:21:01 -07:00
Linux Build Service Account
8661bf1cf3 Merge "ASoC: wcd9335: Add counter to maintain count of functions voting for max bw" 2017-07-04 01:21:00 -07:00
Revathi Uddaraju
35f63de1e1 ASoC: msm-cpe: Resolve memory out of bound access
Resolve memory out of bound access by correcting the
length of the buffer to be copied.

Change-Id: I2cc74a664399913acf67464a5f6827b100522676
Signed-off-by: Revathi Uddaraju <revathiu@codeaurora.org>
2017-06-30 04:15:08 -07:00
Vidyakumar Athota
8914f7b861 ASoC: msm: qdsp6v2: add size check to fix out of bounds issue
Before calling audio calibration ioctl functions, compare the
allocated buffer size to the size of the header and cal type header
to ensure the buffer is big enough.

Change-Id: I601bb37ddcc34d459c207cf579f29744fe912d7b
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2017-06-27 15:28:29 -07:00
Vatsal Bucha
3a94db7a1c ASoC: sdm660_cdc: Prevent MICBIAS1 enable during headset record
Add a switch to prevent default powering up of
AMIC1 thereby preventing MICBIAS1 from getting on
all the time while headset record.

CRs-Fixed: 2049029
Change-Id: Iab5771b62e454fac25df42c53c35b3ec67fec5c9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2017-06-27 12:25:10 +05:30
Vatsal Bucha
72856792e1 ASoC: wcd9335: Add counter to maintain count of functions voting for max bw
During voice calls slimbus underflow is observed.
This is because some functions vote without updating status mask.
Thus adding a reference counter in tasha which would keep
track of voting and unvoting instances and
unvote only when count is 0.

CRs-Fixed: 2047164
Change-Id: I50710a6dfde8bcdf750b90dc7f45e9632e8634fe
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2017-06-27 12:06:27 +05:30
Linux Build Service Account
c9b4dc7067 Merge "Merge branch 'android-4.4@e76c0fa' into branch 'msm-4.4'" 2017-06-22 23:41:14 -07:00
Linux Build Service Account
2277a4c12d Merge "ASoC: msm: qdsp6v2: Remove size checks when finding ADM cal" 2017-06-22 23:41:08 -07:00
Meng Wang
e0085c2429 ASoC: wcd-mbhc: Disconnect ANC from RX chain during plug removal
Disconnect ANC from RX when headphone plug is removed from the jack
to prevent any audible pop.

Change-Id: I7a3f6e876f8560580965762c7393c83833ef3b47
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2017-06-23 10:14:33 +08:00
Blagovest Kolenichev
e0a0b484bf Merge branch 'android-4.4@e76c0fa' into branch 'msm-4.4'
* refs/heads/tmp-e76c0fa
  Linux 4.4.72
  arm64: ensure extension of smp_store_release value
  arm64: armv8_deprecated: ensure extension of addr
  usercopy: Adjust tests to deal with SMAP/PAN
  RDMA/qib,hfi1: Fix MR reference count leak on write with immediate
  arm64: entry: improve data abort handling of tagged pointers
  arm64: hw_breakpoint: fix watchpoint matching for tagged pointers
  Make __xfs_xattr_put_listen preperly report errors.
  NFSv4: Don't perform cached access checks before we've OPENed the file
  NFS: Ensure we revalidate attributes before using execute_ok()
  mm: consider memblock reservations for deferred memory initialization sizing
  net: better skb->sender_cpu and skb->napi_id cohabitation
  serial: sh-sci: Fix panic when serial console and DMA are enabled
  tty: Drop krefs for interrupted tty lock
  drivers: char: mem: Fix wraparound check to allow mappings up to the end
  ASoC: Fix use-after-free at card unregistration
  ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT
  ALSA: timer: Fix race between read and ioctl
  drm/nouveau/tmr: fully separate alarm execution/pending lists
  drm/vmwgfx: Make sure backup_handle is always valid
  drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl()
  drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
  perf/core: Drop kernel samples even though :u is specified
  powerpc/hotplug-mem: Fix missing endian conversion of aa_index
  powerpc/numa: Fix percpu allocations to be NUMA aware
  powerpc/eeh: Avoid use after free in eeh_handle_special_event()
  scsi: qla2xxx: don't disable a not previously enabled PCI device
  KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages
  btrfs: fix memory leak in update_space_info failure path
  btrfs: use correct types for page indices in btrfs_page_exists_in_range
  cxl: Fix error path on bad ioctl
  ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
  ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments()
  ufs: set correct ->s_maxsize
  ufs: restore maintaining ->i_blocks
  fix ufs_isblockset()
  ufs: restore proper tail allocation
  fs: add i_blocksize()
  cpuset: consider dying css as offline
  Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled
  drm/msm: Expose our reservation object when exporting a dmabuf.
  target: Re-add check to reject control WRITEs with overflow data
  cpufreq: cpufreq_register_driver() should return -ENODEV if init fails
  stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms
  random: properly align get_random_int_hash
  drivers: char: random: add get_random_long()
  iio: proximity: as3935: fix AS3935_INT mask
  iio: light: ltr501 Fix interchanged als/ps register field
  staging/lustre/lov: remove set_fs() call from lov_getstripe()
  usb: chipidea: debug: check before accessing ci_role
  usb: chipidea: udc: fix NULL pointer dereference if udc_start failed
  usb: gadget: f_mass_storage: Serialize wake and sleep execution
  ext4: fix fdatasync(2) after extent manipulation operations
  ext4: keep existing extra fields when inode expands
  ext4: fix SEEK_HOLE
  xen-netfront: cast grant table reference first to type int
  xen-netfront: do not cast grant table reference to signed short
  xen/privcmd: Support correctly 64KB page granularity when mapping memory
  dmaengine: ep93xx: Always start from BASE0
  dmaengine: usb-dmac: Fix DMAOR AE bit definition
  KVM: async_pf: avoid async pf injection when in guest mode
  arm: KVM: Allow unaligned accesses at HYP
  KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation
  kvm: async_pf: fix rcu_irq_enter() with irqs enabled
  nfsd: Fix up the "supattr_exclcreat" attributes
  nfsd4: fix null dereference on replay
  drm/amdgpu/ci: disable mclk switching for high refresh rates (v2)
  crypto: gcm - wait for crypto op not signal safe
  KEYS: fix freeing uninitialized memory in key_update()
  KEYS: fix dereferencing NULL payload with nonzero length
  ptrace: Properly initialize ptracer_cred on fork
  serial: ifx6x60: fix use-after-free on module unload
  arch/sparc: support NR_CPUS = 4096
  sparc64: delete old wrap code
  sparc64: new context wrap
  sparc64: add per-cpu mm of secondary contexts
  sparc64: redefine first version
  sparc64: combine activate_mm and switch_mm
  sparc64: reset mm cpumask after wrap
  sparc: Machine description indices can vary
  sparc64: mm: fix copy_tsb to correctly copy huge page TSBs
  net: bridge: start hello timer only if device is up
  net: ethoc: enable NAPI before poll may be scheduled
  net: ping: do not abuse udp_poll()
  ipv6: Fix leak in ipv6_gso_segment().
  vxlan: fix use-after-free on deletion
  tcp: disallow cwnd undo when switching congestion control
  cxgb4: avoid enabling napi twice to the same queue
  ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt()
  bnx2x: Fix Multi-Cos
  ANDROID: uid_sys_stats: check previous uid_entry before call find_or_register_uid
  ANDROID: sdcardfs: d_splice_alias can return error values

Change-Id: I829ebf1a9271dcf0462c537e7bfcbcfde322f336
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-06-20 14:55:15 -07:00
Linux Build Service Account
6ec544aeed Merge "qdspv2: Add latency calculation support in pcm offload path" 2017-06-19 07:54:18 -07:00
Linux Build Service Account
c9ada11e43 Merge "ASoC: wsa881x: Fix GPIO leak issue" 2017-06-19 07:54:17 -07:00
Siddartha Shaik
04b7e499f8 ASoC: msm: Add Compressed app type in transcode loopback driver
Pick proper app type for compressed input data port in
transcode loopback driver to support compressed input in
DSP loopback.

CRs-Fixed: 2061759
Change-Id: Ib2f66b467456787e08265a0da2bd85bb881a5d61
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-06-18 21:55:39 -07:00
Siddartha Shaik
41144e80b6 ASoC: msm: Update mixer control for QUAT MI2S TX Format
DSP loopback uses QUAT MI2S TX as source interface
so mixer control is updated for QUAT MI2S TX Format
to support compressed and pcm input data formats.

CRs-Fixed: 2061759
Change-Id: I8c283de767f938ae8f4e1180a9dffc79a1da7ff0
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-06-18 21:55:25 -07:00
Linux Build Service Account
93b5220454 Merge "ASoC: msm: qdsp6v2: Clear HDMI channel allocation on shutdown" 2017-06-15 08:36:30 -07:00
Linux Build Service Account
dd704b7258 Merge "soundwire: Remove startup from swr_driver structure" 2017-06-15 08:36:26 -07:00
Takashi Iwai
9a9388953b ASoC: Fix use-after-free at card unregistration
commit 4efda5f2130da033aeedc5b3205569893b910de2 upstream.

soc_cleanup_card_resources() call snd_card_free() at the last of its
procedure.  This turned out to lead to a use-after-free.
PCM runtimes have been already removed via soc_remove_pcm_runtimes(),
while it's dereferenced later in soc_pcm_free() called via
snd_card_free().

The fix is simple: just move the snd_card_free() call to the beginning
of the whole procedure.  This also gives another benefit: it
guarantees that all operations have been shut down before actually
releasing the resources, which was racy until now.

Reported-and-tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:26 +02:00
Manish Dewangan
f5a7555de3 qdspv2: Add latency calculation support in pcm offload path
Update cold and continuous latency debug fs entries for offload
path to support latency calculation for pcm offload path.

CRs-Fixed: 2059729
Change-Id: Ic59c7b2fec76e682837c89926595fb3262d01aa8
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2017-06-13 22:22:09 -07:00
Rohit Kumar
4282bbbb81 ASoC: msm: qdspv6: Fix wrong smmu sid for ULL playback
SMMU sid is set to 0 in q6asm_set_shared_circ_buff and
q6asm_set_shared_pos_buff in 32 bit arch. Fix it to
send proper SID to ADSP when sharing buffer.

Change-Id: I00cc0f881acd7a4a52292e65360ea7b03f2f0212
Signed-off-by: Rohit Kumar <rohitkr@codeaurora.org>
2017-06-12 23:02:49 -07:00
Linux Build Service Account
60ad3ce1b9 Merge "ASoC: sdm660_cdc: Update micbias regulator to power saving on use basis" 2017-06-12 10:41:32 -07:00
Linux Build Service Account
ea7491238f Merge "ASoc: msm: add support for mixing data from different COPPs" 2017-06-09 11:23:08 -07:00
Karthikeyan Mani
c848d4ca45 ASoC: wsa881x: Fix GPIO leak issue
In case of any probe/logical address error,
set the pinctrl of wsa881x to the state that
it was before the probe entered. Otherwise
set it to active state.

CRs-fixed: 2050725
Change-Id: I5022885f36111caeac1d25017db8a474e26ca521
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-06-07 00:29:40 -07:00
Karthikeyan Mani
db56317667 soundwire: Move device init functionality from master
Move from master probe to the slave probe, the
device init functionality of swr slave. Provide
device remove functionality to remove a given
device from the master's list.

CRs-fixed: 2050710
Change-Id: Iee95c146d8b148e15dca5a8c10de65368cf3b55a
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-06-07 00:15:42 -07:00
Linux Build Service Account
952a3f35ab Merge "ASoC: msm8998: fix clock refcount for MI2S/AUXPCM shutdown" 2017-06-06 13:21:54 -07:00
Linux Build Service Account
f7346af205 Merge "ASoC: msm: return the latest app type cfg data set when get is called" 2017-06-06 13:21:53 -07:00
Linux Build Service Account
9a3e66cffb Merge "Revert "ASoC: wcd9335: enable APC in Tx path"" 2017-06-06 13:21:51 -07:00
Meng Wang
b1b77c6c11 ASoc: msm: add support for mixing data from different COPPs
Different COPPs can be mixed into one POPP when recording
data. Use ADM_CMD_SET_PSPD_MTMX_STRTR_PARAMS_V5 cmd to support
this requirement.

Change-Id: If079b586fafe84f7dec7732c7037af2f59f063c7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2017-06-05 00:35:49 -07:00
Linux Build Service Account
62a1288929 Merge "ASoC: sdm660_cdc: Add writeable registers for Dig_cdc and sdw codec regmap" 2017-06-01 01:53:18 -07:00
Linux Build Service Account
6d91eba63e Merge "ASoC: msm: Enable use of noirq playback and capture" 2017-06-01 01:53:16 -07:00
Linux Build Service Account
36d10a3882 Merge "ASoC: audio_notifier : Change logic for initial boot" 2017-06-01 01:53:14 -07:00
Linux Build Service Account
4383ba69ae Merge "ASoC: wcd934x: Add support to restore IIR coefficients after power collapse" 2017-06-01 01:53:13 -07:00
Linux Build Service Account
9037b7483c Merge "ASoC: msm: add support for RTIC events" 2017-06-01 01:53:05 -07:00
Linux Build Service Account
28192a79e3 Merge "ASoC: msm: Add support for 192KHz sampling rate" 2017-06-01 01:53:04 -07:00
Siddartha Shaik
452836f4d3 ASoC: msm: Add support for 192KHz sampling rate
Add upto 192KHz support for Multimedia18 FE DAI. This FE DAI
is to support DSP loopback upto 192KHZ.

CRs-Fixed: 2049714
Change-Id: I7197744a02b0bd23e40eebe23b0220a5dd22ac47
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-05-30 09:20:11 -07:00
Siddartha Shaik
181100aedd ASoC: msm8998: Add dai entries to support loopback
Add required playback and capture DAIs to support
transcode loopback.

CRs-Fixed: 2049714
Change-Id: I1494f1895485ecb8691b8e3fa2cf38e1c1a2d400
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-05-30 09:19:20 -07:00
Vidyakumar Athota
efcf296cf9 ASoC: msm: add support for RTIC events
For secure dolby playback runtime integrity check(RTIC) is
performed in DSP. Add support to handle this rtic events for
secure playback.

Change-Id: If7a64267e2177e179e6c90296bddcde3b06c75ff
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2017-05-30 09:16:24 -07:00
Siddartha Shaik
c340bec5c7 ASoC: msm: Add transcode loopback driver
Add DSP transcode loopback. Userspace can use this driver
to support TX to RX audio HW DSP loopback.

CRs-Fixed: 2049714
Change-Id: Ie83f5ca2c626c8fffbec4624f3e35c6c179d4c8c
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-05-30 17:59:31 +05:30
Linux Build Service Account
539f0433bb Merge "Asoc: msm: sdm660: Move mbhc_hs_detect to late_probe" 2017-05-29 01:01:33 -07:00
Banajit Goswami
90a6f34159 ASoC: msm8998: fix clock refcount for MI2S/AUXPCM shutdown
For MI2S and AUXPCM shutdown, if clock disable is failed,
do not bother to re-increment clock reference. Otherwise,
next time when startup is called, clock enable will not
be called again, so use case will not work.

Change-Id: I5ce4590d2a2030f9d00f1dba9577396f7685a87b
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2017-05-26 16:49:06 -07:00
Ben Romberger
df14423aaa ASoC: msm: qdsp6v2: Remove size checks when finding ADM cal
Remove size checking when looking for ADM calibration.
If no calibration is active for that device a size of
0 is sent. If size is checked while finding calibration
while multiple devices on the same path are active a
device where no calibration is expected will improperly
pull calibration for a different device.

Change-Id: Idfc68e879a615873c8b23d3ec4ddf8dc1dfc777c
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-05-26 10:22:57 -07:00
Linux Build Service Account
33a94f46e5 Merge "ASoC: APR: Fix missing APR deregister from asm" 2017-05-26 06:31:12 -07:00