Commit graph

25069 commits

Author SHA1 Message Date
Linux Build Service Account
cf1869044b Merge "SoC: msm: audio-effects: return directly to avoid integer overflow" 2017-08-03 10:07:56 -07:00
Linux Build Service Account
c1b3ec77ab Merge "ASoC: msm: qdsp6v2: Open unique COPP port for concurrent ULL streams" 2017-07-31 23:44:04 -07:00
Haynes Mathew George
aa5d0fc240 ASoC: msm: qdsp6v2: Open unique COPP port for concurrent ULL streams
Routing driver reuses the same adm for streams with the same
app_type, sample_rate etc. This isn't allowed for ULL streams
as per the DSP interface. We need to open a separate COPP
port for concurrent ULL streams

CRs-Fixed: 2083105
Change-Id: I569b32830145d6dae99449d0bc4148b2f60b101d
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
Acked-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2017-07-31 18:31:56 -07:00
Linux Build Service Account
f83816101f Merge "ASoC: msm: qdsp6v2: Reserve MultiMedia16 for NOIRQ" 2017-07-31 16:19:16 -07:00
Siddartha Shaik
e2e5a2e122 ASoC: msm8998: Update DAI IDs for DSP HW Transcode loopback
Replace Multimedia14 and Multimedia18 with Multimedia26
and Multimedia27 respectively for transcode loopback

CRs-Fixed: 2077700
Change-Id: I40e6666882859a5699e86856a0b8769eb295f748
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-07-28 00:18:35 -07:00
Siddartha Shaik
e788a3c6f5 ASoC: msm: Add new FE Dais for DSP HW transcode loopback
Add new frontend DAIs MultiMedia26 and MultiMedia27
for DSP HW transcode loopback.

CRs-Fixed: 2077700
Change-Id: Iedbd7da5e83a556749d9dc03cf39b0f942d634fa
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-07-28 00:18:07 -07:00
Weiyin Jiang
0665a04d95 SoC: msm: audio-effects: return directly to avoid integer overflow
Return error code directly to avoid further integer overflow leading
to buffer overflow.

Change-Id: I8b74efda227726494724f4387c45b5b6fa04637b
CRs-Fixed: 2077909
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
2017-07-27 23:30:44 -07:00
Linux Build Service Account
ba7b97eed0 Merge "ASoC: msm: mixer control queue handling in sink stream" 2017-07-25 00:35:46 -07:00
Siddartha Shaik
e29ec858f7 ASoC: msm: mixer control queue handling in sink stream
Move mixer control queue handling to be part of
playback stream in DSP transcode loopback driver.

CRs-Fixed: 2076617
Change-Id: Ia8067237f80d509f969cf454f5afa08aaa6b0e52
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-07-22 11:39:34 -07:00
Derek Chen
c429531427 ASoC: msm: Add FE dai for MultiMedia21 for ASM Loopback
Adding ASM Loopback FE Dai, MultiMedia21, for HFP call
downlink.

CRs-fixed: 2069348
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Change-Id: I38f0c1ea71568eff2ba789cbe2d41b950c77f232
2017-07-20 14:11:18 -07:00
Derek Chen
778f131a01 ASoC: msm: qdsp6v2: Add MultiMedia21 capture and routing
Add MultiMedia21 capture and routing support for ASM
loopback from AUX PCM TX to QUAT TDM RX.

CRs-fixed: 2069348
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Change-Id: I632392d98092ff31fa9bdb13c02eef8c2a0a54a3
2017-07-20 14:08:05 -07:00
Haynes Mathew George
7357058c09 ASoC: msm: qdsp6v2: Reserve MultiMedia16 for NOIRQ
Reserve MultiMedia16 for second instance of NOIRQ

CRs-Fixed: 2071838
Change-Id: I6a75d9a5e85585f65262ce486c992402ac58bf5f
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
2017-07-20 12:42:13 -07:00
Linux Build Service Account
8ac7aa1695 Merge "ASoc: msm: qdspv2: Fix latency calculation in pcm offload path" 2017-07-20 02:56:45 -07:00
Linux Build Service Account
68284fc997 Merge "ASoC: msm8998: modify quat mi2s clock id in slave mode" 2017-07-20 02:56:44 -07:00
Manish Dewangan
ac162df12c ASoc: msm: qdspv2: Fix latency calculation in pcm offload path
Continuous latency for pcm offload is incorrect as buffer offset
is not getting considered while pattern matching.

