Add support to use 4p8MHz DAC rate for receiver over WSA.
Change-Id: Ia0811670326be8131687fbdff70464da063902b2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add changes to use wsa883x for receiver with
low_noise mode settings.
Change-Id: Icfa43ebbdb1e366f365053535f541bee03751ca3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
During sound card register init call, if swr pdev
is not initialized yet respective soundwire port
config is not updated to soundwire controller device.
In macro drivers, update swr pdev into macro private
data prior to platform device add.
Change-Id: Ifa67471cfc7a10b102b573df6285e598bb0b5e5e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
In bolero-cdc and tx, va, wsa and rx macros, move schedule_work call to
add the child devices to the point later to where the parent
initialization gets completed.
Change-Id: Iaa07329a25020dde21d9249c3848bb7fcf7d816a
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Auto suspend timer for core vote is triggering before read write complete.
Move the auto suspend of core vote to post read write operation.
Change-Id: I758cf57bde4e0b56320ef18f6f17adc655fc8fcb
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Use number of bits set in active_ch_mask to calculate
active channel count. This fixes improper update of
channel count if same kcontrol is issued more than
once.
Change-Id: I84dc33ad5b6dbfc3babf5bbfeab1e2e71af5983b
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
In ADIE loopback, need PA enable to
avoid mute. Ensure PA enable post slave
path setup and FS clock.
Change-Id: I4df9d7b919325b50f237f31338859e1b5b34b2eb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
This reverts commit d02c7efb35.
and commit 61f235e5bd to avoid AOP
related issues.
Change-Id: I0b8b44bc5cca6bef6bc18c228f08a9c585c79c1c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
Disable wsa swr gpio as wakeup capable to avoid waking up system
during power collapse.
Change-Id: I54d769d63c9e7c13d2920f038c64353a92556cfe
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Standalone mixing path on WSA is mute.
Enable soundwire path is not happening,
add respective call in mixing path widget
callback to setup soundwire and WSA.
Change-Id: Ia8df0fdcc4a022e4b86c11283dd3606412a2fb69
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
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>
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>
Retrieve sample rate for VI sense and update codec settings
based on it.
Change-Id: If4341bac77ecae290c44c4412a39b9e5cbf46ac0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Update mask of wsa macro to apply sample rate
as per config send during hw_params at powerup.
Change-Id: Icf9b40fecf655c06cc60d56ac31808e886f8a49d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Update smart boost sequence for wsa883x speaker amplifier
to reach max voltage at full scale signal.
Change-Id: Ic1a9ce13753d6e573c7916ae99643c85d6892aa0
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
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>
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>
Observe pop if FS clock is turned on at end of
powerup sequence. Ensure WSA PA is turned on
after FS clock to avoid pop.
Change-Id: Ic1214d361e77db252b7a90a89fc99c69f51e270b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
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>
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>
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>
Check for valid port before mux configuration.
Change-Id: Iaa32925f0c23305a2a3cedd0e476372aac380e0c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Runtime suspend gets called multiple times during SSR
scenarios leading to clock count mismatch. Add logic
to prevent this in all macros and pinctrl lpi driver.
Change-Id: I380631c1db8cd7d94a8909affd8c96c87f24817c
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
During adsp SSR, bolero runtime suspend is not called and
hw vote clks are not reset. Force bolero runtime suspend
during adsp SSR to avoid kernel panic.
Change-Id: Iff5983ef07f77ecc7f3f344948c013906b4bad60
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Reset GFMUX reg for va-macro and wsa-macro when adsp is up
after SSR. And check if clock is enabled before accessing
register to avoid kernel panic.
Change-Id: Idce9695be552cab0e8e389cf72eeb7a67a754bf9
Signed-off-by: Meng Wang <mengw@codeaurora.org>