Commit graph

25326 commits

Author SHA1 Message Date
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
Rohit Kumar
21472bb158 ASoC: wcd9335: Reset power_active_ref to 0 when it is negative
Reset power_active_ref counter to 0 when it is negative to
take digital core out of reset during next session.

CRs-Fixed: 2054140
Change-Id: I4ca4c465e7d15f8a0ccd0546db7b0cc5c6ea701e
Signed-off-by: Rohit Kumar <rohitkr@codeaurora.org>
2017-07-03 23:01:49 -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
Ben Romberger
88fad2e0e1 ASoC: msm: qdsp6v2: Add matrix limiter support
Add matrix limiter to ADM. Limiter is used to
prevent saturation when mixing multiple audio
streams. It should be applied after ADM open
but before ADM matrix map.

Change-Id: I6787fe869e8ceee13694245b744ecd74c3a49682
CRs-Fixed: 2064258
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-06-29 14:53:48 -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
2e04fffa4a Merge "sound: usb: Add quirk to issue SET_CUR volume on 2nd channel" 2017-06-23 05:56:56 -07:00
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
Ajay Agarwal
04282fcc79 sound: usb: Add quirk to issue SET_CUR volume on 2nd channel
Some audio devices with two channels require the host
to issue SET_CUR command on the Volume control on
both the channels in order to function (playback or
record). Currently, the Linux Host driver issues SET_CUR
only for the 1st channel. Hence, add the quirk for
concerned devices for SET_CUR on 2nd channel.

