Populate the sample rate, encode option in wma config params.
WMA V9 and WMA Pro tunnel-mode supports are added to compressed
driver. It allows user-space application to decode WMA V9 and
WMA Pro audio stream through QDSP6.
Codec specific metadata is sent only for first stream in gapless
playback. This causes incorrect configuration to be set for second
stream and distortions are observed due to framedrops in adsp.
Add support to send codec specific format during start of
next stream in gapless.
Add bit rate to wma codec data structure as it can vary between
streams in gapless.
CRs-Fixed: 367243, 367242
Change-Id: Ieeb9d302454d3935faa51cac77021e7c1d77012c
Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
When period interrupts are disabled, while loop in snd_pcm_update_hw_ptr0()
results in the machine locking up if runtime->hw_ptr_buffer_jiffies is 0.
Validate runtime->hw_ptr_buffer_jiffies value before while loop to avoid
delta check.
CRs-Fixed: 1109229
Change-Id: Ib20b71c70aa4a8bee2837d1f3b5a91ad4ce083da
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
Check and set if pcm_new driver op is initialized by the driver.
This allows the compress offload drivers to register mixer
controls.
Change-Id: If54fa36cf19cbca7239d6e3e30455472e9a173d8
Signed-off-by: Ravi Kumar Alamanda <ralama@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Currently ASoC core creates a static route b/w
playback/capture widgets of cpu and codec dai
if they are part of the same dai-link. However
this will cause codec path to get powered up
followed by the backend dai start during device
switch use-case where the front-end is not closed,
leading to audio playback failure if either bit-width
or sample rate is different.
Change-Id: Icd17677a73fdc4bd30e0918fcaa7e7f394245685
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Introduced a new helper function snd_pcm_add_usr_ctls() to
create control elements representing the user control for each
PCM (sub)stream.
Change-Id: I9f69470ff2c5d6df8d1fdc2e1c2caf198076076e
Signed-off-by: Jayasena Sangaraboina <jsanga@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Introduced a new helper function snd_pcm_add_volume_ctls() to
create control elements representing the volume for each PCM
(sub)stream.
This patch also squashes the logic implemented by below change-
ASoC: Fix freed memory access of pcm stream kctl
Consider sound card instantiate fails due to
audrx init failure. In such case, all dais/ctls
are de-registered and freed. But as part of it,
access to unregistered ctls for pcm_chmap and similar
controls result in crash. Ctls are freed at disconnection
but the disconnect is called only when it was registered.
CRs-Fixed: 1038054
Change-Id: Ief8817b4ec000c058d46aa021977b7c6003c0011
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Signed-off-by: Damir Didjusto <damird@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Handle ioctl magic 'U' as a user defined ioctl so that ALSA core calls
substream's ioctl handler. This gets rid of a requirement that ALSA core
needs to be changed every time when a new user defined ioctl is introduced.
Change-Id: I390b9e0428bfadc302ff074417aa69163b12c6ec
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Reset the regulator to NULL when its allocation fails.
Change-Id: I5e9fcad83d0ed449c225c7c5c99d93ebae9848fc
Signed-off-by: Umesh Vats <uvats@codeaurora.org>
Fix Sparse warnings to enable SPS driver for Lahaina - use
NULL instead of 0 to specify null argument, and use the static
keyword for locally used structures.
Change-Id: If6d69bb464b821e408d757317f7ed2ef15355f7f
Signed-off-by: Siva Kumar Akkireddi <sivaa@codeaurora.org>
ucode_debug memory region defined as 4K bytes. Fix this according to
Talyn device memory map.
Change-Id: I47397ea00332926e678af2d50be25b16124587c3
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
Set ac_queues default to enabled.
Change wil_select_ac_queue to return higher priority queue for EAPOL,
ARP and ICMP packets. These special packets are critical to maintain
the link with the AP and guarantee healthy operations and diagnostics
in the network.
Special packets will get the higher priority to ensure early
transmission when access category is enabled.
Change-Id: Ic03a810c303f614174f9f10c72e339ee32a6f023
Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
When traffic is very high, some special packets such as ARP may get
dropped causing the tx traffic to stall intermittently.
This patch preserves spare tx descriptors so that special packets can
be sent even when the tx ring is almost full. The number of reserved
entries can be changed by writing to tx_reserved_entries via debugfs,
taking effect in subsequent connections.
This feature is enabled when either drop_if_ring_full or ac_queues are
enabled.
Change-Id: I6c5215500966840445f2631fb32494750e60303d
Signed-off-by: Hrishikesh Vidwans <hvidwans@codeaurora.org>
Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Add support for Access Category to select queue for transmit packets.
The callback wil_select_queue will return the queue id [0..3] to use for
the current skb transmission.
This feature is disabled by default. Use ac_queues parameter from
wigig.ini configuration file to enable.
Change-Id: I2891c58744eddafe16f9d74d1a87acdbf90d3d40
Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
max_assoc_sta can receive values (from the user or from the FW)
that are higher than WIL6210_MAX_CID.
Verify that cid doesn't exceed the upper bound of WIL6210_MAX_CID.
Change-Id: Id00b69a128d2c4df4a3ef85583bbe44590ff557c
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
On some crash dump cases mem_lock is already taken, error
returns and crash dump copy fails.
In this case wait until mem_lock available instead of failing
the operation.
Also take the mem_lock for writing to prevent other threads from
altering the state of the device while collecting crash dump.
Change-Id: I2ae74fba77e39161e33a7c5302916d1c9254fa05
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
mem_lock is taken for the entire wil_reset().
Optimize this by taking mem_lock just before device is
being reset and release the lock after FW download.
Change-Id: Icf3430e355acc2c33dc37c6a38a18c47de03a2cf
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
New FW has power save capability in AP/PCP mode. FW reports this to
driver with WMI_FW_CAPABILITY_AP_POWER_MANAGEMENT.
AP/PCP mode power save in FW is disabled by default. It can be enabled
by sending WMI_PS_DEV_PROFILE_CFG_CMD to FW as part of start_ap
sequence.
Several pre-conditions must be met for driver to enable this:
1. power save enabled from cfg80211
2. AP power save enabled from platform driver. This is reported from
platform driver with a new WIL_PLATFORM_CAPA_AP_PS
AP power save can be controlled via "ap_ps" debugfs.
Change-Id: I328fdbfe5382e60688c9f4a67aa9378197e01987
Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Using phys_to_virt can't get correct virtual address. Because the physical
address is continuous, the virtual address can be obtained by using the
offset of the physical address.
Change-Id: Ifdf57820273b2466dca0e486b42ed6895bff0f48
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>
Add support in memory dump driver to dump the cpuss registers for
debugging CPUSS issues.
Change-Id: I5ab5d2bfc0a34aa9f00c826928046324f1d2c574
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Secure world need whole dump memory region size along with
start address to map that region in the secure world.
Change-Id: Ie3467086b3fb491761b35935f16cc2e7e9d4871b
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
cpu context, cache dump table entries are getting registered
from different drivers. Idea is to unify all the dump table
entries registration for all entries from kernel.
Change-Id: I159ee826345ea7eefb6a085c3e78447317a4b4a3
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Add snapshot of minidump as of commit <f94ba33e3b90> ("Merge "usb:
dwc3-msm: Fix GDSC collapse in host mode bus suspend"").
Change-Id: Ie322154aefa3b5d482549188096dc613bde1badf
[eberman@codeaurora.org: minidump Kconfig to tristate]
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
set up IOMMU mapping for default bridge memory pool and get its
DMA address, thus to address the cache maintenance requirement
when clients suballocate buffer from the pool and pass this buffer
to TZ. Add two APIs to do sync buffer allocated from bridge.
Change-Id: Icd6c70a1185ac96642d9efba74d2b55739eb78ba
Signed-off-by: Zhen Kong <zkong@codeaurora.org>