Add a devicetree property disable-busy-time-burst to
disable ceiling threshold in the governor. The ceiling threshold
cause busy time burst that switch power level for
large frames based on busy time.
Change-Id: I44f8a51e0aa49bb0b2210703f57874fd5f219c18
Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
There is a race condition when a read is queued and a
subsystem restart occurs before the read can finish. The
read will call read_done on a freed handle. This fix
changes the ss_reset lock to a rwlock and extends the
critical sections in the read and write data functions.
CRs-Fixed: 969026
Change-Id: I7726e4bbea7447ad96df725b50e4eff1ec67607f
Signed-off-by: Chris Lew <clew@codeaurora.org>
Add sharp 4k dsc cmd mode panel configs and enable it for
msm8996 mtp, cdp and fluid. Add partial update for support
with roi alignment width as 1080 and y-slice as 8,
as per the spec. The panel is also capable of supporting
y-slices 8/16/24/32/48/3840, but width/x-slice cannot be
modified.
CRs-fixed: 974677
Change-Id: I6e7e96178db604f71a16f1f656e38d66d37eca66
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Fix the panel on command for sharp 4k dsc video model panel
according to panel spec. And remove few parameters from the config
file, which are unnecessary for video mode panels.
CRs-fixed: 974677
Change-Id: I92cb0c5a30206b6b788cdfe2b0316e4bf77d1828
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
The GPU GDSCs need to be turned prior to enabling the graphics
clock and programming the CRC registers. Add that support.
CRs-Fixed: 974342
Change-Id: I4f97c10c383f79490c8dc428ef5ffb1040adc18d
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
When configure the scratch buffer, wrong pingpong bit location is
programmed. So the VFE hardware can still write to the same buffer
which has been diverted to other camera compoment. This cause the image
corruption.
Change-Id: I6d5cfe0c00a237efb3ab3dff87459341736d45a7
Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
Allocated memory is not getting freed in remove request.
This change is to free the memory allocated to avoid memory
leaks.
Change-Id: I1225d492b7f58f8bda2621ec0bb2bd201d8dee6c
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
The camera drivers for msmcobalt are not ready yet for
presilicon verification, Hence disable them from
the dtsi.
CRs-Fixed: 974351
Change-Id: Icdf65d0aabbac5661a803d2a3d6d04f78071d963
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
wear_leveling_worker() currently unconditionally puts a PEB on erase in
the error case even it just been taken from the free_list and never
used.
In case the PEB was never used it can be put back on the free list
saving a precious erase cycle.
v1…v2:
- to_leb_clean -> dst_leb_clean
- use the nested option for ensure_wear_leveling()
- do_sync_erase() can't go -ENOMEM so we can just go into
RO-mode now.
CRs-Fixed: 975289
Change-Id: I9955366673af13e6cfd3da3523dba4857b2b4ea2
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Git-commit: 34b89df90374b631692132640c6b3dbef52f808d
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
Add a comment in key.h to explain why we keep an unused
parameter in key helpers.
CRs-Fixed: 975289
Change-Id: I88633f34f7f49b5b895f2295c1ce4ad250900fc0
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Git-commit: 170eb55f7d4ba9564736ba298a7d4985422db4cc
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
Add 32/48KHz sample rate capability to the VoIP driver to
allow VoIP application which uses 32KHz/48KHz sample
rate to take Voice path.
Change-Id: I654b97ffc36b993114899e85706914d99ef44abc
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Add capabilities to GSI driver to collect data path statistics
in order to help debugging throughput issues.
This change also exposes the a debugfs interface to print stats.
CRs-Fixed: 975119
Change-Id: If97512af034bd419cf4f679b1c19419605529fa6
Acked by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Compress offload playback failures observed if SSR is triggered
during playback. Compress_write is blocked as there are no bytes
consumed by the DSP. During SSR, based on the reset events,
driver has to update the bytes copied by the DSP so that write
gets unblocked.
CRs-Fixed: 966659
Change-Id: I24d5bf09b3453f101adb9487298e6fbdfeb15e4a
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
The current code enables GPU clock gating only for v2 and v3.
Enable it for MSM8996pro also.
CRs-Fixed: 974760
Change-Id: I2bcdbf73be080fba836c24616fc7959ad7c4c1e9
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
Add slimbus 6 playback hostless and slimbus_6_rx back-end
dai-link to enable independent backend for different devices
during audio playback.
Change-Id: Ibc12ca8ad2c99316c52092b74462ecd7bfbded5c
CRs-fixed: 940415
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Add codec rx4 dai to support independent backend for different
devices.
CRs-fixed: 940415
Change-Id: I48b24d81e2047d4d4c299ca60cdbd299e172393e
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Update the slimbus RX 6 routing and add the slimbus RX6 hostless
to support more use cases.
CRs-fixed: 940415
Change-Id: I4fcea97cc4a0c876609fbaa8f5eecf3b4914e776
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Add slimbus_6_rx back-end dai-link for msm8996 to enable
independent backend for different devices during audio playback.
CRs-fixed: 940415
Change-Id: Id588c1951262d2c76d3b7789c76ca04068b7ffff
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Update PCM device node from ULLPP mode to low latency mode which has
matrix to match to different backend ports.
Change-Id: I71e3bde88b8a14b6975b51d4c739e5993162313d
CRs-fixed: 940415
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Enable content protection for A506 from gpulist.
Also, skip scm call to program CP secure ucode base
registers since A506 supports retention for these
registers.
Change-Id: I48a0f04826430bfb927c755c176255be45199b26
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Open ack is received in separate work queue than process_open_event.
It causes race condition since process_open_event and process_status_event
might get scheduled before glink is notified about open ack.
Glink will be notified about ack in process_open_event.
CRs-Fixed: 974508
Change-Id: Ie03a4914c2655ae5140a740cde73b06bb6d43291
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Check if 'mbhc_cb' is NULL in wcd_mbhc_stop() before
dereferrencing.
CRs-Fixed: 972101
Change-Id: I3b2348bddb071e5bf7bc2e5d6885bb3c1ba2c195
Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
We need to pass TZ specific device id when
calling into TZ for SMMU configuration. Expose
these device ids and an interface function which
can be used to extract these device id.
CRs-Fixed: 959535
Change-Id: I31239d187c893e1bf419a5e9b5add127699ef701
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
The RPM channel is now available for msmcobalt. Remove the rpm-standalone
flag to enable communication with the RPM.
CRs-Fixed: 973067
Change-Id: I4215633d2608cd2ac0a588ddf476accd47abfdff
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Communication with the RPM has not yet been verified on RUMI. Configure
RPM in standalone mode until it has been verfied.
CRs-Fixed: 973067
Change-Id: If82537272cfb14509420928a8985bcb71761b24f
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
LDOs 5 and 7 are missing from msm-pmcobalt-rpm-regulator.dtsi. Add them.
Update the min and max voltages for LDOs 18 and 22 to reflect the
changes in the most recent documentation.
CRs-Fixed: 973067
Change-Id: I57d11af8e63a2a40dcbfa6aae34ee04b286780bc
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Add CPU IDs to the socinfo table needed to support MSM8996AU.
CRs-fixed: 971957
Change-Id: Ifaed6df0a99999566e6241fbf98f45ab92f8c0fe
Signed-off-by: Ajit Khare <ajitk@codeaurora.org>
Signed-off-by: Mathew Joseph Karimpanal <mkarim@codeaurora.org>
Add ETM devices for APSS CPUs. These devices can be used to configure
and enable processor traces.
Change-Id: I7d0ade28161eb77992eb19b19233261895afa169
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Defining the context banks and the appropriate VBIF settings allows
Venus to make DDR accesses.
Change-Id: I5f2052a28f19545b080c863c425dac45f7511643
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Add device tree files that are needed to support MSM8996 Automotive CDP
platform.
CRs-fixed: 971957
Change-Id: Ifbef60c283d1b51274ac41c6eb00fc9e186986d1
Signed-off-by: Ajit Khare <ajitk@codeaurora.org>
Signed-off-by: Mathew Joseph Karimpanal <mkarim@codeaurora.org>
Preemption from secure to unsecure needs zap shader to be run
to clear all secure content. CP does not know during preemption
if it is switching between secure and unsecure contexts so
restrict secure contexts to be preempted at ringbuffer level.
At the end of each secure submission we switch back to unsecure
mode and run the zap shader to clear secure contents. Ringbuffer
level preemption ensures Zap shader is run before switching
back to unsecure mode.
CRs-Fixed: 974102
Change-Id: Iff11c1d5732d46fe5a1fbdbc7d162aaa1736741b
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
Program the DROOP_CODE register for both clusters so that
the limits management clock is gated off during certain
sleep states.
CRs-Fixed: 973567
Change-Id: If4860d329393ece54a4d0f017c2700d4bde9d2b6
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Speed bin information is sometimes written to efuses to
specify a GPU frequency plan available on a platform. The
current code only supports reading the efuses for msm8996v3.
Hence specify it in the platform device tree node to
support multiple platforms.
CRs-Fixed: 967494
Change-Id: I5db4d5a35e2700250517ea6cac3d4d736936ce9f
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
The dsc config-select parameter in sharp dsc 4k video mode panel
wrongly points to a different config structure. Fix it to
use the correct structure.
CRs-fixed: 973663
Change-Id: I5b3d07e4c7c3c3f0465db6ab4a2ca64d17a1e642
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Invert the bit clock for afe tdm ports for msm8996 to
align the lpass and ext codec hw clock and avoid
bit corruption.
Change-Id: Ic36ab733b227a34ebb8401dd11e99f943b0c8839
Signed-off-by: Derek Chen <chenche@codeaurora.org>
CRs-fixed: 973480
This change set default value for uninitialized variables,
to address errors related to them.
Change-Id: Idd306cafa4dfca322945ea8398e0c4d6c18d6ff6
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Adding default case to handle other events which might be triggered from
modem and adsp schdule free_resource work item when already it has been
freed.
Change-Id: Ibe6a8eae31d70e80fada3a1fc18f8f2bee42dbda
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
Fix the wraparound logic when searching for ibs in the ringbuffer.
The ibs can either be type3 or type7 packets so handle both cases.
CRs-Fixed: 971163
Change-Id: I9bc4b4a72cddfe7f3d3892612c6e28861fdd0324
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
APR driver was using SMD as the underlying transport layer. In order
to provide a unified IPC solution, G-link is introduced as the replacement
which APR adapts as the new transport layer for audio packet routing.
Change-Id: I60d96e39ce665b808498d1130e371df8288e370a
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
In speaker protection usecase, if SWR_CH is already
set to 2 due to bootup tone playback then the initial
calibration fails. As the WSA register writes will
fail due to gr_sid will not match with dev_num
and temperature read will return negative value.
To address this, when session teardown reset the
soundwire master channel count in tasha driver.
CRs-Fixed: 961023
Change-Id: I80ee0dedac8fa81ce54a0e61c839a97b9b45d36b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Enable direct programming of GPU-BIMC interface clocks
from kernel driver when moving in and out of TURBO.
This is done only for targets with a device tree
entry defined for GPU-BIMC interface.
This is done because some targets do not support
B/W requirement of GPU at TURBO, for such targets
we need to program the GPU-BIMC interface clocks
with TURBO values to meet the B/W goals.
Change-Id: Ibe82db8718040513ae0d96366195d41001549189
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
Introduce new Kconfig for purpose of enabling LPASS
audio driver debugging utilities. Initial utility is
to induce kernel panic upon encountering error from
audio components in ADSP.
CRs-fixed: 968775
Change-Id: I9f802f32892d55be83d4b8a6e861ab09f6336093
Signed-off-by: Patrick Lai <plai@codeaurora.org>
no-map-fixup feature for dma-removed reserve region does a
late memblock remove. This late removal is a slight
deviation from conventional memblock flow. That leads to a
race between pfn_valid->memblock_search, and
memblock_remove.
To fix this, use a read seqlock in memblock_search, which
would ensure minimum overhead in search path. And export
two APIs to let code doing late memblock remove apply
write seqlock. write seqlock would ensure that search
retries if the list is updated concurrently.
The two exported APIs which should be called before
and after modifying memblock regions, late in boot, are
- memblock_region_resize_late_begin
- memblock_region_resize_late_end
The code to alter memblock regions should be guarded by
these APIs.
CRs-fixed: 967728
Change-Id: I6a10c3e980002048aafeaf829a16119848c6a099
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
Set the group id to default when number of channels are less
than or equal to one. This change will configure the group
id correctly during device switch scenarios.
CRs-Fixed: 961023
Change-Id: I2cb4447b36fef111ed1f9b8991b3882b8d57f6a7
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Do session/stream node destroy with lock before
reducing opn_idx to avoid conflicts while closing
node and mutex getting destroyed while other node
still holds it, Also trigger the stream delete to
backend for nodes which are only created by HAL.
CRs-Fixed: 971839
Change-Id: Iefc1132e5790d8f7ba025ee140e536a2b3ca21c0
Signed-off-by: Hariram Purushothaman <hariramp@codeaurora.org>
Return early if the branch clock does not need the rate
aggregation support. Only take the common branch_clk_lock
when needed; doing so unnecessarily will lead to lock
contention in some cases.
CRs-Fixed: 972426
Change-Id: I00476d1c193df025a1da19aa0d0ddf0f0462b4d0
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>