Commit Graph

112 Commits

Author SHA1 Message Date
Laxminath Kasam
83d1640b7b asoc: bolero: Add core_vote before gfmux access
GFMUX access happen during RX macro usecase.
Update rx macro to do core_vote before clock
request.

Change-Id: I1afd38ae13066dcfbda307308afce7c4291142d9
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-10-23 15:38:32 +05:30
Vatsal Bucha
ef642d3e2a ASoC: rouleur: Update hph registers based on foundry id
Rouleur has different hph settings for different foundry
id. Read foundry id and update hph settings so as to
provide same settings to end user.

Change-Id: I114047226462ab95e0c93271c3d6099f15af2343
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-07-24 13:53:52 +05:30
Vatsal Bucha
48029da3fe ASoC: rouleur: Change hph and ear gain according to soc capacity
Register to power supply framework to get soc capacity.
Reduce ear and hph gain for reduced voltage to optimize
power consumption. Also set LD22 voltage to lower value
for low SoC.

Change-Id: I94de9341b8c7307128d3cd41c7398c31d57fa685
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-07-21 19:33:24 -07:00
Sudheer Papothi
e0b041f380 ASoC: bolero: Disable rx swr gpio as wakeup capable
Disable rx swr gpio as wakeup capable to avoid waking up system
during power collapse.

Change-Id: Idd76f8304e61b97e53ca82e407bedbdc9b0f5a7f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-07-14 10:06:09 -07:00
qctecmdr
d36eef9148 Merge "asoc: bolero: Ensure va-macro is registered before other macros" 2020-07-14 06:11:20 -07:00
Laxminath Kasam
b9ff5ac5b0 asoc: bolero: Ensure va-macro is registered before other macros
As va-macro has fs_clk gen, ensure va-macro
is registered before other macros.

Change-Id: I8283dc11817caf0c208fe231132951a7a79b7d51
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-08 19:51:47 +05:30
Vignesh Kulothungan
b629237a0e ASoC: bolero: add rx_macro_rx5 dai for dsd
Add rx_macro_rx5 dai for native dsd playback support.

Change-Id: I52a47e1d908fddda4c9d1a5546f9a00d6b8a7ba4
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-07-01 12:59:17 -07:00
Laxminath Kasam
034cd15ba8 Revert "soc: mstr-ctrl: Retain Audio_HM voting until suspend"
This reverts commit d02c7efb35.
and commit 61f235e5bd to avoid AOP
related issues.

Change-Id: I0b8b44bc5cca6bef6bc18c228f08a9c585c79c1c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-06-22 09:40:14 +05:30
Laxminath Kasam
d02c7efb35 soc: mstr-ctrl: Retain Audio_HM voting until suspend
Restore change to retain audio_hm voting and
ensure AOP hang issue not seen by masking interrupt
wakeup of swr pinctrl pins.

Change-Id: I51bf36d6d6b0999abf10a4bc94cce900d1adf1d5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-06-08 16:24:54 +05:30
qctecmdr
3938234bc8 Merge "asoc: codec: Add pre ssr up event for all macros" 2020-06-01 10:27:01 -07:00
qctecmdr
9255140167 Merge "asoc: bolero: Update rx dc droop register setting" 2020-06-01 10:27:00 -07:00
qctecmdr
55f0ab64cd Merge "bolero: rx-macro: Resolve noise on ear path during hph ear concurrency" 2020-06-01 10:27:00 -07:00
Prasad Kumpatla
515fc228ee asoc: codec: Add pre ssr up event for all macros
Add a pre ssr up event in all macros ,where GFMUX reset
to done before set the dev_up flag to true.

Change-Id: I77229ccd0ed68aac841146a89fe7f76961260aea
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-05-26 15:15:51 +05:30
Meng Wang
30fad2dc20 asoc: codec: update SOC_SINGLE_SX_TLV to SOC_SINGLE_S8_TLV
Update SOC_SINGLE_SX_TLV to SOC_SINGLE_S8_TLV to make codec
driver compatiable with upstream driver.

Change-Id: I4061b015d715978f3b294ad630f53b64bf66c2b7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-05-19 08:34:39 +08:00
Laxminath Kasam
06f7fcd942 asoc: bolero: Update rx dc droop register setting
For RX DC droop setting, ensure update proper
value during powerup/powerdown based on
sample rate.

