Add new APIs to enable dynamic load and unload of BT
modules before afe_port_start and afe_close.
Change-Id: I74da9a49aac754d4557c7206155de65cf9b6bdaf
Signed-off-by: Harshal Ahire <hahire@codeaurora.org>
Add new APIs to set/reset power mode along with
island config before afe_port_start.
Change-Id: Ibd9487b04b691be5ab829cfa32c89953838f3192
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
Set correct number of speakers for Speaker Protection V4.
Change-Id: I66c656174bef64d3cdd64b17d994073e9ee58472
Signed-off-by: Vangala, Amarnath <avangala@codeaurora.org>
- Add support to adjust drift in audio interface
clock source PLL.
- ADSP adjusts the source clock based on clk id. Add support
in AFE driver to get clk id based on the AFE port.
Change-Id: I45ceb6579bb15e32541051e0ba936a2d903e4923
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Add a new fe dedicated for hearing aid and the support
of reading data from a new proxy port.
Change-Id: Id2e8ade6bfe5412ca6520d3cff70d6eebad7d7cc
Signed-off-by: Zhou Song <zhous@codeaurora.org>
When DSP returns error in clock or vote request
commands, update the clock status variable properly
to bail out from error scenarios.
Change-Id: Ib50e9e33b03fd77255b8719c125612686ea11b00
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Add change to support BE DAI link based on proxy
ports.
Change-Id: Id7ca274e330f025ac015567de86403fb14781cd0
Signed-off-by: Saurav Kumar <sauravk@codeaurora.org>
In set param for IIR sidetone in AFE, instance ID
assignment is done to param ID. Correct the assigment
to fix this.
Change-Id: I3fc6011631a6b581facddc9c417e219ed25cc3a4
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add variable bit rate mode support for aac codec.
Change-Id: Iedd9fe0df2d3a12e3d4e6c2916305399da10873f
Signed-off-by: Manisha Agarwal <maniagar@codeaurora.org>
There's some race condition when sending afe cmds between
USB playback and codec clk enablement. Add new clk_state,
clk_status and clk lock to resolve the race condition.
Change-Id: I2ccc77c20a274b797129b8b674c026ef003353d4
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Process port command DEVICE_STOP with
afe_cmd_lock to avoid any race condition.
Change-Id: I6e888a70e439cb6f3408d00644fb98a85ae53ef4
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
wakeup_source_init and wakeup_source_trash are removed in new kernel.
Update these two APIs to wakeup_source_register and wakeup_source_unregister.
Change-Id: I2415fac50d6370f205450d001e45696916f3c78c
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Synchronize afe apr send pkt commands to avoid the state
variable modification for multiple commands sent in
parallel. Use the common interface afe_apr_send_pkt
to send the apr pkt.
Change-Id: I17a573a28e227cce882c3330887ae2756ca4addb
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
lpass client handle variable stores latest lpass hw vote.
During PDR, core hw vote release proceed to call unvote
for stale handle since above variable is set to non-zero
as part of audio hm vote. Maintain separate handles for
respective lpass hw votes inorder to fix this.
Change-Id: I432ce38b253ce6d18a25f9845fa694912718c74f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
If get params is called without afe cmd lock, it
leads to race conditions with other callers calling
afe_apr_send_pkt and the status values read back
are getting overwritten wrongly by the callers that
call without lock.
Change-Id: I5af4d7bbbe01357dd9b6ae8efbe1831401003508
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Reset core hw vote client handle in SSR use cases
and do not unvote when the client handle is 0.
This is to clean up the client ids in SSR in
order to avoid unusual client deregistrations.
Change-Id: Id0cee50f7ca27e29db6134b7a70ae75334e0d765
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
V-Validation is not working due to different
size for cal_data and data_size. This is expected as
same callbacks are used for ftm and v validation.
Change condition to ensure data_size is less than
or equal to size of cal_data.
Change-Id: I78b4e6778de9cfa5f95830fc6d48b84e608ba3a5
Signed-off-by: Vatsal Bucha <vbucha@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 support to switch tws channel mode for aptx adaptive
encoder.
Change-Id: Ife4170be56b152d34758a1cfd20fa4ec203742db
Signed-off-by: Zhou Song <zhous@codeaurora.org>
As param_size is included in apr header pkt_size, out of
bounds access occurs in glink. Remove the param size addition
to fix this issue.
CRs-Fixed: 2472208
Change-Id: If8b34aeacd3bc9ba67ac9276eb1a8ebf0933f9f9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
In afe_get_cal_sp_th_vi_param and afe_set_cal_sp_th_vi_cfg
functions, data size check is not present which might lead to
out of bounds access. Add size checks to fix the same.
Change-Id: I99eca6065e6f5a050527f1bfce2bfcba28123b53
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add MI2S/TDM AFE senary port IDs for Kona target.
Change-Id: I8dafa4516c31040aad0bca30cfdc9acbdf460bf1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
IID support is set from user space during boot up
which can come in parallel with AFE set clock requests
due to which param payload is set in difference with
the actual set param command as per instance id support.
Change-Id: I07e45fda0943cac814f25c16da930dfae5d209a6
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add support for speech codec which is similar to a2dp aptx adaptive.
Change-Id: Ibfbcf086f009fdb561e26aaf92cefc92f1bd16ca
Signed-off-by: Zhou Song <zhous@codeaurora.org>