summaryrefslogtreecommitdiff
path: root/include/sound (follow)
Commit message (Collapse)AuthorAge
...
* | | ASoC: wcd-dsp-mgr: add support for subsystem restartBhalchandra Gajare2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible that wcd codec DSP can crash or become unresponsive. During such case, an error interrupt is generated by the codec. Add support in manager driver to handle this interrupt and perform subsystem restart to shutdown and reboot the DSP so that the DSP can be recovered from the crash. CRs-fixed: 1071949 Change-Id: I4662b5120bf7f731e399a27d8a613e2f3b648b00 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
* | | ASoC: wcd-dsp-mgr: add support for collecting memory dumpsBhalchandra Gajare2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The codec driver is notified through interrupt whenever the DSP in codec is unresponsive/crashed. In such cases, collecting dumps of the codec memory is useful in debugging the issues. Change adds support in the wcd dsp manager driver to collect the memory dumps upon notification of error interrupt. Change-Id: Ib91cd4fc1476ee1a9ec448cde1a083070443f726 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
* | | ASoC: wcd-dsp-mgr: add argument to the interrupt handler callbackBhalchandra Gajare2016-10-04
|/ / | | | | | | | | | | | | | | | | | | | | Currently, when manager driver interrupt handler callback is called, there is no way for the caller to provide any data information along with the type of interrupt. Change adds argument to the interrupt handler so that callers can use this to pass agreed data when an interrupt occurs. Change-Id: I1c049227875a802491e21998c13c0bcd8eab7de6 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
* | Merge "ASoC: msm: qdsp6v2: Fix improper channel config for aac"Linux Build Service Account2016-10-03
|\ \
| * | ASoC: msm: qdsp6v2: Fix improper channel config for aacNaresh Tanniru2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | AAC encode is failing in ADSP due to mismatch in channel config datatype. Update channel config data type for aac encoder. Change-Id: I844d6e1ac1b2b171cd74a2601ae09280a22589c9 Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
* | | ASoC: msm: Update the error handling when APR sends packet failedKuirong Wang2016-09-30
|/ / | | | | | | | | | | | | | | | | Update the error handling when APR sends packet failed so that audio driver can perform proper error recovery. CRs-Fixed: 1050605 Change-Id: I6210e244e6299ec747836f40d03e92c15c6e53ee Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
* | ASoC: msm: add tertiary and quaternary audio PCM supportKuirong Wang2016-09-21
| | | | | | | | | | | | | | | | Add support for tertiary and quaternary audio PCM interface to msm platform. Change-Id: I985200bbff55583ac09bf7444ecbc5cf6ab7eb41 Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
* | ASoC: msm: Add Buffer overflow checkKarthik Reddy Katta2016-09-10
| | | | | | | | | | | | | | | | | | The overflow check is required to ensure that user space data in kernel may not go beyond buffer boundary. CRs-Fixed: 1064411 Change-Id: I54c28a8942cf1a6a47a4e8272f3159b35d753ead Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
* | Merge "ARM: dts: msm: rename codec child node of MSM external display"Linux Build Service Account2016-09-08
|\ \
| * | ASoC: msm: qdsp6v2: enable audio over display portShiv Maliyappanahalli2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | Add support in cpu dai, routing and native afe driver to enable audio over display port. Change-Id: I4cd5b738caab4d40c1c118d3111c3f4af740c84e Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
* | | ASoC: add sample rate macros upto 384KHzVidyakumar Athota2016-09-08
|/ / | | | | | | | | | | | | | | Add sample rate macros upto 384KHz to support playback of 384KHz clips. Change-Id: Id8880caae81818fe72bf02f3a3a90a5650546182 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | ASoC: msm: Add support for native DSD playabckPreetam Singh Ranawat2016-08-20
| | | | | | | | | | | | | | | | | | | | Add DSD playback support in compress offload passthrough mode. Add DAPM widget in routing driver for DSD playback over SLIM_2_RX backend. CRs-Fixed: 1056422 Change-Id: I398db5f6deded10a515f05277b6316a93f9e14ab Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
* | ASoC: pcm: change playback_active to unsigned intVidyakumar Athota2016-08-17
| | | | | | | | | | | | | | | | | | | | | | In combo usecase there are 2 front-end dai's with same codec dai. Using a single bit as the counter causes the counter to roll over to 0 during combo usecase. To resolve this change counter to unsigned int from single bit. CRs-Fixed: 1049348 Change-Id: I196802e6d23a9292ff2915c1b4b61c2b3ead9fa8 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | ASoC: msm: qdsp6v2: support for AFE encoderNaresh Tanniru2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | Add support for AFE encoder configuration. Add new mixer controls to support AFE input channel and encoder configuration. Add support in AFE to set the encoder and input channel configuration.If encoder configuration is set ADSP will encode the PCM steam and send over backend. Change-Id: I56581533ffff3b61f5b5ee128841ab61b62674d7 Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
* | ASoC: wcd-spi: SPI driver for WCD audio codecsBhalchandra Gajare2016-08-02
| | | | | | | | | | | | | | | | | | | | | | | | WCD audio codecs contain SPI slave hardware module to provide access to codec memory and SPI register space. Change adds driver for this slave hardware. This driver uses regmap for SPI internal register accesses and plugs in to standard SPI framework as child device to master controller driver. CRs-Fixed: 1049012 Change-Id: I0640ac1ed60a2ec3633636760593211ecd2f9c2d Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
* | wcd_dsp_mgr: Add the WCD DSP manager driverBhalchandra Gajare2016-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WCD audio codecs have DSP embedded to perform signal processing on audio data. The codec driver has control over the DSP clock, power etc, whereas the DSP memory can be accessed through an different bus slave interface. In such cases, it is required to make sure the hardware expected sequences are met for the DSP to function properly. The wcd-dsp manager driver registers as master to component framework and provides the ability to sequence the operations between the child drivers. Upon registration of all children, the wcd-dsp manager driver parses the wcd dsp image, downloads the image and boots up the DSP. It invokes the component children to perform the tasks in sequence. CRs-Fixed: 1049012 Change-Id: I059e1b111c607e49a7cc9a7940cf458e701c73d3 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
* | ASoC: wcd_cpe: Add support for two CPE sessionsSudheer Papothi2016-07-26
| | | | | | | | | | | | | | | | | | | | Existing CPE(Codec Processing Engine) driver supports single session. Add support for two sessions with different sampling rates. CRs-fixed: 1022917 Change-Id: Ifbcb1bf8c418a4b3c787f68392aa141207dddde5 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org> Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | ASoC: msm: qdspv2: add support for MULTI_CHANNEL_PCM_V3 commandManish Dewangan2016-06-28
| | | | | | | | | | | | | | | | | | | | | | Driver changes to use ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V3 command. This command supports playback/record of both 32 bit (24 bit data in 32 bit word) and 24 bit packed. Update platform drivers to use this for SNDRV_PCM_FORMAT_S24_LE record and playback. CRs-Fixed: 1011048 Change-Id: I6f98bf3402a737bc21daff33b13b137850a690ea Signed-off-by: Manish Dewangan <manish@codeaurora.org>
* | ASoC: msm: qdsp6v2: pull mode playback and push mode recordHaynes Mathew George2016-06-22
| | | | | | | | | | | | | | | | | | Implement platform drivers to support shared memory based pcm playback and capture. Change-Id: I882c67ae1c3d950b98bd002ac384cc3a7e77874a CRs-Fixed: 992798 Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
* | ASoC: msm: qdsp6v2: add support for DTS offloadSatish Babu Patakokila2016-06-17
| | | | | | | | | | | | | | Add DTS to supported offload formats. Change-Id: I08cade9366673a7aae8595293296e88aece149bd Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
* | msm: Fix failure in deregistering custom topologiesKarthik Reddy Katta2016-06-03
| | | | | | | | | | | | | | | | | | | | AVCS_MODE_DEREGISTER_ALL_CUSTOM_TOPOLOGIES is defined as "1" where as in ADSP the value is "2". Redefine the same to fix the mis-match with ADSP code. CRs-Fixed: 1005434 Change-Id: I210e43b53c6170425ee35c02b728698b33afb591 Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
* | ASoC: msm: Add USB audio via ADSP supportKuirong Wang2016-05-15
| | | | | | | | | | | | | | | | | | Add new USB rx and tx afe ports and routing to different fe dais to enable USB audio via ADSP. Change-Id: I4f82ba27becee1f3b62c410be0d00876961f9b18 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org> Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
* | ASoC: msm: q6dspv2: add support for Slimbus 7 and 8 portsBanajit Goswami2016-05-06
| | | | | | | | | | | | | | | | Add support for SLIMBUS_7 and SLIMBUS_8 Rx and Tx ports for MSM audio drivers. Change-Id: I839ac07a3ee1e1e778c4d1e43d0bac89f01bd21a Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
* | ASoC: msm: audio-effects: fix stack overread and heap overwriteWeiyin Jiang2016-05-06
| | | | | | | | | | | | | | | | | | Fix overwrite of updt_params allocated in heap, and stack overread where param pointer is passed from user space. CRs-Fixed: 989628 Change-Id: Ida8bdb7da2fcb97023dce3b6eafe4b899a51cb66 Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
* | ASoC: msm: qdsp6v2: use token for tracking no wait cmdShiv Maliyappanahalli2016-04-12
| | | | | | | | | | | | | | | | | | | | | | Use tokens to track all active no wait commands. In ASM driver, certain commands are waited on to get response from ADSP. There is a possibility that certain no-wait commands can be improperly recognized and woken up leading to time outs. Change-Id: I2030a354493845b63cf92d35ca4eaadef38cfb79 Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
* | ASoC: msm: qdsp6v2: Add missing routing for MI2S interfacesRoberto Granados Dorado2016-03-25
| | | | | | | | | | | | | | | | | | This change adds some routing missing plus few other fixes needed when MI2S interfaces are used. CRs-fixed: 909961 Change-Id: Ic1e234c955a6162d67fd97ac7647ec810ede204c Signed-off-by: Roberto Granados Dorado <robertog@codeaurora.org>
* | ASoC: msm: Add support for HW MAD bypass feature for listenVenkata Narendra Kumar Gutta2016-03-23
| | | | | | | | | | | | | | | | | | | | HW MAD bypass feature is to facilitate input to CPE by avoiding MAD in codec. This is done by routing DEC1 data to CPE. Add the required changes to support this feature. CRs-fixed: 938514 Change-Id: I7788b1475cd22bdea291bcae47f048131b220ce3 Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
* | ASoC: msm: Use legacy ASM APIs for older targetsAshish Jain2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | With 3.18 kernel, get_session_time command to DSP is updated to new command. This command is not supported on older targets as they have an older DSP version. To have backwards compatibility, based on DSP version choose which command to use. CRs-Fixed: 978676 Change-Id: I76b0cfcd84df90d7a206690cb8aa1eb773fdc53d Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
* | ASoC: msm: Add support to query speaker parametersVidyakumar Athota2016-03-23
| | | | | | | | | | | | | | | | | | Add SET and GET parameter APIs to query speaker parameters in feedback speaker protection FTM mode. CRs-Fixed: 974621 Change-Id: I1a51e5033d7836c0c996621593cd2f4dd6982dcd Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | ASoC: msm: qdsp6v2: move adsp_err to c source filePatrick Lai2016-03-23
| | | | | | | | | | | | | | | | | | | | In preparation to add more debugging hooks to LPASS driver, convert adsp error code and string conversion functions to C source file. CRs-fixed: 968775 Change-Id: Ic074a318ede4188a8fd603efddce71ed820ee560 Signed-off-by: Patrick Lai <plai@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
* | ASoC: Add check for pointer and array indexViraja Kommaraju2016-03-23
| | | | | | | | | | | | | | | | Add check for NULL pointer access and array index boundary. Change-Id: Ia12a28c43b99158a90d27eecd23bdfd4b42b346e Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
* | ASoC: qdsp6v2: move AFE clock macros to headerLaxminath Kasam2016-03-23
| | | | | | | | | | | | | | | | As AFE clock version macros can be used in other drivers, move them to header file. Change-Id: Iae5717c181e81bf7a6161742e8d062d09bedfb78 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
* | Asoc: msm: add support for Media Format ConverterSidipotu Ashok2016-03-23
| | | | | | | | | | | | | | | | Audio drivers to configure ADSP MFC in cases where fractional resampling is needed. Change-Id: Ifc85ff788347ddd893f8858064f71a07fa1ddd9c Signed-off-by: Sidipotu Ashok <sashok@codeaurora.org>
* | ASoC: msm-lsm-client: free lsm client data in msm_lsm_closeVidyakumar Athota2016-03-23
| | | | | | | | | | | | | | | | | | | | Currently lsm client data is deallocated when q6lsm_open() fails which can cause memory corruption if lsm client data is accessed after freed. Fix this issue by deallocating the client data only in msm_lsm_close(). Change-Id: If048c26a0ffd8a346a28622183cbf2ba1e7e5ff3 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | ASoC: msm: add slot and channel config support for TDM devicesHonghao Liu2016-03-23
| | | | | | | | | | | | | | | | | | Add support for slot and channel configuration in CPU dai driver for TDM devices. Remove the probing of slot and channel info from device tree. Change-Id: I9d65779b7ef70fac741569f0584b15db29093e0c Signed-off-by: Honghao Liu <honghaol@codeaurora.org>
* | Merge remote-tracking branch 'lsk-44/linux-linaro-lsk-v4.4' into 44rc2David Keitel2016-03-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lsk-44/linux-linaro-lsk-v4.4: Linux 4.4.3 modules: fix modparam async_probe request module: wrapper for symbol name. itimers: Handle relative timers with CONFIG_TIME_LOW_RES proper posix-timers: Handle relative timers with CONFIG_TIME_LOW_RES proper timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper prctl: take mmap sem for writing to protect against others xfs: log mount failures don't wait for buffers to be released Revert "xfs: clear PF_NOFREEZE for xfsaild kthread" xfs: inode recovery readahead can race with inode buffer creation libxfs: pack the agfl header structure so XFS_AGFL_SIZE is correct ovl: setattr: check permissions before copy-up ovl: root: copy attr ovl: check dentry positiveness in ovl_cleanup_whiteouts() ovl: use a minimal buffer in ovl_copy_xattr ovl: allow zero size xattr futex: Drop refcount if requeue_pi() acquired the rtmutex devm_memremap_release(): fix memremap'd addr handling ipc/shm: handle removed segments gracefully in shm_mmap() intel_scu_ipcutil: underflow in scu_reg_access() mm,thp: khugepaged: call pte flush at the time of collapse dump_stack: avoid potential deadlocks radix-tree: fix oops after radix_tree_iter_retry drivers/hwspinlock: fix race between radix tree insertion and lookup radix-tree: fix race in gang lookup MAINTAINERS: return arch/sh to maintained state, with new maintainers memcg: only free spare array when readers are done numa: fix /proc/<pid>/numa_maps for hugetlbfs on s390 fs/hugetlbfs/inode.c: fix bugs in hugetlb_vmtruncate_list() scripts/bloat-o-meter: fix python3 syntax error dma-debug: switch check from _text to _stext m32r: fix m32104ut_defconfig build fail xhci: Fix list corruption in urb dequeue at host removal Revert "xhci: don't finish a TD if we get a short-transfer event mid TD" iommu/vt-d: Clear PPR bit to ensure we get more page request interrupts iommu/vt-d: Fix 64-bit accesses to 32-bit DMAR_GSTS_REG iommu/vt-d: Fix mm refcounting to hold mm_count not mm_users iommu/amd: Correct the wrong setting of alias DTE in do_attach iommu/vt-d: Don't skip PCI devices when disabling IOTLB Input: vmmouse - fix absolute device registration string_helpers: fix precision loss for some inputs Input: i8042 - add Fujitsu Lifebook U745 to the nomux list Input: elantech - mark protocols v2 and v3 as semi-mt mm: fix regression in remap_file_pages() emulation mm: replace vma_lock_anon_vma with anon_vma_lock_read/write mm: fix mlock accouting libnvdimm: fix namespace object confusion in is_uuid_busy() mm: soft-offline: check return value in second __get_any_page() call perf kvm record/report: 'unprocessable sample' error while recording/reporting guest data KVM: PPC: Fix ONE_REG AltiVec support KVM: PPC: Fix emulation of H_SET_DABR/X on POWER8 KVM: arm/arm64: Fix reference to uninitialised VGIC arm64: dma-mapping: fix handling of devices registered before arch_initcall ARM: OMAP2+: Fix ppa_zero_params and ppa_por_params for rodata ARM: OMAP2+: Fix save_secure_ram_context for rodata ARM: OMAP2+: Fix l2dis_3630 for rodata ARM: OMAP2+: Fix l2_inv_api_params for rodata ARM: OMAP2+: Fix wait_dll_lock_timed for rodata ARM: dts: at91: sama5d4ek: add phy address and IRQ for macb0 ARM: dts: at91: sama5d4 xplained: fix phy0 IRQ type ARM: dts: at91: sama5d4: fix instance id of DBGU ARM: dts: at91: sama5d4 xplained: properly mux phy interrupt ARM: dts: omap5-board-common: enable rtc and charging of backup battery ARM: dts: Fix omap5 PMIC control lines for RTC writes ARM: dts: Fix wl12xx missing clocks that cause hangs ARM: nomadik: fix up SD/MMC DT settings ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz() ARM: 8519/1: ICST: try other dividends than 1 arm64: mm: avoid calling apply_to_page_range on empty range ARM: mvebu: remove duplicated regulator definition in Armada 388 GP powerpc/ioda: Set "read" permission when "write" is set powerpc/powernv: Fix stale PE primary bus powerpc/eeh: Fix stale cached primary bus powerpc/eeh: Fix PE location code SUNRPC: Fixup socket wait for memory udf: Check output buffer length when converting name to CS0 udf: Prevent buffer overrun with multi-byte characters udf: limit the maximum number of indirect extents in a row pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn nfs: Fix race in __update_open_stateid() pNFS/flexfiles: Fix an Oopsable typo in ff_mirror_match_fh() NFS: Fix attribute cache revalidation cifs: fix erroneous return value cifs_dbg() outputs an uninitialized buffer in cifs_readdir() cifs: fix race between call_async() and reconnect() cifs: Ratelimit kernel log messages iio: inkern: fix a NULL dereference on error iio: pressure: mpl115: fix temperature offset sign iio: light: acpi-als: Report data as processed iio: dac: mcp4725: set iio name property in sysfs iio: add IIO_TRIGGER dependency to STK8BA50 iio: add HAS_IOMEM dependency to VF610_ADC iio-light: Use a signed return type for ltr501_match_samp_freq() iio:adc:ti_am335x_adc Fix buffered mode by identifying as software buffer. iio: adis_buffer: Fix out-of-bounds memory access scsi: fix soft lockup in scsi_remove_target() on module removal SCSI: Add Marvell Console to VPD blacklist scsi_dh_rdac: always retry MODE SELECT on command lock violation drivers/scsi/sg.c: mark VMA as VM_IO to prevent migration SCSI: fix crashes in sd and sr runtime PM iscsi-target: Fix potential dead-lock during node acl delete scsi: add Synology to 1024 sector blacklist klist: fix starting point removed bug in klist iterators tracepoints: Do not trace when cpu is offline tracing: Fix freak link error caused by branch tracer perf tools: tracepoint_error() can receive e=NULL, robustify it tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines ptrace: use fsuid, fsgid, effective creds for fs access checks Btrfs: fix direct IO requests not reporting IO error to user space Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl Btrfs: fix page reading in extent_same ioctl leading to csum errors Btrfs: fix invalid page accesses in extent_same (dedup) ioctl btrfs: properly set the termination value of ctx->pos in readdir Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()" Btrfs: fix fitrim discarding device area reserved for boot loader's use btrfs: handle invalid num_stripes in sys_array ext4: don't read blocks from disk after extents being swapped ext4: fix potential integer overflow ext4: fix scheduling in atomic on group checksum failure serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485) serial: 8250_pci: Add Intel Broadwell ports tty: Add support for PCIe WCH382 2S multi-IO card pty: make sure super_block is still valid in final /dev/tty close pty: fix possible use after free of tty->driver_data staging/speakup: Use tty_ldisc_ref() for paste kworker phy: twl4030-usb: Fix unbalanced pm_runtime_enable on module reload phy: twl4030-usb: Relase usb phy on unload ALSA: seq: Fix double port list deletion ALSA: seq: Fix leak of pool buffer at concurrent writes ALSA: pcm: Fix rwsem deadlock for non-atomic PCM stream ALSA: hda - Cancel probe work instead of flush at remove x86/mm: Fix vmalloc_fault() to handle large pages properly x86/uaccess/64: Handle the caching of 4-byte nocache copies properly in __copy_user_nocache() x86/uaccess/64: Make the __copy_user_nocache() assembly code more readable x86/mm/pat: Avoid truncation when converting cpa->numpages to address x86/mm: Fix types used in pgprot cacheability flags translations Linux 4.4.2 HID: multitouch: fix input mode switching on some Elan panels mm, vmstat: fix wrong WQ sleep when memory reclaim doesn't make any progress zsmalloc: fix migrate_zspage-zs_free race condition zram: don't call idr_remove() from zram_remove() zram: try vmalloc() after kmalloc() zram/zcomp: use GFP_NOIO to allocate streams rtlwifi: rtl8821ae: Fix 5G failure when EEPROM is incorrectly encoded rtlwifi: rtl8821ae: Fix errors in parameter initialization crypto: marvell/cesa - fix test in mv_cesa_dev_dma_init() crypto: atmel-sha - remove calls of clk_prepare() from atomic contexts crypto: atmel-sha - fix atmel_sha_remove() crypto: algif_skcipher - Do not set MAY_BACKLOG on the async path crypto: algif_skcipher - Do not dereference ctx without socket lock crypto: algif_skcipher - Do not assume that req is unchanged crypto: user - lock crypto_alg_list on alg dump EVM: Use crypto_memneq() for digest comparisons crypto: algif_hash - wait for crypto_ahash_init() to complete crypto: shash - Fix has_key setting crypto: chacha20-ssse3 - Align stack pointer to 64 bytes crypto: caam - make write transactions bufferable on PPC platforms crypto: algif_skcipher - sendmsg SG marking is off by one crypto: algif_skcipher - Load TX SG list after waiting crypto: crc32c - Fix crc32c soft dependency crypto: algif_skcipher - Fix race condition in skcipher_check_key crypto: algif_hash - Fix race condition in hash_check_key crypto: af_alg - Forbid bind(2) when nokey child sockets are present crypto: algif_skcipher - Remove custom release parent function crypto: algif_hash - Remove custom release parent function crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path ahci: Intel DNV device IDs SATA libata: disable forced PORTS_IMPL for >= AHCI 1.3 crypto: algif_skcipher - Add key check exception for cipher_null crypto: skcipher - Add crypto_skcipher_has_setkey crypto: algif_hash - Require setkey before accept(2) crypto: hash - Add crypto_ahash_has_setkey crypto: algif_skcipher - Add nokey compatibility path crypto: af_alg - Add nokey compatibility path crypto: af_alg - Fix socket double-free when accept fails crypto: af_alg - Disallow bind/setkey/... after accept(2) crypto: algif_skcipher - Require setkey before accept(2) sched: Fix crash in sched_init_numa() ext4 crypto: add missing locking for keyring_key access iommu/io-pgtable-arm: Ensure we free the final level on teardown tty: Fix unsafe ldisc reference via ioctl(TIOCGETD) tty: Retry failed reopen if tty teardown in-progress tty: Wait interruptibly for tty lock on reopen n_tty: Fix unsafe reference to "other" ldisc usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Broxton-M platforms usb: xhci: handle both SSIC ports in PME stuck quirk usb: phy: msm: fix error handling in probe. usb: cdc-acm: send zero packet for intel 7260 modem usb: cdc-acm: handle unlinked urb in acm read callback USB: option: fix Cinterion AHxx enumeration USB: serial: option: Adding support for Telit LE922 USB: cp210x: add ID for IAI USB to RS485 adaptor USB: serial: ftdi_sio: add support for Yaesu SCU-18 cable usb: hub: do not clear BOS field during reset device USB: visor: fix null-deref at probe USB: serial: visor: fix crash on detecting device without write_urbs ASoC: rt5645: fix the shift bit of IN1 boost saa7134-alsa: Only frees registered sound cards ALSA: dummy: Implement timer backend switching more safely ALSA: hda - Fix bad dereference of jack object ALSA: hda - Fix speaker output from VAIO AiO machines Revert "ALSA: hda - Fix noise on Gigabyte Z170X mobo" ALSA: hda - Fix static checker warning in patch_hdmi.c ALSA: hda - Add fixup for Mac Mini 7,1 model ALSA: timer: Fix race between stop and interrupt ALSA: timer: Fix wrong instance passed to slave callbacks ALSA: timer: Fix race at concurrent reads ALSA: timer: Fix link corruption due to double start or stop ALSA: timer: Fix leftover link at closing ALSA: timer: Code cleanup ALSA: seq: Fix lockdep warnings due to double mutex locks ALSA: seq: Fix race at closing in virmidi driver ALSA: seq: Fix yet another races among ALSA timer accesses ASoC: dpcm: fix the BE state on hw_free ALSA: pcm: Fix potential deadlock in OSS emulation ALSA: hda/realtek - Support Dell headset mode for ALC225 ALSA: hda/realtek - Support headset mode for ALC225 ALSA: hda/realtek - New codec support of ALC225 ALSA: rawmidi: Fix race at copying & updating the position ALSA: rawmidi: Remove kernel WARNING for NULL user-space buffer check ALSA: rawmidi: Make snd_rawmidi_transmit() race-free ALSA: seq: Degrade the error message for too many opens ALSA: seq: Fix incorrect sanity check at snd_seq_oss_synth_cleanup() ALSA: dummy: Disable switching timer backend via sysfs ALSA: compress: Disable GET_CODEC_CAPS ioctl for some architectures ALSA: hda - disable dynamic clock gating on Broxton before reset ALSA: Add missing dependency on CONFIG_SND_TIMER ALSA: bebob: Use a signed return type for get_formation_index ALSA: usb-audio: avoid freeing umidi object twice ALSA: usb-audio: Add native DSD support for PS Audio NuWave DAC ALSA: usb-audio: Fix OPPO HA-1 vendor ID ALSA: usb-audio: Add quirk for Microsoft LifeCam HD-6000 ALSA: usb-audio: Fix TEAC UD-501/UD-503/NT-503 usb delay hrtimer: Handle remaining time proper for TIME_LOW_RES md/raid: only permit hot-add of compatible integrity profiles media: i2c: Don't export ir-kbd-i2c module alias parisc: Fix __ARCH_SI_PREAMBLE_SIZE parisc: Protect huge page pte changes with spinlocks printk: do cond_resched() between lines while outputting to consoles tracing/stacktrace: Show entire trace if passed in function not found tracing: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs() PCI: Fix minimum allocation address overwrite PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD mtd: nand: assign reasonable default name for NAND drivers wlcore/wl12xx: spi: fix NULL pointer dereference (Oops) wlcore/wl12xx: spi: fix oops on firmware load ocfs2/dlm: clear refmap bit of recovery lock while doing local recovery cleanup ocfs2/dlm: ignore cleaning the migration mle that is inuse ALSA: hda - Implement loopback control switch for Realtek and other codecs block: fix bio splitting on max sectors base/platform: Fix platform drivers with no probe callback HID: usbhid: fix recursive deadlock ocfs2: NFS hangs in __ocfs2_cluster_lock due to race with ocfs2_unblock_lock block: split bios to max possible length NFSv4.1/pnfs: Fixup an lo->plh_block_lgets imbalance in layoutreturn crypto: sun4i-ss - add missing statesize Linux 4.4.1 arm64: kernel: fix architected PMU registers unconditional access arm64: kernel: enforce pmuserenr_el0 initialization and restore arm64: mm: ensure that the zero page is visible to the page table walker arm64: Clear out any singlestep state on a ptrace detach operation powerpc/module: Handle R_PPC64_ENTRY relocations scripts/recordmcount.pl: support data in text section on powerpc powerpc: Make {cmp}xchg* and their atomic_ versions fully ordered powerpc: Make value-returning atomics fully ordered powerpc/tm: Check for already reclaimed tasks batman-adv: Drop immediate orig_node free function batman-adv: Drop immediate batadv_hard_iface free function batman-adv: Drop immediate neigh_ifinfo free function batman-adv: Drop immediate batadv_neigh_node free function batman-adv: Drop immediate batadv_orig_ifinfo free function batman-adv: Avoid recursive call_rcu for batadv_nc_node batman-adv: Avoid recursive call_rcu for batadv_bla_claim team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid net/mlx5_core: Fix trimming down IRQ number bridge: fix lockdep addr_list_lock false positive splat ipv6: update skb->csum when CE mark is propagated net: bpf: reject invalid shifts phonet: properly unshare skbs in phonet_rcv() dwc_eth_qos: Fix dma address for multi-fragment skbs bonding: Prevent IPv6 link local address on enslaved devices net: preserve IP control block during GSO segmentation udp: disallow UFO for sockets with SO_NO_CHECK option net: pktgen: fix null ptr deref in skb allocation sched,cls_flower: set key address type when present tcp_yeah: don't set ssthresh below 2 ipv6: tcp: add rcu locking in tcp_v6_send_synack() net: sctp: prevent writes to cookie_hmac_alg from accessing invalid memory vxlan: fix test which detect duplicate vxlan iface unix: properly account for FDs passed over unix sockets xhci: refuse loading if nousb is used usb: core: lpm: fix usb3_hardware_lpm sysfs node USB: cp210x: add ID for ELV Marble Sound Board 1 rtlwifi: fix memory leak for USB device ASoC: compress: Fix compress device direction check ASoC: wm5110: Fix PGA clear when disabling DRE ALSA: timer: Handle disconnection more safely ALSA: hda - Flush the pending probe work at remove ALSA: hda - Fix missing module loading with model=generic option ALSA: hda - Fix bass pin fixup for ASUS N550JX ALSA: control: Avoid kernel warnings from tlv ioctl with numid 0 ALSA: hrtimer: Fix stall by hrtimer_cancel() ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode ALSA: hda - Add fixup for Dell Latitidue E6540 ALSA: timer: Fix double unlink of active_list ALSA: timer: Fix race among timer ioctls ALSA: hda - fix the headset mic detection problem for a Dell laptop ALSA: timer: Harden slave timer list handling ALSA: usb-audio: Fix mixer ctl regression of Native Instrument devices ALSA: hda - Fix white noise on Dell Latitude E5550 ALSA: seq: Fix race at timer setup and close ALSA: usb-audio: Avoid calling usb_autopm_put_interface() at disconnect ALSA: seq: Fix missing NULL check at remove_events ioctl ALSA: hda - Fixup inverted internal mic for Lenovo E50-80 ALSA: usb: Add native DSD support for Oppo HA-1 x86/mm: Improve switch_mm() barrier comments x86/mm: Add barriers and document switch_mm()-vs-flush synchronization x86/boot: Double BOOT_HEAP_SIZE to 64KB x86/reboot/quirks: Add iMac10,1 to pci_reboot_dmi_table[] kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL KVM: x86: correctly print #AC in traces KVM: x86: expose MSR_TSC_AUX to userspace x86/xen: don't reset vcpu_info on a cancelled suspend KEYS: Fix keyring ref leak in join_session_keyring() Conflicts: arch/arm64/kernel/perf_event.c drivers/scsi/sd.c sound/core/compress_offload.c Change-Id: I9f77fe42aaae249c24cd6e170202110ab1426878 Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
| * ALSA: rawmidi: Make snd_rawmidi_transmit() race-freeTakashi Iwai2016-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 06ab30034ed9c200a570ab13c017bde248ddb2a6 upstream. A kernel WARNING in snd_rawmidi_transmit_ack() is triggered by syzkaller fuzzer: WARNING: CPU: 1 PID: 20739 at sound/core/rawmidi.c:1136 Call Trace: [< inline >] __dump_stack lib/dump_stack.c:15 [<ffffffff82999e2d>] dump_stack+0x6f/0xa2 lib/dump_stack.c:50 [<ffffffff81352089>] warn_slowpath_common+0xd9/0x140 kernel/panic.c:482 [<ffffffff813522b9>] warn_slowpath_null+0x29/0x30 kernel/panic.c:515 [<ffffffff84f80bd5>] snd_rawmidi_transmit_ack+0x275/0x400 sound/core/rawmidi.c:1136 [<ffffffff84fdb3c1>] snd_virmidi_output_trigger+0x4b1/0x5a0 sound/core/seq/seq_virmidi.c:163 [< inline >] snd_rawmidi_output_trigger sound/core/rawmidi.c:150 [<ffffffff84f87ed9>] snd_rawmidi_kernel_write1+0x549/0x780 sound/core/rawmidi.c:1223 [<ffffffff84f89fd3>] snd_rawmidi_write+0x543/0xb30 sound/core/rawmidi.c:1273 [<ffffffff817b0323>] __vfs_write+0x113/0x480 fs/read_write.c:528 [<ffffffff817b1db7>] vfs_write+0x167/0x4a0 fs/read_write.c:577 [< inline >] SYSC_write fs/read_write.c:624 [<ffffffff817b50a1>] SyS_write+0x111/0x220 fs/read_write.c:616 [<ffffffff86336c36>] entry_SYSCALL_64_fastpath+0x16/0x7a arch/x86/entry/entry_64.S:185 Also a similar warning is found but in another path: Call Trace: [< inline >] __dump_stack lib/dump_stack.c:15 [<ffffffff82be2c0d>] dump_stack+0x6f/0xa2 lib/dump_stack.c:50 [<ffffffff81355139>] warn_slowpath_common+0xd9/0x140 kernel/panic.c:482 [<ffffffff81355369>] warn_slowpath_null+0x29/0x30 kernel/panic.c:515 [<ffffffff8527e69a>] rawmidi_transmit_ack+0x24a/0x3b0 sound/core/rawmidi.c:1133 [<ffffffff8527e851>] snd_rawmidi_transmit_ack+0x51/0x80 sound/core/rawmidi.c:1163 [<ffffffff852d9046>] snd_virmidi_output_trigger+0x2b6/0x570 sound/core/seq/seq_virmidi.c:185 [< inline >] snd_rawmidi_output_trigger sound/core/rawmidi.c:150 [<ffffffff85285a0b>] snd_rawmidi_kernel_write1+0x4bb/0x760 sound/core/rawmidi.c:1252 [<ffffffff85287b73>] snd_rawmidi_write+0x543/0xb30 sound/core/rawmidi.c:1302 [<ffffffff817ba5f3>] __vfs_write+0x113/0x480 fs/read_write.c:528 [<ffffffff817bc087>] vfs_write+0x167/0x4a0 fs/read_write.c:577 [< inline >] SYSC_write fs/read_write.c:624 [<ffffffff817bf371>] SyS_write+0x111/0x220 fs/read_write.c:616 [<ffffffff86660276>] entry_SYSCALL_64_fastpath+0x16/0x7a arch/x86/entry/entry_64.S:185 In the former case, the reason is that virmidi has an open code calling snd_rawmidi_transmit_ack() with the value calculated outside the spinlock. We may use snd_rawmidi_transmit() in a loop just for consuming the input data, but even there, there is a race between snd_rawmidi_transmit_peek() and snd_rawmidi_tranmit_ack(). Similarly in the latter case, it calls snd_rawmidi_transmit_peek() and snd_rawmidi_tranmit_ack() separately without protection, so they are racy as well. The patch tries to address these issues by the following ways: - Introduce the unlocked versions of snd_rawmidi_transmit_peek() and snd_rawmidi_transmit_ack() to be called inside the explicit lock. - Rewrite snd_rawmidi_transmit() to be race-free (the former case). - Make the split calls (the latter case) protected in the rawmidi spin lock. BugLink: http://lkml.kernel.org/r/CACT4Y+YPq1+cYLkadwjWa5XjzF1_Vki1eHnVn-Lm0hzhSpu5PA@mail.gmail.com BugLink: http://lkml.kernel.org/r/CACT4Y+acG4iyphdOZx47Nyq_VHGbpJQK-6xNpiqUjaZYqsXOGw@mail.gmail.com Reported-by: Dmitry Vyukov <dvyukov@google.com> Tested-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | ASoC: msm: Add Audio drivers for MSM targetsSudheer Papothi2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add snapshot for audio drivers for MSM targets. The code is migrated from msm-3.18 kernel at the below commit/AU level - AU_LINUX_ANDROID_LA.HB.1.3.1.06.00.00.187.056 (e70ad0cd5efdd9dc91a77dcdac31d6132e1315c1) (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* | ASoC: soc-core: export function to find componentsBanajit Goswami2016-03-23
| | | | | | | | | | | | | | | | | | | | Drivers might need to use the ASoC core function to find out whether a particular component is already registered with ALSA core or not. Export the function so that drivers can use it outside of the file. Change-Id: I13e4a053de085974b0b53c392a9453e46f1aa66d Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
* | ASoC: Cold start latency reductionWalter Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch parallelizes FE (front end) and BE (back end) when playback/capture path is set up. FE's and BE's which can be parallelized should be indicated in corresponding machine file. All the operations can be started asynchronously provided the usecase supports asynchronous operation. Parallelizing reduces the startup latency as both FE and BE operations run in parallel. Change-Id: I17e7e1c3d406713cc728ec262cfe388f7251f7de Signed-off-by: Walter Yang <yandongy@codeaurora.org> Signed-off-by: Fred Oh <fred@codeaurora.org> Conflicts: include/sound/soc.h sound/soc/soc-compress.c sound/soc/soc-pcm.c
* | ALSA: compress: Add support to send codec specific dataAlexy Joseph2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Codec specific metadata is sent only for first stream in gapless playback. This causes incorrect configuration to be set for second stream and distortions are observed due to framedrops in adsp. Add support to send codec specific format during start of next stream in gapless using set_next_track_param. Change-Id: Ieec6b2afedec156e47873efcad9b3571160b0a29 Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org> Signed-off-by: Alexy Joseph <alexyj@codeaurora.org> Conflicts: include/sound/compress_driver.h
* | ASoC: pcm: Add delay_blk featureKenneth Westfield2016-03-23
| | | | | | | | | | | | | | | | | | | | Add delay_blk() to pcm, platform and DAI ops. The pcm delay_blk() op collects the audio DSP path delays from the low-level drivers and sets the runtime->delay field to their aggregate. Change-Id: Ib7e10f44ab8ccb46dc2f5825081d0afef662d827 Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org>
* | ALSA: core: Add an API to create and register modulePhani Kumar Uppalapati2016-03-23
| | | | | | | | | | | | | | | | | | | | Add an API to create a module under the given parent directory and then register the info entry. This API can be used to expose ID and version related information. Change-Id: I06f8bc1d8f649e6db37eb65303e948bc58eab7da Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
* | ALSA: pcm: add support for 384KHz sample rateVidyakumar Athota2016-03-23
| | | | | | | | | | | | | | | | | | Currenlty HW params fails to set 384KHz sample rate due to unsupported sample rate. Change to add 384KHz sample rate support to ALSA. Change-Id: I381f7cdcc69e6cf9339cec53aab3fa295760c17c Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | ASoC: dapm: mark dapm_kcontrol_get_wlist as global functionSudheer Papothi2016-03-23
| | | | | | | | | | | | | | | | | | | | dapm_kcontrol_get_wlist() function needs to be called from driver other than the soc-dapm.c file itself. Mark this function as global function, so it can be accessed from other drivers. Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* | ALSA: compress: Add snd_compress_free()Liam Girdwood2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We are not currently freeing the compressed devices at module unload time. This could be used to help, but more investigation needs to be done to resolve this issue. This patch is WIP Change-Id: I6cf8bcc56e4d446d83e9a0e63b79db3da378a901 Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Git-commit: b2ebfd20ecb255b8e575ea8b6fad8d1affc2ea77 Git-repo: https://android.googlesource.com/kernel/msm Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
* | ASoC: core: Add support for no host modeBanajit Goswami2016-03-23
| | | | | | | | | | | | | | | | Add support for hostless PCM mode to support usecases where PCM is not consumed by host. Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
* | ASoC: dapm: add macro for MICBIASBanajit Goswami2016-03-23
| | | | | | | | | | | | | | Add a new DAPM Macro for MICBIAS widget for use in codec drivers. Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
* | ALSA: PCM: User contol API implementationSudheer Papothi2016-03-23
| | | | | | | | | | | | | | | | | | | | Introduced a new helper function snd_pcm_add_usr_ctls() to create control elements representing the user control for each PCM (sub)stream Signed-off-by: Jayasena Sangaraboina <jsanga@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* | ALSA: PCM: volume API implementationSudheer Papothi2016-03-23
| | | | | | | | | | | | | | | | | | | | Introduced a new helper function snd_pcm_add_volume_ctls() to create control elements representing the volume for each PCM (sub)stream. Signed-off-by: Damir Didjusto <damird@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>