Commit graph

3,459 commits

Author SHA1 Message Date
Vatsal Bucha
cd339694c5 ASoC: wcd-mbhc: Remove max impedance limit for lineout detection
Max limit of 60k ohms was set for cable to be detected as lineout
to fix headset detected as lineout issue on legacy targets.
This was because of large impedance detected for headset.
This is not applicable for adc based targets as headset is
detected based on mic adc voltage. Remove max impedance limit for
lineout detection.

Change-Id: If73bbe2cd78d04d1fcb359a3e5ed5cd69f3ab9f0
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-09-11 00:11:55 -07:00
Karthikeyan Mani
925413eba5 asoc: msm: Add primary tdm tx line in echo reference
Add primary tdm interface in echo reference list
so that it can be used for any echo reference use
case.

Change-Id: Id1621240fc28e0e1b505f5e46c426df0b91c416e
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-09-10 16:59:31 -07:00
Karthikeyan Mani
9e4d72554a asoc: msm: Add support for updated tdm slot map cfg version
Slot map of tdm now has multiple versions and they need
to be supported to configure the afe parameters as
per the version used.

Change-Id: I63490e08afcf17444fd884e08f771a7dcf108c66
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-09-10 15:16:01 -07:00
Karthikeyan Mani
b44e4551b1 asoc: codecs: bolero: Do not return error for unused gpio
If soundwire gpio is not used, then no need to return
error if not able to get gpio data.

Change-Id: I97705b49d3b01f99b7a4e91190a15ffb211d32f2
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-09-09 23:08:07 -07:00
Laxminath Kasam
f8adb5f3c3 asoc: codecs: bolero: Update mixing path and channel mask for RX path
RX_CDC_DMA_RX0/1/2/3 ports  drives RX0/RX1, RX2/RX3, RX4 and RX5
channels on bolero rx-macro. Update channel mask
as per these mapping and return to channel map
accordingly.

Change-Id: I2e66e601b5137ebc513527827332bbb7cde0acb3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-09 10:47:49 +05:30
Meng Wang
c893cd2e0d dsp: lsm: add apr NULL check in apr deregister
During SSR, q6lsm_mmapcallback could happen before
q6lsm_mmap_apr_dereg. q6lsm_common.apr and
q6lsm_common.apr_users are cleared in q6lsm_mmapcallback.
Add apr NULL check in q6lsm_mmap_apr_dereg before accessing
q6lsm_common.apr_users.

Change-Id: Ia0ff57b3fff0a0e4f26b836a8a15324406af1a14
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-09-09 09:27:45 +08:00
qctecmdr
018a061578 Merge "ASoC: msm: Loopback Driver Reg Stream in Prepare Stage" 2019-09-06 11:21:14 -07:00
qctecmdr
2eb4da98bc Merge "asoc: Update the senary MI2S interface port id index" 2019-09-06 11:07:43 -07:00
qctecmdr
ca34d4602c Merge "ASoC: wcd938x: Update mibias configuration on WCD938x" 2019-09-06 11:04:49 -07:00
qctecmdr
16bfcd8c36 Merge "asoc: Add HiFi Filter support in driver" 2019-09-06 11:02:24 -07:00
qctecmdr
203c6c4eb4 Merge "ASoC: codecs: Use resource managed function calls during irq exit" 2019-09-06 10:59:54 -07:00
qctecmdr
04a0e0e298 Merge "asoc: codec: bolero: add adc mode control" 2019-09-06 10:57:56 -07:00
qctecmdr
a1cacab61b Merge "dsp: lsm: adjust mutex_lock to avoid deadlock" 2019-09-06 10:54:21 -07:00
Laxminath Kasam
8ebb07308a asoc: codecs: wcd938x: Enable EAR over INT2 chain
INT2 chain drives AUX output to WCD.
EAR DAC on WCD can take input from HPHL/AUX chains.
Add register sequence updates to support EAR DAC
over AUX chain path also based on mixer setting.

Change-Id: I71db6c02f4579e3beba2816c1cfa5a492d91d702
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-06 14:59:46 +05:30
Aditya Bavanari
b6556116f9 asoc: Fix out of bounds access in xt logging disable functions
Extract dai data from codec dma dai instead of generic
dma dai structure in xt logging disable get and put functions
to fix out of bounds access. Use separate callback functions
for slimbus and codec dma dais.

