In case of voice_alloc_rtac_mem_map_table() failure no memory get
allocated for rtac but dma_buf pointer might get corrupted and may
point to some unmapped memory region. Since we are only doing NULL
pointer check for dma_buf in method is_rtac_memory_allocated() we
need to reset such pointer to NULL in failure case.
Change-Id: I5e81adad4e302620757375f87fa15344e07dccf8
Signed-off-by: Ajit Pandey <ajitp@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 for lsm_common.
Move lsm_common mmap apr deregister out of mutex_lock to
avoid deadlock.
Change-Id: I7c96ba12834bd4a7c8e5ca1b78d798578678b251
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Function q6lsm_get_session_id_from_lsm_client will print out the
physical address of a lsm client pointer in error message when it
fails to find the matching lsm client. This is not needed because
the address information is redundant and might cause potential
issue when a lsm client is already invalid.
Change-Id: If8c38b566c839c4b45d98e79802d0fd6efb5bdb9
Signed-off-by: Xiaoyu Ye <benyxy@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>
Current implementation allocates fixed size for array priv->adsp_fw_name
but this may result in out of bound access if source adsp_fw_name_array
dts property size exceed this fixed size. This patch fixes this issue by
allocating priv->adsp_fw_name array with dynamic size of source array.
Also fixes bytes copied in strlcpy.
Change-Id: Iea031952224672c34eb7245996687985e18ef8be
Signed-off-by: Ajit Pandey <ajitp@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>
Add adsp ready check before accessing avtimer registers in
order to avoid NOC errors on these registers during SSR/PDR
usecases while querying offset.
Change-Id: I9246302f01906ab35095c76f729ea082b9756cc5
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Some ECNS topologies can't support sample rate of 48KHZ,
reset it to 16KHZ for such use cases.
Change-Id: I5d0457feb2e74929546746fd4b184f2d7e065fbb
Signed-off-by: Yunfei Zhang <yunfeiz@codeaurora.org>
During SSR, q6lsm_mmapcallback could happen before
q6lsm_mmap_apr_dereg. q6lsm_common.apr and
q6lsm_common.apr_users are cleared in q6lsm_mmapcallback.
Add apr NULL check in q6lsm_mmap_apr_dereg before accessing
q6lsm_common.apr_users.
Change-Id: Ia0ff57b3fff0a0e4f26b836a8a15324406af1a14
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Sometimes adsp may fail to allocate memory for SVA calibration
data and add check if mem_map_handle is assigned with valid
non-zero handle to avoid panic.
Change-Id: Icad722edc52906e63d581aafa02b42b8518ebca6
Signed-off-by: Meng Wang <mengw@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>
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>
support for AMR codec in compress driver path.
Change-Id: Ife1d82caddf87a904f8c8b0402fc79f05a8289d1
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
Load different adsp images based on nvmem property
of sku variants. Read fw image name mapped to
nvmem property's value and load it based on sku
variant.
Change-Id: I99ffe171ec8c42c0ee9e148f171c557353d72910
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
In programable channel mixer, path type is derived based on
afe port id. Due to this, wrong path type is obtained in case
of loopback usecase where Rx port is used to capture ec ref
signals. This leads to wrong channel map being set in channel
mixer. Instead use session type to obtain path type.
Change-Id: I5292ed5eed1366ac28d72e4ca0815ab62e91fa60
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Update makefiles to use TARGET_BOARD_AUTO instead
of TARGET_PRODUCT for automotive platform support.
Change-Id: Ic688e8b13ba9c4b6f100c1acec50940053895d3d
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Add audio support for sdmshrike on automotive platform.
Change-Id: I39c70fd7ed66124827f55b7a6e0a834cf735d301
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Add new interfaces stub functions for Dolby security change,
since ion_vm share the same header file with ion.
Change-Id: Iaac5931a9c97eafe1a8cc5980ac70b9a62288faa
Signed-off-by: King Tam <kingt@codeaurora.org>
CVD version update is needed to support a new modem
feature. Add support for CVD version 2.4 in internal version
mapping table.
Change-Id: I26627e3c88b424acca8f85696dd58d7ce2e944d9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Reset ec ref port id to invalid port after use to ensure
it is not picked for other adm sessions.
Change-Id: I802326122ad6dc63c7f2df16169da3f50559202f
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
After PDR, audio avs services still are initializing state.
Avoid sending q6core command after PD up event immediately,
wait for sometime before sending the q6core ready command.
Change-Id: Ibee38db9ee1a30b7852da3d08cac7b0d06371733
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add interface for userspace to control FFECNS effect.
Change-Id: I78010899e6c193726a79d74e86f13a1546106eff
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Remove the dependency on dedicated config flag for the
use of new API versions in ASM and ADM open commands.
Dependency is now on ADSP service version only.
Change-Id: I2e7bcec675bafb9ad9e2a10df4ccc1e52bb72c92
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Add support to query presentation position from DSP
in system time domain.
Change-Id: I42b4d234ddc256f93c01defbe2c74872a2a2cf3e
Signed-off-by: Surendar Karka <skarka@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>
The read compressed in IEC61937 mode doesn't unpack data to frames, but
data flow still requires frames_per_buf to be set to nonzero value.
Change-Id: Idb09219c57d7790cb90df62c97baf3ef0e9d8a2f
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
DMA buffer does not unmap after kernel ion map failure. It leads
to unexpected vaddr and memory leak.
Change-Id: I363dd9178a0bcbca601180bfd0a7bd7ef2430d3e
Signed-off-by: Xiaojun Sang <xsang@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>
Adapt to non sys heap support for SMMU FE driver on GVM of
automotive.
Change-Id: I67f5ca511cea1a7a5c1615868b5b2d74e6b22dac
Signed-off-by: Timothy Sham <tsham@codeaurora.org>
Define channel map for channel count 14 for adm and asm to
support capture usecases for this configuration.
Change-Id: Ieb43dafd05f88bf34fa512fd7268258163e9ac92
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Hard coded stream id fails rtac call for subsequential gapless stream
which uses stream id other than default value. To get/set rtac for
gapless session successfully, we need to update the stream_id as a part
of asm apr header with correct value populated from asm session table.
Change-Id: If4afd73b4cf11bf91730a58ae6dff03efb04519d
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
Exposure of driver bind/unbind to userspace via sysfs may
lead to unexpected behavior.
Hide bind and unbind by driver attribute.
Change-Id: I20d6ee653bcc16af15d6368664aaf240c6645cd0
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Add support for virtualized ION frontend driver for audio.
Virtualized ION driver currently is designed to extract
physical memory through hypervisor abstracted ion layer,
which can be shared between APPS and ADSP directly.
Change-Id: I3c664ec3c3a99ce092da6ee103a3b2de4073664f
Signed-off-by: Timothy Sham <tsham@codeaurora.org>
A new module called DAM is introduced to achieve common shared
memory for SVA use cases in LPI. Add new mixer control interface
to provide support for STHAL to configure the data that LSM gets
from AFE to be either processed or unprocessed.
Change-Id: I8556413257c6a2aee4739bcd89ffd130805af0c5
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Add asm channel map support for 10channels to support
10channel recording usecase.
Change-Id: Ic939eabed893e9e56b17e62bc5100f2d6d51732f
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Add MI2S/TDM AFE senary port IDs for Kona target.
Change-Id: I8dafa4516c31040aad0bca30cfdc9acbdf460bf1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add check for mfc channel count before issuing mfc
media format command.
Change-Id: I0541d6651ecfcc90562ec0d9a632d039e34658cf
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Add multi channel map support per afe port.
Change-Id: Ib032d1c81d918417f516131f11c500e4f6668b39
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Add support for incall stereo capture for voice uplink
and downlink capture
Change-Id: Id23448990170b8215f547073608cd6a998d479ae
Signed-off-by: Arun Mirpuri <amirpuri@codeaurora.org>
Replace all kernel make export <all variables> instances with
export of specific variables. Depending on existing build
environment, exporting all as environment variables and
interaction with existing environment variable expansions
can lead to undefined behavior.
TODO: This change is restricted to kona flow to narrow impact.
All remaining export <all variables> need to be evaluated and
fixed similarly via subsequent changes.
Change-Id: I9114b88f7511d1b3f9b496b76fb6da9db97772b8
Signed-off-by: David Ng <dave@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>
This reverts commit 40c749da4c.
This change needs a corresponding change in msm-4.19 which is
not yet ready. Revert this change for now, until the dependency
change is ready to be merged.
Change-Id: I7ac030b03c01500e6061dbc6e5b4ad13385a0109
Signed-off-by: Banajit Goswami <bgoswami@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>
MHI APIs have been updated to support LPM. Move to
newer API to make use of device LPM.
Change-Id: I53bd3dff1b66d064091f21eb5f2a36ee77f965ed
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
While allocating lsm client, lock and conditions are initialized
after registering session with APR. There is a possibility of
accessing uninitialized condition from q6lsm_callback when SSR
is triggerred after the port specific apr is registered.
Initialized lock, condition and state before registering session
with APR to avoid invalid access.
CRs-Fixed: 2230065
Change-Id: I48b6eb7670863c45b0539155592ea0b0a3c1bffc
Signed-off-by: pavanc <pavanc@codeaurora.org>
Updates to send VAD enable or disable to AFE port.
Send VAD and island configuration based on the ports
on which these features are supported in Vipertooth
machine.
Change-Id: Ib3e6d46fed3bf9e822f350c9ec0dc629cd82547e
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Support group tdm multi lane configuration for TDM interface.
With valid lane mask tdm interface support delivery audio channels
through different data lines.
Change-Id: I63e8ba1106b89c6bcaca0a8359a1def696c334ad
Signed-off-by: Cong Tang <congt@codeaurora.org>
Replace clock reference from wall clock to MONOTONIC.
This is to avoid getting impacted when system time is
set backwards or forwards (either through network or manually).
Change-Id: I98625b033f689002c9334633cf3944608d5a77d3
Signed-off-by: Md Mansoor Ahmed <mansoor@codeaurora.org>
AFE callback payload response for param id FFV_DOA_TRACKING_MONITOR
is not handled properly. This is resulting in 2sec
of wait event timeout delay. Updating the state event and
status event based on the payload response. This decreases
hal load time by 2sec.
Change-Id: If960ee14e264b3fe444463b47878d29aaee5e63f
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
During SSR avoid printing some errors which could lead
to excessive logging.
Change-Id: I5f9e7e5f32bc3de87996838048514e16d59c97a6
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Avoid float operation during excursion calculation
since that impacts CPU performance. Maintain the
same precision for 2 digit as per requirement
for final value to print in sys/class node.
Change-Id: I34d0f2e7b9eca499206ee9d30acf0d9121b0442e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Payload size validity is not checked before using it in array index.
Check payload size to avoid out-of-boundary memory.
Change-Id: Ic0b06bb331fc1753ff7543bb218ab12d6a4a3ca8
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
Check if payload data is big enough before accessing
the data in it.
Change-Id: I939f205a8cebf6ef4859f81fae5429bca013d540
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Due to redundant payload checks, ASM
get param requests in RTAC mode fail with timeout
errors. Fix this by removing the redundant
payload checks.
CRs-Fixed: 2372302
Change-Id: If08ec942f3530e132b5980da579ea1766d21c52b
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Initialize pointer to NULL to avoid any access
to uninitialized value in case of a failure.
Change-Id: I81ecb76a30b481f57fd62448e954c227ffbc421f
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Validate payload size before accessing data from ADSP.
Modify payload size checks to accommodate for variable
payloads, payload size vary from size of one integer to
many based on opcode and other variables.
CRs-Fixed: 2380694
Change-Id: Ic5e0eb72441da8f29cf645968c9df09e7803701a
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Release spinlock in EVENT_READ_DONE before return
if payload size is invalid.
Change-Id: I0fe4f841ce73ecfc30fe70334e203443e5e2cb28
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Make sure to get apr handle before sending a packet
so that it does not end up with no handle to send
the apr packet.
Change-Id: Iaaebee3ddc6c83896e4cb9dc8149d310fc7d67f1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Trigger xt logging getparam at every playback close
and store data. When app queries sys/class node, return
stored values and reset to 0 for some params as per
app requirement.
Change-Id: Ice1a3e9a7e03062390f1c36184a971635e55d450
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Implement get param for AFE_PARAM_ID_SP_RX_TMAX_XMAX_LOGGING
in order to get excursion params from DSP.
Change-Id: I5129938c51c6f6ede9d4703d13be60d04d26f5e3
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
With speaker protection in v-validation mode, speaker
samples can be tested in early factory mode. Add
support for v-validation feature from driver.
Change-Id: I92493d6d2784cf4dd58021746bffe01180f89d23
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Check buffer size in qdsp_cvs_callback before access in
ul_pkt.
Change-Id: Ic19994b46086709231656ec747d2df988b7a512f
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Excessive logging by pr_err() could cause audio thread to stuck
in the printing session which results PD down notification timeout.
This eventually can cause ADSP PDR failure. Fix this issue by using
pr_err_ratelimited and dev_err_ratelimited to limit the number of
error messages during the ADSP PDR.
Change-Id: I68b617fef53ebd03ba79fd919bffd8c35e6eb048
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Check size of payload array before access in qdsp_cvp_callback.
Change-Id: Ic5ea6686a1a09df75ddd5e6fdcdfbd74efff83d8
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
Check size of payload array before access in qdsp_mvm_callback.
Change-Id: I81d945f963cfb4a3cb26155700b82880d891ec5e
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Add support to process ec at channel count other than the
playback channel count by providing ability to set downmixed
channel count and downmixing weights to be used to downmix
ec ref data obtained from playback path.
These configs would be used to explicitly configure MFC module
present in ec ref path, for usecases where ec processing cannot
be done at playback channel count due to algorithmic or resource
limitations.
Change-Id: Iaa80a0f0da3697c55751b2201578252d6466d3b5
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Check the size of ADSP payload before accessing it.
Validate buffer index obtained from ADSP token before using it.
CRs-Fixed: 2372302
Change-Id: I3f5e1b6f515935a10a8c59c324452be0a71f9473
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Channel_mapping array size varies for different commands.
Add check for num_channels before calling q6asm_map_channels.
Change-Id: Iccbcfe82f716fc0ffe0a26b1779dcaa1c3cb805b
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
When ADSP is in power collapse or island state, it would fail
to access LPASS codec register.Vote for LPASS core to avoid
LPASS power collapse with pmruntime approach while accessing
LPASS registers & TLMM.
Change-Id: I74d037e499fb6f1245b9a1bd1b0a77200608c27b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Handle media format update events from ADSP in case of DSP loopback.
Change-Id: I4004759cc77a05f46106d359417f97f0326af19d
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Allow to mark entries in a channel map as unused to prevent mixing other
channels in that slot.
Change-Id: I06f7de932dec4d30b2d6cfe04460d07ddad89049
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
echo reference value reset after open leads to second SVA session
without echo. Undo the value reset.
Change-Id: Ie6ae357108beed0c8f034a3408c494475376e486
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Check size of payload array before access in q6usm_callback.
Change-Id: Id0c85209a053f9dfdb53133aeb6b2510ecf18eb8
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Check size of payload before access in q6usm_mmapcallback.
Change-Id: Iff0672532c2ea40e7129237a92d8365d6b554cf2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Payload size is not checked before payload access. Check size
to avoid out-of-boundary memory access.
Change-Id: Iaa39ee4ea5489bb5579e7b7d5dfada12d88c5809
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Check the size of ADSP payload before accessing it.
CRs-Fixed: 2380694
Change-Id: Ib0c0f0bf6c7f7cf659df0eb70a3f66cee580cb66
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
The range checking for audio buffer copying in function
"audio_in_write" is using the incorrect buffer size.
Change it to the actual allocated audio buffer size.
Change-Id: Icb9a9e9c3b3d3c6e55e7bad20b34f94784b82674
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Token from DSP might be invalid for array index. Validate the token
before being used as array index.
Change-Id: I9f47e1328d75d9f9acf7e85ddb452019b6eced0a
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Add support for Aptx Adaptive decoder. Introduce flag
to indicate ABR feedback decoder configuration to
differentiate from regular decoder configuration.
Change-Id: I272e0a9572a56e878f7ad1385514b3be7010145a
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Add needed exports in q6afe. These are
needed for sdxprairie drivers where LPASS
provides the clock.
Change-Id: Icd8256153523c8827ffd65eda1152ef9ad355119
Signed-off-by: Josh Kirsch <jkirsch@codeaurora.org>
FLUENCE_EF module in COPreP topology doesn't support
44.1Khz sample rate. Set sample rate to 16Khz for
VPM_TX_DM_FLUENCE_EF_COPP_TOPOLOGY, which contains
FLUENCE_EF module.
Change-Id: I527da1a70cacba1014b2a706216172d12066b909
Signed-off-by: kunleiz <kunleiz@codeaurora.org>
ec ref rx port is defined as integer and it is
set to 0xFFFF (AFE_PORT_INVALID) when ec controls are reset.
Due to this the current check against -1 (0xFFFFFFFF) in
adm open will always return true even after controls are reset.
This leads to adm open failures in case no ec ref channels are
set as part of record usecase. Avoid this by checking ec ref rx
port against AFE_PORT_INVALID.
Change-Id: I0d52bbe2a980d495933239315e6bba193a18567e
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Huge volume of log prints out at error. Reduce the redundant log.
Change-Id: I761d5953614d039b7a725926c38adee1beeeec41
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
MHI devote is not required when modem restarts during
a voice call, which results in PCIe down notification.
Hence, vote count is reset to zero when modem restart
is received.
Change-Id: Ia2a7bb98f21d5130520489c8f2d20a04d41f03b4
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Copyright year 2018 for q6afecal-hwdep and third party copyright
marking for q6asm are removed during updating file headers.
Add them back.
Change-Id: I0341116ca0cf82be8c3876534b98ad2c376b3531
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Mailbox memory was mapped with incorrect memory size.
Adding a fix to use the actual size while mapping.
Change-Id: If9a478ca044f68bed8e0899dfb023545585272f2
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Whenever a voice call starts or ends q6voice shall call
voice_MHI API to enable or disable MHI voting respectively.
Change-Id: Ia1125fb96c67ff6fec2242bc2b482ef7017dfb7d
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Add voice MHI driver to support the following features -
1. Allocate and map mailbox memory needed for voice call
packet exchange.
2. Send memory mapped addresses to ADSP.
3. Vote MHI host driver at start and stop of a voice call.
Change-Id: I8ef8bc270acacab9b80bca7addccdf73bd572adf
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Add a new API for mapping DMA resources
that needs to be attached to existing
SMMU SID.
Change-Id: I7a513d24ea30a5ead318e856e4c5317743fd0021
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Enhance Channel Mixer control for MultiMedia Frontends to
get custom channel mixer coefficients from userspace and
use it during device routings to control stream to device
channel mappings.
Change-Id: Ifedac25de5ae6bad1092b66ec405bba66a80f608
Signed-off-by: Cong Tang <congt@codeaurora.org>
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
VA macro on Kona has three TX codec DMA interface. The
current AFE driver only supports two codec DMA interface.
Add support to enable the third one in AFE driver.
Change-Id: Ie0f6241ef37bc03ad9adb1c4fe82f82468caec25
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
BT sink devices have a limitation on the packet sizes
they can receive and handle from BT sources. AAC encoder
can produce output frames which can vary in size based on
content being encoded. If frame size exceeds MTU size of
BT sink device, it will lead to incorrect decoding of
frames in BT sink.
Add a frame configuration parameter (MTU/Peak bitrate)
for AAC encoder to solve this problem.
Change-Id: Ia7795049e982400b0b3657b0b3a8990fc6920e38
Signed-off-by: Aniket Kumar Lata <alata@codeaurora.org>
ADM open is failed due to payload size not getting updated
with ec reference size. Update EC reference port only if
EC reference channels are configured.
Change-Id: Ic2dd6a3cf805c1ea40d71d0b62b6e867167d169e
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Reduce the amount of time driver waits to get a response from ADSP.
Current wait time in some cases is 5 secconds, which might cause
user space crashes in Android P. So reducing the timeout to
1 second.
CRs-Fixed: 2318751
Change-Id: I6b6789aa5b408659dd57f8f6b017df52d14b28aa
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
In SSR/PDR, return ENETRESET errno to
propagate this failure to userspace. After
audio HAL receives ENETRESET, it stops retry
for pcm_open continuously. Rate limit the logs
when apr send packet fails during PDR/SSR
usecases to avoid watchdog timeouts.
Change-Id: I03a80aef6ffedb4f15f953fff5213d6a3c9efc4b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>