Fix this by considering buffer offset while calculating
continuous latency.

CRs-Fixed: 2059729
Change-Id: I943da364f99a4152119d34a98b343e6e1cbad5b8
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2017-07-16 23:19:03 -07:00
Linux Build Service Account
0ea2b1fc15 Merge "ASoC: msm: Add hwdep node for NOIRQ FE" 2017-07-16 21:04:58 -07:00
Linux Build Service Account
6a8c2e8775 Merge "ASoC: msm: qdsp6v2: Set path type to LIVE_REC in LISTEN passthrough case" 2017-07-16 21:04:57 -07:00
Linux Build Service Account
ca718c036b Merge "ASoC: mbhc: Fix audio mute for special headset" 2017-07-16 21:04:57 -07:00
Linux Build Service Account
40bc47487b Merge "ASoC: wcd9335: Reset power_active_ref to 0 when it is negative" 2017-07-16 21:04:56 -07:00
Linux Build Service Account
a2c6e77e46 Merge "ASoC: msm: qdsp6v2: Add matrix limiter support" 2017-07-16 21:04:55 -07:00
Linux Build Service Account
4687d5a757 Merge "ASoc: msm8998: Add multichannel support for SLIM_0_RX" 2017-07-16 21:04:54 -07:00
Linux Build Service Account
a09e027f86 Merge "ASoc: msm: Support TDM dai clk attribute and freq configuration" 2017-07-14 17:59:57 -07:00
Linux Build Service Account
e673df7b72 Merge "ASoc: msm: Support PRI_TDM_TX routing to QUAT_TDM_RX port mixer." 2017-07-14 17:59:56 -07:00
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
7438a89b3c Merge "Merge android-4.4@64a73ff (v4.4.76) into msm-4.4" 2017-07-12 03:29:33 -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
Revathi Uddaraju
aea1705077 ASoC: msm: qdsp6v2: Set path type to LIVE_REC in LISTEN passthrough case
ADSP SVA needs LIVE_REC path type for LISTEN pass through mode
for successful loading of SVA App.
Hence set path type to LIVE_REC in LISTEN pass through case.