Change-Id: Ic72640518cb255fa09563e99576d508c7cc21a7b
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2019-09-05 23:26:25 +05:30
qctecmdr
43e90d44b6 Merge "asoc: Add sysfs node for spdif pre-emphase status" 2019-09-04 03:48:00 -07:00
qctecmdr
9c7228e99b Merge "asoc: codecs: Add ep92 pre-emphasis status" 2019-09-04 03:42:06 -07:00
qctecmdr
bfa4bebe53 Merge "asoc: qcs405: Add support for META MI2S ports" 2019-09-04 03:40:09 -07:00
qctecmdr
bd95d2fa1c Merge "ASoC: compr: add amrwbplus offload support" 2019-09-04 03:38:00 -07:00
qctecmdr
9197a2e94a Merge "asoc: codecs: No I2C activity when EP92 is inactive" 2019-09-04 03:35:11 -07:00
qctecmdr
a634c77018 Merge "asoc: Add support for META MI2S ports" 2019-09-04 03:32:55 -07:00
qctecmdr
d8a58c6c05 Merge "soc: swr-mstr: Reduce swr register write sleep timings" 2019-09-04 03:30:25 -07:00
qctecmdr
b4ef63f700 Merge "ASoC: routing: update echo reference index for dp" 2019-09-04 03:26:59 -07:00
qctecmdr
d7c16ff4f4 Merge "soc: Fix out of bounds access in register show function" 2019-09-04 03:24:02 -07:00
qctecmdr
8ff9993fa0 Merge "SoC: soundwire: Add support to register for event listener" 2019-09-04 03:21:31 -07:00
qctecmdr
23104da29d Merge "soc: swr-mstr: reset slave pending irq flag before every call" 2019-09-04 03:18:36 -07:00
qctecmdr
96ea26f502 Merge "asoc: codecs: bolero: load hph filter coefficients" 2019-09-04 03:16:16 -07:00
qctecmdr
51603b4bf0 Merge "dsp: Add support for META MI2S ports" 2019-09-04 03:12:28 -07:00
Meng Wang
b5cf458326 asoc: hdmi: return 0 when get_audio_edid_blk is NULL
when get_audio_edid_blk is NULL, msm_ext_disp_edid_ctl_info
returns error value. And it would cause tinymix doesn't have
full mix cmd list. Return 0 instead to avoid such issue.

Change-Id: Ic13067483b373fa4a81b663ece3d3e4a18ea8a87
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-09-04 09:22:07 +08:00
Meng Wang
fae3404de2 dsp: lsm: check for mem_map_handle
Sometimes adsp may fail to allocate memory for SVA calibration
data and add check if mem_map_handle is assigned with valid
non-zero handle to avoid panic.

Change-Id: Icad722edc52906e63d581aafa02b42b8518ebca6
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-09-04 08:13:18 +08:00
Cong Tang
d083a83b6e ASoC: msm: Loopback Driver Reg Stream in Prepare Stage
Move the msm_pcm_routing_reg_phy_stream() to prepare stage.
Then it allows to set channel mixer configuration pre usecase start.

Change-Id: I1811c4d9bcbdd2bb1ee425044407a2c61e794a9a
Signed-off-by: Cong Tang <congt@codeaurora.org>
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2019-09-03 14:50:22 +05:30
Ramprasad Katkam
17f0516574 asoc: check subsys state in FE instead of q6 state
audio can use adsp or modem. Hence check
apr subsys state commonly instead of adsp or modem.

Change-Id: Ice70ab23797ec5f940e1bda3fa1b2d84c196fc56
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2019-09-03 14:43:05 +08:00
Sudheer Papothi
96c842a261 SoC: soundwire: Update debug soundwire master read/write functions
Replace debug read/write register functions with
swr_master_read/swr_master_write to support different interfaces to
access soundwire registers.

Change-Id: I377bb927ee769a18c0179045953a521d0a83057f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-09-02 11:11:50 +05:30
Meng Wang
818d4e9b7f dsp: lsm: adjust mutex_lock to avoid deadlock
When dispatch_event in apr and q6lsm_client_free in q6lsm
are running concurrently, there may be deadlock between
session_lock in lsm and svc->m_lock in apr. Adjust session_lock
in q6lsm_client_free to avoid deadlock.

Change-Id: I26eb788d4c17af78272dd1f717717e865dfbd0ac
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-08-30 15:44:49 +08:00
Ramlal Karra
b6ef9e0377 asoc: Add HiFi Filter support in driver
Open adm with 32 bit-width when HiFi Filter control is set

Change-Id: I2c4c4c732b15b26b42d8169ae4c945356bf2bfa6
Signed-off-by: Ramlal Karra <rkarra@codeaurora.org>
2019-08-30 12:23:02 +05:30
Ralf Herz
afaec2af14 asoc: qcs405: Add support for META MI2S ports
QCS405 can group data lines of several MI2S interfaces.
This feature is used with new META MI2S ports.

Change-Id: Iffc72a5aae1da8a0620ad988fdc570e5ed493956
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2019-08-29 08:31:39 +02:00
Ralf Herz
29e071318d asoc: Add support for META MI2S ports
QCS405 can group data lines of several MI2S interfaces.
Add backend dai links for new META MI2S ports.

Change-Id: I9fc5ff06b61ffc2e085c5f05a75111b63ceeeb68
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2019-08-29 08:29:05 +02:00
Vignesh Kulothungan
2139a7d178 ASoc: Kona: Add support for group AFE
Add support to configure TDM slots.
Add support to set tdm slot mask.

CRs-Fixed: 2493194
Change-Id: I39cc7f2aee5acb28ea500076ff5026a033350b60
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-08-28 17:40:33 -07:00
Laxminath Kasam
52ae6581d7 asoc: codecs: bolero: Fix L/R swap issue on bolero RX
Left and right channel content can get swapped
in new cdc_dma interface.

