If PM runtime resume fails, hardware vote will not
happen until it is suspended. So in error scenarios
set for a lesser suspend delay so that voting can
happen sooner.
Change-Id: Ia4175535e45ec291292b8d8656146826ffd05a26
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
For soundwire devices, if core vote function is available,
do a core vote before doing a clock request. This way
we retain any hardware votes needed before doing a read
or write.
Change-Id: If29b5f102be4f2d60e6d71cae70ac43e3fdaa00c
Signed-off-by: Karthikeyan Mani <kmani@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>
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>
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>
Open adm with 32 bit-width when HiFi Filter control is set
Change-Id: I2c4c4c732b15b26b42d8169ae4c945356bf2bfa6
Signed-off-by: Ramlal Karra <rkarra@codeaurora.org>
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>
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>
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>
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>
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>
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>
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>
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>
QCS405 can group data lines of several MI2S interfaces.
This feature is used with new META MI2S ports.
Change-Id: I0d8c2de742e04d7348e40e1026b1640c3f987479
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Add enum mixer control to support changing
adc mode bits for different power modes in
recording use case.
Change-Id: I9a0287b7b32285d39e65f98b5518dedd3a24af94
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>