Change-Id: I4404f2a64f0add62782beab3a5d8d63615d8ac01
Signed-off-by: Revathi Uddaraju <revathiu@codeaurora.org>
2017-07-10 04:03:50 -07:00
Blagovest Kolenichev
4c8daae4af Merge android-4.4@64a73ff (v4.4.76) into msm-4.4
* refs/heads/tmp-64a73ff:
  Linux 4.4.76
  KVM: nVMX: Fix exception injection
  KVM: x86: zero base3 of unusable segments
  KVM: x86/vPMU: fix undefined shift in intel_pmu_refresh()
  KVM: x86: fix emulation of RSM and IRET instructions
  cpufreq: s3c2416: double free on driver init error path
  iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid()
  iommu: Handle default domain attach failure
  iommu/vt-d: Don't over-free page table directories
  ocfs2: o2hb: revert hb threshold to keep compatible
  x86/mm: Fix flush_tlb_page() on Xen
  x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space
  ARM: 8685/1: ensure memblock-limit is pmd-aligned
  ARM64/ACPI: Fix BAD_MADT_GICC_ENTRY() macro implementation
  sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting
  watchdog: bcm281xx: Fix use of uninitialized spinlock.
  xfrm: Oops on error in pfkey_msg2xfrm_state()
  xfrm: NULL dereference on allocation failure
  xfrm: fix stack access out of bounds with CONFIG_XFRM_SUB_POLICY
  jump label: fix passing kbuild_cflags when checking for asm goto support
  ravb: Fix use-after-free on `ifconfig eth0 down`
  sctp: check af before verify address in sctp_addr_id2transport
  net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV
  perf probe: Fix to show correct locations for events on modules
  be2net: fix status check in be_cmd_pmac_add()
  s390/ctl_reg: make __ctl_load a full memory barrier
  swiotlb: ensure that page-sized mappings are page-aligned
  coredump: Ensure proper size of sparse core files
  x86/mpx: Use compatible types in comparison to fix sparse error
  mac80211: initialize SMPS field in HT capabilities
  spi: davinci: use dma_mapping_error()
  scsi: lpfc: avoid double free of resource identifiers
  HID: i2c-hid: Add sleep between POWER ON and RESET
  kernel/panic.c: add missing \n
  ibmveth: Add a proper check for the availability of the checksum features
  vxlan: do not age static remote mac entries
  virtio_net: fix PAGE_SIZE > 64k
  vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null
  drm/amdgpu: check ring being ready before using
  net: dsa: Check return value of phy_connect_direct()
  amd-xgbe: Check xgbe_init() return code
  platform/x86: ideapad-laptop: handle ACPI event 1
  scsi: virtio_scsi: Reject commands when virtqueue is broken
  xen-netfront: Fix Rx stall during network stress and OOM
  swiotlb-xen: update dev_addr after swapping pages
  virtio_console: fix a crash in config_work_handler
  Btrfs: fix truncate down when no_holes feature is enabled
  gianfar: Do not reuse pages from emergency reserve
  powerpc/eeh: Enable IO path on permanent error
  net: bgmac: Remove superflous netif_carrier_on()
  net: bgmac: Start transmit queue in bgmac_open
  net: bgmac: Fix SOF bit checking
  bgmac: Fix reversed test of build_skb() return value.
  mtd: bcm47xxpart: don't fail because of bit-flips
  bgmac: fix a missing check for build_skb
  mtd: bcm47xxpart: limit scanned flash area on BCM47XX (MIPS) only
  MIPS: ralink: fix MT7628 wled_an pinmux gpio
  MIPS: ralink: fix MT7628 pinmux typos
  MIPS: ralink: Fix invalid assignment of SoC type
  MIPS: ralink: fix USB frequency scaling
  MIPS: ralink: MT7688 pinmux fixes
  net: korina: Fix NAPI versus resources freeing
  MIPS: ath79: fix regression in PCI window initialization
  net: mvneta: Fix for_each_present_cpu usage
  ARM: dts: BCM5301X: Correct GIC_PPI interrupt flags
  qla2xxx: Fix erroneous invalid handle message
  scsi: lpfc: Set elsiocb contexts to NULL after freeing it
  scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type
  KVM: x86: fix fixing of hypercalls
  mm: numa: avoid waiting on freed migrated pages
  block: fix module reference leak on put_disk() call for cgroups throttle
  sysctl: enable strict writes
  usb: gadget: f_fs: Fix possibe deadlock
  drm/vmwgfx: Free hash table allocated by cmdbuf managed res mgr
  ALSA: hda - set input_path bitmap to zero after moving it to new place
  ALSA: hda - Fix endless loop of codec configure
  MIPS: Fix IRQ tracing & lockdep when rescheduling
  MIPS: pm-cps: Drop manual cache-line alignment of ready_count
  MIPS: Avoid accidental raw backtrace
  mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff()
  drm/ast: Handle configuration without P2A bridge
  NFSv4: fix a reference leak caused WARNING messages
  netfilter: synproxy: fix conntrackd interaction
  netfilter: xt_TCPMSS: add more sanity tests on tcph->doff
  rtnetlink: add IFLA_GROUP to ifla_policy
  ipv6: Do not leak throw route references
  sfc: provide dummy definitions of vswitch functions
  net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev
  decnet: always not take dst->__refcnt when inserting dst into hash table
  net/mlx5: Wait for FW readiness before initializing command interface
  ipv6: fix calling in6_ifa_hold incorrectly for dad work
  igmp: add a missing spin_lock_init()
  igmp: acquire pmc lock for ip_mc_clear_src()
  net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx
  Fix an intermittent pr_emerg warning about lo becoming free.
  af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers
  net: Zero ifla_vf_info in rtnl_fill_vfinfo()
  decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb
  net: don't call strlen on non-terminated string in dev_set_alias()
  ipv6: release dst on error in ip6_dst_lookup_tail
  UPSTREAM: selinux: enable genfscon labeling for tracefs

