As part of open AHB clocks are currently enabled
based on CSID version check. But CSID version is
updated as part of INIT IOCTL call. Due to this
AHB clocks are not enabled and this is causing
unclocked register access. Now every target have
AHB clocks for ISPIF which needs to be enabled
always.
Change-Id: I576ac20650ac081175942b7d94b6f2b9711b14c8
Signed-off-by: Shilpa Mamidi <shilpam@codeaurora.org>
Update the cpufreq device with the boost frequency for the CPU
power cluster as well as the characterized Turbo Fmax frequency
and new intermediate Turbo frequency for the performance cluster
on speed bin 0 parts. Lastly, update the cpufreq to devfreq
device frequency mapping so that it includes all of the new CPU
cluster frequencies.
Change-Id: I33cbef64add66f63025e854f2991abda4f8e8dbf
CRs-Fixed: 981475
Signed-off-by: David Collins <collinsd@codeaurora.org>
Update the frequency plan for the MSM8996-Pro CPU clocks in order
to include the new boost frequency.
Also add the characterized Turbo Fmax frequency and the new
intermediate Turbo frequency for the performance cluster on speed
bin 0 parts.
Change-Id: I711bf4abd17e8743d459598d03d0f41f6ed1ca14
CRs-Fixed: 981475
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add VDD_APCC CPR boost corner which corresponds to the following
for speed bin 0 parts:
Power cluster = 2188.8 MHz
Also add the characterized Turbo Fmax frequency (2342.4 MHz) and
the new intermediate Turbo frequency (2246.4 MHz) for the
performance cluster on speed bin 0 parts.
Change-Id: If4c1f8b4e06bbd41b8152cdab5b6945b4dfc64bc
CRs-Fixed: 981475
Signed-off-by: David Collins <collinsd@codeaurora.org>
The register offsets for the CPU PLLs might vary with
the standard offsets used for other PLLs. Remove having
the print capability for these clocks.
CRs-Fixed: 941434
Change-Id: Id67a70117b0621d98ac010f712552ecaaf92641f
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
WLAN Functional Drivers Queries cnss platform driver to get the
MAC Address. If the OEM doesn't provide the valid MAC address, the
WLAN Driver fallbacks to use other approaches to get MAC address.
This works under CONFIG_CNSS_MAC feature flag, which will be enabled
only on the OEM platforms. For internal platforms, CNSS driver doesn't
hold any valid mac addresses.
CRs-Fixed: 985585
Change-Id: I1e8a030a32a640cec84cadd6b36b37938d5fe6be
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
Userspace supplies the actual number of used VFEs in session to ISPIF.
Validate the userspace input value and if found to be invalid, return
error.
CRs-Fixed: 898074
Change-Id: I3288ddb6404e817a705a92281b4c54666f372c56
Signed-off-by: Venu Yeshala <vyeshala@codeaurora.org>
The default settings of the gcc_hmss_gpll0_clk_src make it
run at 600 MHz. Call set rate on the clock so that its
divider settings can be programmed.
CRs-Fixed: 989118
Change-Id: I49aee860dd3f0f4f7ecb024228f182d126424906
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Changes to support larger queues Q0, Q1 for camera CCI 1.6
onwards.
CRs-Fixed: 974739
Change-Id: Iffdd78b6bf27f0f34d7e72a030264b428acf3f60
Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
The gcc_mmss_qm_ahb_ahb_clk is controlled by XBL on MSMCOBALT.
There is no need to control it separately from the linux clock
driver. Remove support for it.
CRs-Fixed: 988972
Change-Id: I23b4114096758342403e07058ef4df9b18f6622c
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add 300 MHz and 320 MHz as supportable frequencies for the VFE
clock sources on MSMCOBALT.
Change-Id: Id5eac307313bbf2a32d0ae8e4f3ae34e73d376a1
CRs-Fixed: 987721
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Modifies the behavior of the command engine
to mask out certain commands/notifications sent to the
external mdm, for the purposes of debugging the external
mdm.
Change-Id: Iff35fd87f6d66849f6ec7d2924e1547400967c4e
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
Signed-off-by: Bruce Levy <blevy@codeaurora.org>
The gcc_dcc_ahb_clk needs to be controlled by the HLOS clock
driver on MSMCOBALT since its use is restricted to the HLOS
debug driver.
CRs-Fixed: 988930
Change-Id: I1abef9f1268080dbe5dba1e91f4b84fab03ce66c
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
PCIe2 PERST and WAKE GPIO uses different pins on
MSM8996AU CDP. Thus, change the GPIO numbers for
PCIe2 PERST and WAKE in devicetree to match the
correct pins on MSM8996AU CDP.
Change-Id: I20d72b07399c55c3982a5d8c97ca3cc60b6f5c46
Signed-off-by: Tony Truong <truong@codeaurora.org>
Disable the default link training by EP wake IRQ on MSM8996AU CDP
for PCIe RC 1 and PCIe RC 2.
Change-Id: I6468f109d61f8660465c0450f4b2dc60a11746fe
Signed-off-by: Yan He <yanhe@codeaurora.org>
This change adds the device-tree node for cpufreq device along with
the frequency table for power and perf clusters for msm cobalt.
Change-Id: I24b593f26060bfafd2c55faa6e88e4370d305c1e
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
For CPR4 controllers, SW does not perform any specific operation
upon receiving ceiling interrupt. Do not configure ceiling interrupt
for CPR4 controllers.
CRs-Fixed: 987525
Change-Id: I467ff12ad8d58036a64928249d4e5671eb8ec6b5
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
kgsl_mem_entry_detach_process() makes gpuaddr to NULL and then
removes the entry from mem_idr list.
Sometimes this can cause kgsl_sharedmem_find() to return the
same entry for a different gpuaddr/thread if it satisfies
GPUADDR_IN_MEMDESC().
To avoid this, first remove the entry from mem_idr list and
proceed with unmap/untrack calls.
Change-Id: Ib9f2bc0fdaecd394735dd61b18fdc7de57aa3748
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Sometime back a piece of code was added to activate
pages in pageout which failed to writeback. This was
done for the case of failed write to zram, with the
intention of reducing further zram writes. But this
does not make much sense because there can anyway be
other pages which the reclaim path can pick to swap
out.
And this particular logic has a problem. When a write
fails, the page is unlocked. Its locked again before
activating the page, but the page which is now in
swapcache can be brought back with its original mapping
through a fault, which can happen during this period.
This can result in random bugs, for e.g. when shrink_page_list
try to do try_to_free_swap. Here is one such case.
In this case PageSwapCache was cleared by the fault path.
"
zram: Error allocating memory for compressed page: 91433, size=4096
Write-error on swap-device (254:0:731464)
page:de866e80 count:3 mapcount:1 mapping:d5368941 index:0xb2ce5
flags: 0x80018(uptodate|dirty|swapbacked)
page dumped because: VM_BUG_ON_PAGE(!PageSwapCache(page))
"
CRs-Fixed: 988207
Change-Id: I26738d0f8dd3e2dfdb24c25edac24a7d968eeba0
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Currently, we just print the pagealloc corruption warnings and
proceed. Sometimes, we are getting multiple errors printed down
the line. It will be good to get the device state as early as
possible when we get the first pagealloc error.
Change-Id: I79155ac8a039b30a3a98d5dd1384d3923082712f
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Remove unused variable in the function and avoid typecast
const pointer to non-const ones.
CRs-fixed: 987841
Change-Id: Iaf59087f9d68e134125621afe42d92d49b6b90fc
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
if ipa-driver failed to get ipa-clk during the
device probe, seeing device hang issue due to
notifier_chain_register. The fix is to only
initialize the notifier_chain_register after
ipa-driver successfully gets ipa-clk.
Change-Id: I705bf9e2b81a9d50cda75d31504f79e082276792
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Update the PLL_LPF_CAP values to latest recommended settings.
This fixes any PLL locking issues.
Change-Id: I206c9cc343ac435161393445714de2e03a64aaae
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
If a scm_call request to shutdown a TA fails, the TA is not shut down
and still in use, and the resources aren't necessarily leaked. Since
shared memory are still locked in this situation, ion shared memory
cannot be released, otherwise XPU violation occurs. Only need to
release shared memory if TA is unloaded success or that TA cannot
be found
Change-Id: I971485fb541193f77960cc7ca14b5b09de938a43
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
While releasing contexts take a reference to context inside read rcu
lock to avoid racing against context deletion. This will avoid using
dangling context pointer in device_release_contexts.
Change-Id: I76e787f6dde5a324fec23e81829174bd28134c6c
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Configure QMB data movers max reads and max writes. Additionally, select
the client's QMB instance according to the destination, PCIe or DDR.
CRs-Fixed: 974578
Change-Id: Ieb7061dbb6c024bc707f66c7ef07178ed1960fba
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Add status='ok' in PIL device tree nodes for MSMCOBALT to support partial
goods loading by bootloader.
CRs-Fixed: 973659
Change-Id: Ia89a686648189bac68e9060e39c931da4b4b7397
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
This is done to avoid a race condition between a context getting
detached and destroyed before the GPU has executed the pt switch
commands.
CRs-Fixed: 987587
Change-Id: I5c485e41a23b288f27e607b3e3ed5bf66cbad98a
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
In order to provide an identical ELF file format between MSM
and MDM, the IPA core driver needs to utilize p_vaddr field as the
destination address for the FW loader.
Change-Id: I818fbe37601dbd4250fc428223a4a1b72b91487a
CRs-Fixed: 987522
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Add support to make scm_calls to TZ to inform modem start
address and size so that TZ can unmap this range to avoid
speculative access.
Change-Id: I4640ddab56991522870e9879d17fe5732dc40223
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
Signed-off-by: Arun KS <arunks@codeaurora.org>
MDP driver calls add_event_timer multiple times, resulting
in creating multiple event timers. Due to this irqbalancer
changes MDP irq's affinity to different cpu. Ensure that
add_event_timer is added only once for MDP irq.
Change-Id: If0425ef5a3b3ce56c40da52ff3ced6658f05734a
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Release the session before the file data is freed to
allow for session informaiton to be retrieved from the
file data.
Change-Id: I78c36d7b34a141c6162a145f7447040395858b64
Acked-by: Bharath Kumar <bkumar@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Sending zero backlight to AD core will cause a divided by zero
case, which should be avoided. This change adds a check to
prevent zero backlight from been sent to AD core.
CRs-Fixed: 985303
Change-Id: Ida5115edc61dea9855be89186af3faae040fd711
Signed-off-by: Ping Li <pingli@codeaurora.org>
Correct CE clock setting for crypto drivers, core_clk_src should
link to voting clock; otherwise, ce1 clock is set to be only half
of 171M HZ during crypto operations.
Change-Id: I0d9e048381a83d4788bf4f700d788137b59bd368
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Define all supported 10 bit RGB/YUV formats for linear/UBWC and set
the appropriate parameters for register programming.
CRs-Fixed: 984465
Change-Id: I37f55f76802bf295f2c48040843637e37663ca41
Signed-off-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
[dkeitel@codeaurora.org: fixed minor whitespace conflict.]
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Exhibit supported formats of all pipes and writeback block through
sysfs node of mdp capabilities.
CRs-Fixed: 984465
Change-Id: I1dc11268995e7f3d8efdc7d3e7cf3a1951ff44a5
Signed-off-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
[dkeitel@codeaurora.org: fix minor conflict.]
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Msm cobalt mdss pipeline supports 10 bit color space conversion.
Change adds support to enable 10 bit csc block.
CRs-Fixed: 984465
Change-Id: Ib859ade710b9cb6dc5565548db6f531c84f3bc5a
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Msm cobalt has newer version of mdss block which supports qseed3 module
which is needed for scaling, sharpening. Change adds support for qseed3
on msmcobalt.
CRs-Fixed: 982712
Change-Id: Ibee9b270d483928dce1836f085785acbb8a1947b
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
msmcobalt support newer version of mdss hardware. Change adds support to
mdss driver to handle newer mdss version and capabilities of this version.
CRs-Fixed: 979566
Change-Id: I5f8fe54547e808233ac9873aeeaa36455b2b01e8
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
[dkeitel@codeaurora.org: fix minor conflict in documentation.]
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Fix to restore the ping pong split configuration
after power collapse.
Change-Id: I9109081cbde941b55ee889707bda35af7d303cf0
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Updated characterization has shown the need to modify
certain calibration settings for hardware blocks within
the CPU subsystem. Modify these values.
CRs-Fixed: 930377
Change-Id: I601802746224e2abb43fd0b3aedb09e049062adf
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The OPP table containing the frequency and voltage mappings for
the gfx3d_clk_src is used by the GPU driver for limits management
on MSMCOBALT. Enable the clock support to populate this table.
CRs-Fixed: 986567
Change-Id: I478e7e90337060e92f07e6a3ee0f7d401b796f24
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add rpm-stats node to enable logging used for vddmin
and xo shutdown debugging.
CRs-fixed: 980681
Change-Id: Ibbfae3dc4a4023a2e99e27cae4c6cfd6822baab8
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>