Change-Id: I6f0bbcdfd3a8b3ccb33a1d56c252c701849a442f
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
2017-06-23 10:45:22 +05:30
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
Linux Build Service Account
4dcf7a50c5 Merge "Merge branch 'android-4.4@6fc0573' into branch 'msm-4.4'" 2017-06-22 07:40:22 -07: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
Blagovest Kolenichev
c5f247dd6d Merge branch 'android-4.4@6fc0573' into branch 'msm-4.4'
* refs/heads/tmp-6fc0573:
  Linux 4.4.71
  xfs: only return -errno or success from attr ->put_listent
  xfs: in _attrlist_by_handle, copy the cursor back to userspace
  xfs: fix unaligned access in xfs_btree_visit_blocks
  xfs: bad assertion for delalloc an extent that start at i_size
  xfs: fix indlen accounting error on partial delalloc conversion
  xfs: wait on new inodes during quotaoff dquot release
  xfs: update ag iterator to support wait on new inodes
  xfs: support ability to wait on new inodes
  xfs: fix up quotacheck buffer list error handling
  xfs: prevent multi-fsb dir readahead from reading random blocks
  xfs: handle array index overrun in xfs_dir2_leaf_readbuf()
  xfs: fix over-copying of getbmap parameters from userspace
  xfs: fix off-by-one on max nr_pages in xfs_find_get_desired_pgoff()
  xfs: Fix missed holes in SEEK_HOLE implementation
  mlock: fix mlock count can not decrease in race condition
  mm/migrate: fix refcount handling when !hugepage_migration_supported()
  drm/gma500/psb: Actually use VBT mode when it is found
  slub/memcg: cure the brainless abuse of sysfs attributes
  ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430
  pcmcia: remove left-over %Z format
  drm/radeon: Unbreak HPD handling for r600+
  drm/radeon/ci: disable mclk switching for high refresh rates (v2)
  scsi: mpt3sas: Force request partial completion alignment
  HID: wacom: Have wacom_tpc_irq guard against possible NULL dereference
  mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read
  i2c: i2c-tiny-usb: fix buffer not being DMA capable
  vlan: Fix tcp checksum offloads in Q-in-Q vlans
  net: phy: marvell: Limit errata to 88m1101
  netem: fix skb_orphan_partial()
  ipv4: add reference counting to metrics
  sctp: fix ICMP processing if skb is non-linear
  tcp: avoid fastopen API to be used on AF_UNSPEC
  virtio-net: enable TSO/checksum offloads for Q-in-Q vlans
  be2net: Fix offload features for Q-in-Q packets
  ipv6: fix out of bound writes in __ip6_append_data()
  bridge: start hello_timer when enabling KERNEL_STP in br_stp_start
  qmi_wwan: add another Lenovo EM74xx device ID
  bridge: netlink: check vlan_default_pvid range
  ipv6: Check ip6_find_1stfragopt() return value properly.
  ipv6: Prevent overrun when parsing v6 header options
  net: Improve handling of failures on link and route dumps
  tcp: eliminate negative reordering in tcp_clean_rtx_queue
  sctp: do not inherit ipv6_{mc|ac|fl}_list from parent
  sctp: fix src address selection if using secondary addresses for ipv6
  tcp: avoid fragmenting peculiar skbs in SACK
  s390/qeth: avoid null pointer dereference on OSN
  s390/qeth: unbreak OSM and OSN support
  s390/qeth: handle sysfs error during initialization
  ipv6/dccp: do not inherit ipv6_mc_list from parent
  dccp/tcp: do not inherit mc_list from parent
  sparc: Fix -Wstringop-overflow warning
  android: base-cfg: disable CONFIG_NFS_FS and CONFIG_NFSD
  schedstats/eas: guard properly to avoid breaking non-smp schedstats users
  BACKPORT: f2fs: sanity check size of nat and sit cache
  FROMLIST: f2fs: sanity check checkpoint segno and blkoff
  sched/tune: don't use schedtune before it is ready
  sched/fair: use SCHED_CAPACITY_SCALE for energy normalization
  sched/{fair,tune}: use reciprocal_value to compute boost margin
  sched/tune: Initialize raw_spin_lock in boosted_groups
  sched/tune: report when SchedTune has not been initialized
  sched/tune: fix sched_energy_diff tracepoint
  sched/tune: increase group count to 5
  cpufreq/schedutil: use boosted_cpu_util for PELT to match WALT
  sched/fair: Fix sched_group_energy() to support per-cpu capacity states
  sched/fair: discount task contribution to find CPU with lowest utilization
  sched/fair: ensure utilization signals are synchronized before use
  sched/fair: remove task util from own cpu when placing waking task
  trace:sched: Make util_avg in load_avg trace reflect PELT/WALT as used
  sched/fair: Add eas (& cas) specific rq, sd and task stats
  sched/core: Fix PELT jump to max OPP upon util increase
  sched: EAS & 'single cpu per cluster'/cpu hotplug interoperability
  UPSTREAM: sched/core: Fix group_entity's share update
  UPSTREAM: sched/fair: Fix calc_cfs_shares() fixed point arithmetics width confusion
  UPSTREAM: sched/fair: Fix incorrect task group ->load_avg
  UPSTREAM: sched/fair: Fix effective_load() to consistently use smoothed load
  UPSTREAM: sched/fair: Propagate asynchrous detach
  UPSTREAM: sched/fair: Propagate load during synchronous attach/detach
  UPSTREAM: sched/fair: Fix hierarchical order in rq->leaf_cfs_rq_list
  BACKPORT: sched/fair: Factorize PELT update
  UPSTREAM: sched/fair: Factorize attach/detach entity
  UPSTREAM: sched/fair: Improve PELT stuff some more
  UPSTREAM: sched/fair: Apply more PELT fixes
  UPSTREAM: sched/fair: Fix post_init_entity_util_avg() serialization
  BACKPORT: sched/fair: Initiate a new task's util avg to a bounded value
  sched/fair: Simplify idle_idx handling in select_idle_sibling()
  sched/fair: refactor find_best_target() for simplicity
  sched/fair: Change cpu iteration order in find_best_target()
  sched/core: Add first cpu w/ max/min orig capacity to root domain
  sched/core: Remove remnants of commit fd5c98da1a42
  sched: Remove sysctl_sched_is_big_little
  sched/fair: Code !is_big_little path into select_energy_cpu_brute()
  EAS: sched/fair: Re-integrate 'honor sync wakeups' into wakeup path
  Fixup!: sched/fair.c: Set SchedTune specific struct energy_env.task
  sched/fair: Energy-aware wake-up task placement
  sched/fair: Add energy_diff dead-zone margin
  sched/fair: Decommission energy_aware_wake_cpu()
  sched/fair: Do not force want_affine eq. true if EAS is enabled
  arm64: Set SD_ASYM_CPUCAPACITY sched_domain flag on DIE level
  UPSTREAM: sched/fair: Fix incorrect comment for capacity_margin
  UPSTREAM: sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups
  UPSTREAM: sched/fair: Add per-CPU min capacity to sched_group_capacity
  UPSTREAM: sched/fair: Consider spare capacity in find_idlest_group()
  UPSTREAM: sched/fair: Compute task/cpu utilization at wake-up correctly
  UPSTREAM: sched/fair: Let asymmetric CPU configurations balance at wake-up
  UPSTREAM: sched/core: Enable SD_BALANCE_WAKE for asymmetric capacity systems
  UPSTREAM: sched/core: Pass child domain into sd_init()
  UPSTREAM: sched/core: Introduce SD_ASYM_CPUCAPACITY sched_domain topology flag
  UPSTREAM: sched/core: Remove unnecessary NULL-pointer check
  UPSTREAM: sched/fair: Optimize find_idlest_cpu() when there is no choice
  BACKPORT: sched/fair: Make the use of prev_cpu consistent in the wakeup path
  UPSTREAM: sched/core: Fix power to capacity renaming in comment
  Partial Revert: "WIP: sched: Add cpu capacity awareness to wakeup balancing"
  Revert "WIP: sched: Consider spare cpu capacity at task wake-up"
  FROM-LIST: cpufreq: schedutil: Redefine the rate_limit_us tunable
  cpufreq: schedutil: add up/down frequency transition rate limits
  trace/sched: add rq utilization signal for WALT
  sched/cpufreq: make schedutil use WALT signal
  sched: cpufreq: use rt_avg as estimate of required RT CPU capacity
  cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task
  BACKPORT: kthread: allow to cancel kthread work
  sched/cpufreq: fix tunables for schedfreq governor
  BACKPORT: cpufreq: schedutil: New governor based on scheduler utilization data
  sched: backport cpufreq hooks from 4.9-rc4
  ANDROID: Kconfig: add depends for UID_SYS_STATS
  ANDROID: hid: uhid: implement refcount for open and close
  Revert "ext4: require encryption feature for EXT4_IOC_SET_ENCRYPTION_POLICY"
  ANDROID: mnt: Fix next_descendent