Change-Id: I05ae1d6271769a99ea3817e5066f5ab6511f3254
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-07-10 03:00:34 -07:00
Cong Tang
15903eb66a ASoc: msm: Support TDM dai clk attribute and freq configuration
TDM dai driver support optional clk attribute configuration from device
tree. To configure TDM interface as PCM mode, the clk attribute
should be couple no.
Implement set_sysclk callback to update TDM interface clk freq.

CRs-Fixed: 2054358
Change-Id: I41edaa8d99325e9582e04ddb81a6ad5b5e4435bc
Signed-off-by: Cong Tang <congt@codeaurora.org>
2017-07-06 23:00:32 -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
Cong Tang
ea135cb129 ASoc: msm: Support PRI_TDM_TX routing to QUAT_TDM_RX port mixer.
Support PRI_TDM_TX routing to QUAT_TDM_RX port mixer for HFP downlink
usecase.

Change-Id: I18babd519c2a623898f4d3913e9e7b900e86c22c
CRs-Fixed: 2054358
Signed-off-by: Cong Tang <congt@codeaurora.org>
2017-07-06 21:33:19 -07:00
Haynes Mathew George
a1170b1aec ASoC: msm: Add hwdep node for NOIRQ FE
ALSA lacks support to accept shared memory supplied
from userspace. But some usecases need to get a shareable
file descriptor for the dma buffer. As an alternate
to adding custom ioctls to the ALSA framework, use
a hwdep node to get a file descriptor to the underlying dma buffer.
Maintain compat mode as well.

CRs-Fixed: 2041151
Change-Id: Id783bb84e8ef59b28e42d982903971625577b9a3
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
2017-07-06 15:23:56 -07:00
Hui Wang
c70e2006d0 ALSA: hda - set input_path bitmap to zero after moving it to new place
commit a8f20fd25bdce81a8e41767c39f456d346b63427 upstream.

Recently we met a problem, the codec has valid adcs and input pins,
and they can form valid input paths, but the driver does not build
valid controls for them like "Mic boost", "Capture Volume" and
"Capture Switch".

Through debugging, I found the driver needs to shrink the invalid
adcs and input paths for this machine, so it will move the whole
column bitmap value to the previous column, after moving it, the
driver forgets to set the original column bitmap value to zero, as a
result, the driver will invalidate the path whose index value is the
original colume bitmap value. After executing this function, all
valid input paths are invalidated by a mistake, there are no any
valid input paths, so the driver won't build controls for them.

Fixes: 3a65bcdc57 ("ALSA: hda - Fix inconsistent input_paths after ADC reduction")
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-05 14:37:15 +02:00
Takashi Iwai
11327be357 ALSA: hda - Fix endless loop of codec configure
commit d94815f917da770d42c377786dc428f542e38f71 upstream.

azx_codec_configure() loops over the codecs found on the given
controller via a linked list.  The code used to work in the past, but
in the current version, this may lead to an endless loop when a codec
binding returns an error.

The culprit is that the snd_hda_codec_configure() unregisters the
device upon error, and this eventually deletes the given codec object
from the bus.  Since the list is initialized via list_del_init(), the
next object points to the same device itself.  This behavior change
was introduced at splitting the HD-audio code code, and forgotten to
adapt it here.

For fixing this bug, just use a *_safe() version of list iteration.

Fixes: d068ebc25e ("ALSA: hda - Move some codes up to hdac_bus struct")
Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-05 14:37:15 +02:00
Linux Build Service Account
eacfb14b93 Merge "ASoC: msm-cpe: Resolve memory out of bound access" 2017-07-04 10:05:30 -07:00
Satish Babu Patakokila
1a2b67c241 ASoc: msm8998: Add multichannel support for SLIM_0_RX
Add 8 channel support for SLIM_0_RX dai.

Change-Id: I1acff62ef74dd18b78fb9862102a535212c84e5e
Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
2017-07-04 03:18:17 -07:00
Vatsal Bucha
267f48418a ASoC: mbhc: Fix audio mute for special headset
MICBIAS is disabled extra time during playback session
resulting in mclk also being disabled. This results
in slimbus overflow and audio mute. This can be fixed
by checking whether device connected is special headset
before disabling micbias during report_plug so that
micbias is not disabled again.

CRs-Fixed: 2056268
Change-Id: Iab94ca2d6a3d69a5fa122da2c4f1e8d42ce75155
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2017-07-04 01:37:10 -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
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