Temperature sensor (TSENS) driver health monitor periodically
sets a very low temperature threshold on the critical trip zone
and polls to check if the trip is set. This is done on a deferred
workqueue and helps provide indication on the health of the
TSENS controller.
Change-Id: I4b16db429fead5c731dec289f0360682c92775b8
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Temperature sensor (TSENS) driver provides clients ability
to read on-die temperature sensors. Update the total
number of sensors supported for msmhamster on TSENS
controller 1 and corresponding sensor controller index.
Change-Id: I8c9ba4ed230c94d124f9c02e9e18a77cdb6befa5
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Temperature sensor (TSENS) driver provides ability to
thermal clients to read from on-die temperature sensors.
msmhamster supports reading from 20 on-die temperature
sensors and clients can set temperature thresholds and
receive notification.
Change-Id: I57e98f2182d0c44e9c7cffec3528bb926a878fb8
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Temperature sensor (TSENS) driver supports perodic monitoring
of the TSENS controller and can cause a false positive on
RUMI and SIM platform if the temperature values are
not valid. Therefore disable the driver on these platforms.
Change-Id: I9d38f6f1580eafef9de841418b9a9f022ef30b69
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Slimbus TX 7 and 8 would need to be connected to Slimbus RX 6
for different use cases using loopback in AFE. Updated necessary
routings for supporting the loopback.
CRs-Fixed: 1036018
Change-Id: I46c797a6550884bf42a2d7763590047d2e750906
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Currently VDD MX restriction feature monitors all tsens for low
temperature condition. Some targets which has higher MX restriction
thresholds shows frequent interrupts from multiple sensors causing
power impact.
Add support to monitor only one sensor for VDD MX restriction feature.
Add an optional device tree property "qcom,mx-restriction-sensor_id"
to specify sensor id for monitor. If not defined, monitor all tsens
for VDD MX restriction.
Change-Id: Ib709b00c27f43c2603ac8a08b75f2fbd5800983b
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Enables the drivers for bridging an Inter-Processor Communication(IPC)
interrupt from a remote subsystem directed towards Qualcomm Technologies,
Inc. Secure Execution Environment(QSEE).
CRs-Fixed: 1021749
Change-Id: I7406d49369ccf3951f95f72136195a3630789453
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
The interrupt types for a few SMMU IRQs are incorrect. Fix them.
CRs-Fixed: 1037068
Change-Id: Ic45e1ec592bf0503d456ad1029e32dfea5d63bf1
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Enable the run queue stats driver to support IRQ balancer.
CRs-Fixed: 1033709
Change-Id: I38694774013625d514fc9812b4b28c36f4a2471e
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
As per the GICv3 requirement, ISB or other context synchronization
operation is needed only during System register writes.
CRs-Fixed: 1035275
Change-Id: Ifbe4d974a295b90a511aa10bde5797a1f71972fc
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
The panel type sysfs node indicates the type of panel that
is currently in use, either video or cmd mode. This is
updated after every dynamic switch. Currently, this node
is updated to an invalid value during dynamic resolution switch.
Skip the setting as the mode is not changed during resolution
switch.
Change-Id: Ic002ad587eeade068561c0e9f1d29aeb1689ada5
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Fix the clock parsing logic to remove the hard coding
of clock names in the HDMI driver. Update the clock parsing
logic to rely on reading the clock configurations from the
device tree and update the HPD and CORE power modules
appropriately.
CRs-Fixed: 1032282
Change-Id: Ia7324f6443b3db5d55113a221dc0791bb5a38799
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Add SPS module to device tree. SPS (Smart Peripheral System)
enables the support of all BAMs in the system which provide DMA
functionality to various peripherals.
Change-Id: I4f71ba8115f009028ae4ddf6a7847d1885b4458c
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
Avoid skipping validation for all layers during ATOMIC_COMMIT
validate call after dynamic resolution switching. Though the
configs remain the same for few layers, revalidation is required
based on the new resolution as the src_split and other settings
might have changed.
Change-Id: I3f1f2e09c90e8ff1a6380e35ed9e980b5c2be46c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
There might be cases where driver gets the resolution switch
request followed by suspend or adb shell stop. In such cases,
since the ctl parameters are already reconfigured, driver skips
the NULL kickoff during overlay off due to invalid switch state.
This leads to memory leak as the used_bufs are left intact. Fix
by moving the used_bufs to free_list, so that memory can be freed
later and also leaves the buffer list clean.
Change-Id: I80c6ad2dc85da0427ac7ba1c127f0aa044a81c09
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add support to handle dynamic resolution switch request during
cont-splash handoff, even before driver receives the first commit.
The cmd_panel_on is ideally called right before the first kickoff,
if the panel is not already on. Make explicit panel_cmd_on call during
reconfigure to match with the ctl_stop/ctl_start done during the
process of switching. This would make sure complete cleanup and
re-configuration of the ctl is done.
Change-Id: I98469b14284195caaf17a616137a0502e0e398cf
[veeras@codeaurora.org: Resolved conflicts in mdss_mdp.h]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
When multiple panel timings are available and enumerating videomode
list, pixclock is calculated using htotal, vtotal and refresh rate.
But fb var struct is populated with actual pixclock value calculated
by DSI. This pixclock mismatch would cause issues, when usermode
does GET_VSCREENINFO/PUT_VSCREENINFO. Fix by using the same pixclock
calculation for both structures.
Change-Id: I42bfc40b5904ec80f20b296e3b4610ca3b2c5ee0
[veeras@codeaurora.org: Resolved conflicts in mdss_fb.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add device tree parsing logic to parse multiple panel alignment roi for
different panel resolutions. Add alignment roi as part of the panel
timing struct, so that it would be updated whenever resolution switch
happens.
Change-Id: I14ee1a4947312c4c36927adcbffad847f9062fd6
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Reconfigure the DSC parameters and DSI stream according to the
new resolution. Mandate the first frame after dynamic resolution
change for DSC panels to be full frame updates. Send PPS command
based on the device tree entry before or after the switch commands.
Fix device tree parsing of DSC parameters within the switch timing
node. Add sub-nodes in target specific device tree to configure
target specific timing and switch commands.
Change-Id: I6aa5f8f972b16645b219bf6274036b6e5dac6dda
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
If mode switch is currently in progress, then proper state machine of
calls is expected. If these calls are not observed then it could lead
to issues during display commit, because of incomplete update.
Add checks for current mode switch state to prevent improper state
during commit.
Change-Id: I31dae6e15761fc745efd79edbe1070af992db904
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
When display is getting blanked while mode switch in progress, we
cannot have additional kickoff trigger for cleanup as the state hasn't
been properly transitioned. Instead we can clear the state and destroy
control path to start clean on next update.
Change-Id: I34af01550d79e0d7d465f2c7f873508c296160dd
[veeras@codeaurora.org: Resolved conflicts in mdss_mdp_overlay.c]
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Size of param buffer should be big enough to hold param length
of data and param payload.
CRs-Fixed: 1033525
Change-Id: I6fa58f87a7c7df5f0485ea5b368ea090eb8bedb4
Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
During the ICE based FDE path, qcrypto functions been called,
which is invalid. So update dm-req-crypt driver to separate
ICE from qcrypto path.
Change-Id: I1ff3121471baa761624e0ce39ee96dd0b8497454
Signed-off-by: AnilKumar Chimata <anilc@codeaurora.org>
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
Fix use of uninitialized variables. Add checks for out of bound
array access.
CRs-Fixed: 997966
Change-Id: I66973d7dcc0988dba36da4b3c0e01484847a7a7e
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
On some platforms, clock needs to be controlled by Bluetooth
driver. Add support for that by obtaining it through a device
tree property and use it for voting when required.
Change-Id: I42a16f6dc8d5c11963713ae489ca6d8c9bf927e5
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
Using schedule_delayed_work will cause work queues to be scheduled
on the CPU where the timer expires. This can make work to be scheduled
on perf cluster resulting in power issues. Make changes to use
queue_delayed_work on an unbound workqueue so that the work gets
scheduled based on the load and mostly it gets scheduled in power
cluster.
Change-Id: I13605eea5fb3e7eeece1d8c81334981ea7de9cb9
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
Table (of type msm_dump_table) is virtual address for app's base
table of memdump, which is converted to physical address and
holds it in the memdump.table_phys. This memory is not intended
to be freed. When kmemleak scans, it can't deduce that the reference
we are holding is via physical address and not virtual address.
Hence, kmemleak will treat this as a leak as it can't find
a reference to this variable. Suppress this by using
kmemleak_not_leak API.
Change-Id: I5236c940688829a3b5f255c5ee9fcf309cf8ebb7
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Add the clock controller files for GCC/GPU/MMSS and modify the clock
macro names for blsp clock MSMfalcon.
Change-Id: Iaed16dbb3415a77f427ad7318017487acb7891a3
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add all the clocks which are supported on msmfalcon and would be used
by the clients for all clock operations for GCC, MMSS, GPU clock
controllers.
Change-Id: Ie328cb0516644d8a3d66fd0c054575a5cff637dc
Signed-off-by: Taniya Das <tdas@codeaurora.org>
There is limitation when IPA is performing de/aggregation with MBIM
in scatter-gather mode. Hence instead of 2KB buffer use 16KB buffer
(i.e. size of aggregated frame) with each TRB for MBIM DL case.
CRs-Fixed: 1032467
Change-Id: I4f73d30711b5606c2ac88ce9d05a8483d64b665d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Use existing IRQ flags definitions since devfreq_spdm driver no longer
overrides interrupt type. Interrupt-edge property is no longer used
as an indicator of interrupt type.
Change-Id: Iddf6b1b8a85100bbb3b6ff2d2dda88880b6e64f2
Signed-off-by: David Dai <daidavid1@codeaurora.org>
Enables support for USB audio and USB MIDI devices
connected via the USB bus.
Change-Id: I3fa2168b905b5242894ba985b8c615bfbb10492a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
ufs_qcom_print_hw_debug_reg_all() function is having a bug
where it might incorrectly modify undesired bits in UFS_CFG1 register,
this change fixes it.
Change-Id: I2605beeb41f3c319877f48e35723f597f7dfb9da
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Creates a work queue for concurrent writeback to wait and signal
the CWB retire fence on WB done interrupt.
Change-Id: I169e3df1a68616be93377defdc30e3c326aff79f
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
S10A and S13A regulators are not needed since APC voltage rails are
controlled by CPRh.
All of the PM8005 regulators have been defined properly as SPMI
regulators in msm-pm8005.dtsi
CRs-Fixed: 1025447
Change-Id: I2a93ffe3b5ce17a09ce836ef00f40c38678b9796
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Remove bimc_clk references from GNOC as there is no resource associated
with GNOC.
Change-Id: Id038f13305c765336c85444f1064d38a0a61c9a2
Signed-off-by: David Dai <daidavid1@codeaurora.org>
Enable SPDM governer and SCM call through Hypervisor support.
CRs-Fixed: 1025515
Change-Id: I911f84a44229b84491ea5b78e1ed2d8181b2c804
Signed-off-by: David Dai <daidavid1@codeaurora.org>
When ICE is used and there was an error during endio, the error was
not propagated properly to upper layers, fixed.
Change-Id: I5c428e4a02f7012f95e3a32486920e69b93ea3fc
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
init_cpu_topology has a bug where
1. It's referring to out of bounds array.
2. It's not actually resetting topology for each cpu.
Fix this by iterating for each cpu for resetting topology.
Change-Id: I4df03fb4fbe9cb636f135de982e35173b1900ec2
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Add support in Kconfig for msmfalcon chipset 32-bit platform.
Change-Id: I5509787b16e7837c674203a3a900159f449b14a6
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Normally, it takes few msec for SPSS to responde with ACK for TX data.
However, due to SPSS HW issue, the SPSS might disable interrupts
for a very long time, and not ACK for the data.
Change-Id: I88a0b7a0637fb62d62ac760e9a8a946a5888d406
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Enable CONFIG_MSM_ADSP_LOADER in order to enable
ADSP PIL loading during bootup.
Change-Id: I0d8a15283ec43bdf0818c4d9cbe92ac4474cb833
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
This makes it possible for drivers to use a longer, more descriptive
name for a sync_timeline, which improves the readability of the
sync dump in debugfs.
Change-Id: Ifb83aebf6fd820ebb26aca2ff230ac1116e65ce9
Git-commit: cb63e61b80ec905f01cbe1c21081aa0d1fef082d
Git-repo: https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
Signed-off-by: Omprakash Dhyade <odhyade@codeaurora.org>
Remove default panic error when no aggregation scheme is selected,
this is to support virtual fabrics that have no clocks or bandwidth
to aggregate.
Change-Id: I4fd8977845dd123890afc5076cd55499992e488e
Signed-off-by: David Dai <daidavid1@codeaurora.org>
There's a stray #define left over from initial development of the fast
map feature. Rip it out.
CRs-Fixed: 1035430
Change-Id: Iae0649dc3fe878f948ad872803317eb4bf7ec1c6
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>