Change-Id: I269d41452911e1999b2dbdf4fa22e383aa973848
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-12 22:59:08 -07:00
Vatsal Bucha
ec8b554e4d bolero: rx-macro: Resolve noise on ear path during hph ear concurrency
There is noise on ear path during hph and ear concurrency.
Set proper HPH_V_PA voltage when both hph PA is in
class-H mode to resolve noise.

Change-Id: Ifbbfb5691687dcb2202358c1e387252954d58db2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-05-12 22:52:06 -07:00
Prasad Kumpatla
a804ab121b asoc: Fix port collision interrupt in WSA
During multiple PDR usecases, due to sync issues
port collision interrupt is observed.
set wsa state to device down  before cancelling the ocp
workqueue and bail out from the workqueue when wsa state
is set to device down.

Change-Id: Ibefb338c1d6d2901b8773928fa2c0c48b51ac6f7
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-04-29 23:25:56 -07:00
qctecmdr
2811ce0144 Merge "asoc: bolero: add channel map for AIF6_PB" 2020-04-26 23:42:49 -07:00
Aditya Bavanari
236ff485d2 codecs: Enable clock voting logs to debug AHB/NOC issues
Enable clock voting logs to debug stability issues.

Change-Id: Ie1f995ab004778a81ea42baad15ea36858407e9a
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-04-20 10:17:02 -07:00
Aditya Bavanari
e2f52ea5c0 asoc: codecs: Add system sleep ops for macro drivers
Add system sleep ops and invoke force runtime suspend for all
the macro drivers in bolero in order to synchronize
system suspend and runtime suspend callbacks.
Use freezable delayed work queues instead of normal
delayed workqueues in order to avoid contention with
pm suspend callflow.

Change-Id: Ibb0d35ad80c09e7f2a7032b4daef53c359056dfd
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-03-23 20:44:38 -07:00
Meng Wang
fe623c6314 asoc: bolero: add channel map for AIF6_PB
Add channel map for AIF6_PB.

Change-Id: If17835b84c17406aaffdc9d06a00348acb0fe18e
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-03-19 15:15:23 +08:00
Sudheer Papothi
2e7fc986d2 ASoC: bolero: Add codec DAI to support PCM interface
Add codec DAI to support PCM interface to soundwire master on
RX macro in bolero codec driver.

Change-Id: Iaf5a9d9cf78ec9dc29b60ebd7736504ec6470e57
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-12-27 11:17:19 -08:00
qctecmdr
fec5f13aea Merge "asoc: Audio bringup changes for bengal" 2019-12-05 06:57:05 -08:00
qctecmdr
85661d1f96 Merge "ASoC: bolero: Update the sequence for native audio playback" 2019-12-05 06:52:39 -08:00
Laxminath Kasam
696b14bfa2 asoc: Audio bringup changes for bengal
Audio bringup fixes for bengal target.

Change-Id: Ic79c478fe3c6b80eeb48aa2bcf1887c8dd8f5edc
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-04 15:07:29 +05:30
Sudheer Papothi
03eeaf15cd ASoC: bolero: Update the sequence for native audio playback
Update the clock sequence for native audio playback to avoid
any distortion or change in gain during native audio playback
usecase.

Change-Id: Ia9aaa63f3e476b49a07d49b794f4120ed55bac47
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-12-03 06:02:06 +05:30
Linux Build Service Account
1e4e99502b Merge "ASoC: rx-macro: Update rx droop based on sampling rate" into audio-drivers.lnx.4.0 2019-11-24 23:58:23 -08:00
Sudheer Papothi
cef55160eb ASoC: rx-macro: Update rx droop based on sampling rate
Update rx droop based on sampling rate to avoid change in
gains between different sampling rates.

Change-Id: Icb2b0bc51a61395c2ee96f63c29555614fe9e505
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-11-15 23:23:49 +05:30
Karthikeyan Mani
35955cb60f asoc: codecs: bolero: do not perform soft reset
In event handler for soft reset, do not perform
soft resetting of the compander as this is not
the recommended sequence. Compander config
needs to be done only in interpolator enable
function.