Conflicts:
	include/trace/events/sched.h
	kernel/sched/Makefile
	kernel/sched/core.c
	kernel/sched/fair.c
	kernel/sched/sched.h

Change-Id: I55318828f2c858e192ac7015bcf2bf0ec5c5b2c5
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-06-19 16:59:55 -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
Takashi Iwai
54d12fbf54 ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT
commit ba3021b2c79b2fa9114f92790a99deb27a65b728 upstream.

snd_timer_user_tselect() reallocates the queue buffer dynamically, but
it forgot to reset its indices.  Since the read may happen
concurrently with ioctl and snd_timer_user_tselect() allocates the
buffer via kmalloc(), this may lead to the leak of uninitialized
kernel-space data, as spotted via KMSAN:

  BUG: KMSAN: use of unitialized memory in snd_timer_user_read+0x6c4/0xa10
  CPU: 0 PID: 1037 Comm: probe Not tainted 4.11.0-rc5+ #2739
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
  Call Trace:
   __dump_stack lib/dump_stack.c:16
   dump_stack+0x143/0x1b0 lib/dump_stack.c:52
   kmsan_report+0x12a/0x180 mm/kmsan/kmsan.c:1007
   kmsan_check_memory+0xc2/0x140 mm/kmsan/kmsan.c:1086
   copy_to_user ./arch/x86/include/asm/uaccess.h:725
   snd_timer_user_read+0x6c4/0xa10 sound/core/timer.c:2004
   do_loop_readv_writev fs/read_write.c:716
   __do_readv_writev+0x94c/0x1380 fs/read_write.c:864
   do_readv_writev fs/read_write.c:894
   vfs_readv fs/read_write.c:908
   do_readv+0x52a/0x5d0 fs/read_write.c:934
   SYSC_readv+0xb6/0xd0 fs/read_write.c:1021
   SyS_readv+0x87/0xb0 fs/read_write.c:1018

This patch adds the missing reset of queue indices.  Together with the
previous fix for the ioctl/read race, we cover the whole problem.

Reported-by: Alexander Potapenko <glider@google.com>
Tested-by: Alexander Potapenko <glider@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:26 +02:00
Takashi Iwai
f5bc918760 ALSA: timer: Fix race between read and ioctl
commit d11662f4f798b50d8c8743f433842c3e40fe3378 upstream.

The read from ALSA timer device, the function snd_timer_user_tread(),
may access to an uninitialized struct snd_timer_user fields when the
read is concurrently performed while the ioctl like
snd_timer_user_tselect() is invoked.  We have already fixed the races
among ioctls via a mutex, but we seem to have forgotten the race
between read vs ioctl.

This patch simply applies (more exactly extends the already applied
range of) tu->ioctl_lock in snd_timer_user_tread() for closing the
race window.

Reported-by: Alexander Potapenko <glider@google.com>
Tested-by: Alexander Potapenko <glider@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
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
Alexander Tsoy
023a8b0925 ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430
commit 1fc2e41f7af4572b07190f9dec28396b418e9a36 upstream.

This model is actually called 92XXM2-8 in Windows driver. But since pin
configs for M22 and M28 are identical, just reuse M22 quirk.

Fixes external microphone (tested) and probably docking station ports
(not tested).

Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-07 12:06:01 +02: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
Linux Build Service Account
38814e7f31 Merge "ASoC: msm: qdsp6v2: Add 144k sample rate to compress driver" 2017-05-26 06:31:11 -07:00