DMA interfaces underrun results in Channels being swapped.

This issue is a side effect current SW setup for RX path:
  1.  HLOS Setup WCD Analog Path, Bolero CODEC.
      CODEC would drive Fs to LPASS DMAs requesting for PCM samples.
  2.  DSP setup RX Buffers in Memory :
  3.  DSP Configures RD DMAs and DMA RXTX CODEC interface
      (Enable CODEC DMA interface buffer and
       Enable DMA LPASS_RXTX_LPAIF_RDDMA_CTL0.ENABLE
       and LPASS_RXTX_LPAIF_RDDMA_CODEC_INTF0.ENABLE
    If CODEC Fs, aligns with DMA interface being enabled
    there is an underrun as DMA interface pingpong buffer is empty.
    This results in channels being swapped.

Proposed work around while keeping current SW setup order.
Provide a workaround to Keep Fs disabled  until DMAs and
CODEC DMA interface are enabled and HW could  prefetch all buffers.
SW would keep existing setup order:
  1.  HLOS Setup WCD Analog Path, Bolero CODEC.
      CODEC would drive Fs to LPASS DMAs requesting for PCM samples.
  2.  DSP setup RX Buffers in Memory :
  3.  DSP Configures DMAs and DMA CODEC interface
      (Enable CODEC DMA interface buffer and
       Enable DMA LPASS_RXTX_LPAIF_RDDMA_CTL0.ENABLE
       and LPASS_RXTX_LPAIF_RDDMA_CODEC_INTF0.ENABLE)
  4.  Enable Fs Set #LPASS_RX_CDC_RX0_RX_PATH_CTL. CLK_EN to ONE

Change-Id: I7916667f5d857464cc7d77b51da307ab234cc7bb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-08-28 19:08:02 +05:30
Ralf Herz
2725174a50 asoc: Add sysfs node for spdif pre-emphase status
Provide pre-emphasis status in sysfs node that was received in spdif
channel status bits.

Change-Id: Ie25dd67920e2d73f74328d6ce96180d392f3d771
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2019-08-28 10:02:02 +02:00
Ralf Herz
05441f6789 asoc: codecs: Add ep92 pre-emphasis status
Provide pre-emphasis status in sysfs node that was received in
channel status bits.

Change-Id: Ice6f69806c993e2235b5ecb89dfc4028c03e02b8
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2019-08-28 10:01:30 +02:00
Ralf Herz
cf16dedb1f asoc: codecs: No I2C activity when EP92 is inactive
Only trigger periodic I2C telegrams when EP92 is in logical power on state.
Rely on EP92 interrupt to notice state change when in power off state.
Fix arc_enable write operation.

Change-Id: Id36f90379280ca5c60984e2ed507844418a612d7
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2019-08-28 09:59:17 +02:00
Aditya Bavanari
9f599b4a78 soc: Fix out of bounds access in register show function
In register show function, when snprintf returns a negative value
out of bounds access occurs while copying the data to user.
Add return value check on snprintf before copy_to_user
to fix this.

Change-Id: I96bfa64b1603c966852c1d4d4a12651664f17aed
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2019-08-27 22:18:41 +05:30
Laxminath Kasam
6b01d100ee asoc: codecs: bolero: audio HM voting only supported on bengal
On bengal target, audio HM voting is only applicable.
Update bolero driver to make audio HM vote if audio core handle
is not present.

Change-Id: I9abaf42c04aa8f1b89d9c08e628ab142ce99151a
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-08-27 15:14:25 +05:30
Sudheer Papothi
594cedb3dd ASoC: codecs: Use resource managed function calls during irq exit
wcd_init_irq uses resource managed irq addition. Similarly,
use resource managed irq deletion in wcd_irq_exit.

Change-Id: I67c702c1d2fbec0c7fd496672fae03a82cb63048
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-08-26 23:12:45 +05:30
Ajit Pandey
2e285bf25d dsp: avtimer: validate payload size before memory copy
Check payload size to avoid out-of-boundary memory
access before attemptimg memory read.

Change-Id: I94723b526449aacfe7b2fe30990fb77cdd15c5da
Signed-off-by: Ajit Pandey <ajitp@codeaurora.org>
2019-08-26 16:10:20 +05:30
qctecmdr
47673f2f83 Merge "ASoC: Kona: limit sample rate and format support based on codec" 2019-08-25 03:26:06 -07:00
qctecmdr
1f4c07b7a0 Merge "ASoC: qdsp6v2: increase RTAC_MAX_ACTIVE_DEVICES to 6" 2019-08-25 03:22:19 -07:00
qctecmdr
e275ee034a Merge "ASoC: wcd938x: add support to retrieve codec variant" 2019-08-25 03:20:21 -07:00
qctecmdr
474e2a0b08 Merge "asoc: codecs: wcd934x: Add NULL checks for mbhc" 2019-08-25 03:19:13 -07:00