Change-Id: I9bb1d493860adc924252827594219618f16309b0
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-10-21 12:02:33 -07:00
qctecmdr
0f6392dc14 Merge "asoc: codecs: Check for core votes count before accessing registers" 2019-10-15 00:22:20 -07:00
qctecmdr
6a164b940d Merge "asoc: codecs: bolero: ignore children for pm suspend" 2019-10-15 00:15:16 -07:00
qctecmdr
f138524159 Merge "asoc: codecs: bolero: Add support to disable aux hpf" 2019-10-12 09:01:00 -07:00
qctecmdr
75b962681c Merge "asoc: codecs: bolero: Do not return error for unused gpio" 2019-10-12 08:58:56 -07:00
Aditya Bavanari
d577af909c asoc: codecs: Check for core votes count before accessing registers
Check for core votes count before accessing swrm registers
to avoid NOC errors.

Change-Id: I5689d6a6db0886ed4cc791738a28290f3d953412
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2019-10-10 20:29:49 +05:30
Karthikeyan Mani
3d209514a9 asoc: codecs: bolero: ignore children for pm suspend
Allow bolero macro's child  devices to pm enable
irrespective of state of their parents.

Change-Id: Ie615ea2db097760de75682b5881f71a37a735fa2
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-10-06 23:06:32 -07:00
qctecmdr
3c19b49560 Merge "asoc: codecs: bolero: Update mixing path and channel mask for RX path" 2019-09-30 23:31:40 -07:00
qctecmdr
96957b41b9 Merge "ASoC: bolero: Update init registers for tx and rx paths" 2019-09-20 00:29:19 -07:00
Sudheer Papothi
72fef48d6b ASoC: bolero: Update init registers for tx and rx paths
Update init registers for tx and rx paths in an array.

Change-Id: I2738af7639ffec05b5c93e86a2a3f4cf7ccb36fe
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-09-15 00:13:35 +05:30
Karthikeyan Mani
1253c36aea asoc: codecs: bolero: Add support to disable aux hpf
Add a mixer control which can allow for aux hpf
to be either enabled or disabled based on its switch
settings.

Change-Id: Ie300c89e1e2f3669846d6bab250b7f4da4a7632a
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-09-12 11:35:30 -07:00
Karthikeyan Mani
8d40a06347 asoc: codecs: Add core vote functionality for soundwire
Add callback to vote for core votes that the
soundwire master can use while doing a clock request.
Check for pinctrl function errors and in case of any
failures return from clock enable with an error.

Change-Id: Ic5c200d7179a1e3a9695955d8711358cd7618bd1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-09-11 11:20:27 -07:00
qctecmdr
ee29c8d3d7 Merge "asoc: codecs: bolero: Fix L/R swap issue on bolero RX" 2019-09-11 08:47:35 -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
qctecmdr
96ea26f502 Merge "asoc: codecs: bolero: load hph filter coefficients" 2019-09-04 03:16:16 -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
qctecmdr
efdfdf2782 Merge "ASoC: bolero: check for port validation before configuration" 2019-08-25 03:14:53 -07:00
Karthikeyan Mani
75ea1b8ade asoc: codecs: bolero: load hph filter coefficients
On hph playback usecase with compander enabled, load
hph filter coefficients to better center gain errors.

Change-Id: I3ce50d6e7b9a10255df8084adb0566d8bf9b47c7
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-08-22 15:09:49 -07:00
qctecmdr
ab0a45b0db Merge "soc: swr: avoid SSR state when switching between 44.1 and 48k family" 2019-08-20 00:02:12 -07:00
Sudheer Papothi
c0f75b7727 ASoC: bolero: check for port validation before configuration
Check for valid port before mux configuration.

Change-Id: Iaa32925f0c23305a2a3cedd0e476372aac380e0c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-08-19 22:52:56 +05:30
Ramprasad Katkam
2e85a54634 soc: swr: avoid SSR state when switching between 44.1 and 48k family
Avoid SSR state, and do only clock-stop-resume to reset master  when
switching between 44.1 and 48k to avoid redundant re-enumeration.

Change-Id: Iaa955c4ceb75f30c68106468676ddb2551537de4
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2019-08-12 01:31:48 -07:00