Currently, the fs_cntr for MAD is enabled whenever the MAD
audio path is enabled. But, a new issue is reported where
MAD fs_cntr is required even for some of the non-MAD paths.
As per hardware requirements, enable the MAD fs_cntr always
from the codec default registers.
Change-Id: I6fe8f663b82e711b4194aa51a3e21150aa98cf02
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
When micbias is enabled set curr to higher value for
vreg bob bypass and when it is disabled set it
to default value for sm6150.
CRs-Fixed: 2315478
Change-Id: I451506002f382e666d47bc83944bdc8dbbedcad8
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
During SSR, when the playback on speaker gets started before codec
is out of digital core power collapse, results in soundwire
register read/write failures. Check for codec power state before
enabling the soundwire during speaker device path enablement for
playback usecase to avoid soundwire register read/write failures.
Change-Id: I3b45ef0c34ad4f97aad89afaf719989ffbda7485
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
ANDROID_BUILD_TOP variable is deprecated and thus all paths are
assumed to be relative to the top directory.
Change-Id: Ifc1bba67bf47092a37336581990d4bcce82a72f5
For new swr master controller to recover WSA on wcd934x variant,
trigger events from wcd934x driver for ssr down and up.
Change-Id: I8f0163178708760ef3ad2a765a80682611693e9b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
When codec probe is not correctly completed and ADSP SSR happens
before sound card is registered, calling SSR callback may result
into NULL pointer dereference and kernel panic happens.
Check sound card state when calling device_down and post_reset to
avoid NULL pointer dereference.
Change-Id: I35fd84af51edf45db6fd451dc68dbcaaed11fee7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Check for in2p clamp state in insertion irq
and ignore the interrupt if the clamp is already
set, which means the mechanical removal is about
to happen next.
Change-Id: I55691d427cf07d5b61862b6dbd39f3ec34d873e5
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add support for SSR/PDR handling using SND event framework.
Change-Id: Ia96858ed6dc43cbb80d01a7797abb57442813d3b
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Currently, for any WDSP errors, the driver collects the debug
dumps/information based on trigger from userspace. This is protected
under CONFIG_DEBUG_FS and should not be run unless stress tests are
executed and this functionality is explicitly enabled since
performing debug dumps could possible leave the WDSP in bad state.
Add debug node to control dumping debug information and not rely
only on CONFIG_DEBUG_FS
To enable debug dumps:
echo 1 > /sys/kernel/debug/wdsp0/debug_dump_enable
To disable debug dumps:
echo 0 > /sys/kernel/debug/wdsp0/debug_dump_enable
Change-Id: I67d8781839d9caee16e6bf6a5befd9010ccaafc0
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Due to the local char array that stores the codec dsp control command
is not initialized, an invalid command could cause the stack content
to be printed out in kernel dmesg. Initialize the array with memset.
Change-Id: I739eacb5058275c91bef67505531097cb364b93e
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Update config file and make rules for msmsteppe
compilation.
Change-Id: I374a0725a7dd36edc9e04652fb07dc719310565c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
When ssr is in progress, during some race conditions
mbhc events are getting reported when codec is still
coming up. Ignore such events without reporting.
Change-Id: I3d3f78f97c2b855fc36a480f38c166bda2d979f0
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
In the case of WDSP boot timeout, api_mutex and ssr_mutex have already
been acquired. There is no need to do mutex lock again during debug dump.
Check the signal enum to see if it's the internal WDSP boot timeout case.
Change-Id: I6fe5e77b1bff72ed5ad463bb1df76c6b02c84c92
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Cancel any pending delayed work in device down call
to ensure no work is scheduled during or after a
SSR/PDR sequence.
Change-Id: I4cc89cb1a9d8be732c978044d4eea3cf6644ec30
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Use hardware default value for boost state in regmap.
Use correct mask for initial value of boost state.
Change-Id: Ia8b707ba0128662d47059d25325693bc8eaff723
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Reset power_active_ref counter to 0 when it is negative to
take digital core out of reset during next session.
Change-Id: I724ffe6e3547655424238ca02a9bf8ac24b101fe
Signed-off-by: Meng Wang <mengw@codeaurora.org>
If wcd934x config is removed, need to stub out the
APIs to load any dependent audio modules and enumerate
sound card.
Change-Id: If885d4d1f0ee83448ac41ed66b51f078978cb7d1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Use CONFIG_ARCH_SM6150 for Talos to enable
proper compilation.
Change-Id: I14e06122116c431bf4b99da3a061d165f68e0d4f
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
Add MSMSTEPPE in the makefile rules to enable
compilation for SDM640.
Change-Id: I36437404d98229c8b292fd63304498122d8c8687
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
Update all audio drivers to use updated chipset name in
files, functions, architecture specific configurations
and the device tree compatible strings.
Change-Id: I507948866213ddb8806edea71a57c1f29ce7e71b
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Update all audio drivers to use updated chipset name
in architecture specific configurations and the device
tree compatible strings.
Change-Id: Ib1abe643c6914c1b0b57ef110c7b60e23e356d97
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
WSA8815 requires default boost state of MAX_STATE_2, when
speaker protection feature is disabled. Set boost state to
MAX_STATE_2 in all cases for WSA8815.
Change-Id: Ic700d9a206e94a4cdd1d99f8547bed9df1e759e8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Null check is needed before accessing swr control data
to ensure proper error handling in case speaker path
is issued when swr is not enabled.
Change-Id: I5037a912652189b3ae58f1119d0534777a9c264a
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Update register default values before post SSR to avoid codec nack issue.
Change-Id: Ibf1e3275d27c4b65ab179b9ddc5a51621c89eab7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
In Tavil driver, both ANC0 and ANC1 channel registers are written when
each ANC channel is enabled. This logic results in high latency during
ANC enablement on Tavil codec. Optimize this logic by only writing the
corresponding channel registers when enabling ANC0 or ANC1.
Change-Id: I62e8572967e6ca6c851cbaaad5f1b8c19e5b1a5f
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
During Tx path enablement, amic information is needed for proper
power level settings and for better performance. Existing API returns
incorrect amic information. Changes provide the correct amic information.
Change-Id: I18f3f35212cae47e5d944c2e075f03889147722b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add support for WCD934x codec on msmnile target for audio
playback and capture usecases.
Change-Id: Ia91fd532fcb3a127941f8dc7ba42aecea17a5ec2
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Observe mute issue when PDR triggered while music playback
on HPH. As per HW recommendation, ensure OCP is turned off
before PA enable/disable. During PA enablement, turn off OCP
to avoid false OCP interrupts.
CRs-Fixed: 2167007
Change-Id: I0dc2cc6ded3416b635d14dc3b7aafa7997fe9a4d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Currently IIR coefficient values are written to HW everytime when
digital core comes out of power collapse. This increases playback
cold start latency. So update IIR coefficient values before IIR
band enable.
Change-Id: I57ad54b4674ed0a49fdfc55d77c519568f5a7893
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Change i2s max rate supported for tavil to 384000Hz.
Cleanup usage of intf_type to optimize differentiation
between slim and i2s.
Change-Id: If6451dae7c61e8f61be3d5a13549f98b382e5054
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add support for tavil i2c access. Add audio
routings dapm widgets for data and control.
Change-Id: I96ebf7a5700b10f294f4fadfeeb21dab490a9313
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Limit size of val to WCD_MISCDEV_CMD_MAX_LEN to avoid stack overflow.
CRs-Fixed: 2177167
Change-Id: I5d2b91e92305d6a485b2e8f959036504f0f55b13
Signed-off-by: Vaishnavi Kommaraju <vkommara@codeaurora.org>