The CPU that is disabling the alternate PLL may also need to
handle CPR interrupts. Allow the CPU to handle interrupts
during the set_rate operation.
CRs-Fixed: 960701
Change-Id: I63d7ce3e3dd2b559c4db383b64faa9335c404576
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Some PLL implementations depend on the CPU being able to handle
certain interrupts in order for the set_rate operation to
complete. Allow interrupts to be handled in the set_rate op.
CRs-Fixed: 960701
Change-Id: I6fda5ed9eb7d6f2e2cd91c58ebabfd7bc1c8a2fc
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
There is no need to call core_ctl_check() from scheduler tick path
on all CPUs. This results in core_ctl's state_lock spin lock
contention. Assign this job to the CPU which is responsible
for updating the ticks.
Change-Id: I9664037cc25c204d532bdd0f006c7e27ef143497
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Remove DSC parameters from MDP Caps for targets
where DSC is not supported.
Change-Id: Ib26dba1390b4f5112dea422c692f46b11593240e
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Add a new driver to Provide a communication interface between userspace and
tz services using Secure Channel Manager (SCM) interface. It exposes APIs
for userspace to get system profiling information.
This will allow the sdp profiler to get cpu/gpu and total bandwidth info.
Change-Id: Ia1f5dbdda44b9e25a0a705ffe827f0c3741c8ef8
Signed-off-by: Jaiju Yesudasan <cjaijuy@codeaurora.org>
In the cases that have FPC cable between main board and sub-board, USB
connector located on sub-board, add re-drive chipset on sub-board to
make sure the signal of rx/tx for super-speed is good enough.
Change-Id: If21b1c188bd5b82387e818f7430181fe33b2a313
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
This change enables midframe sampling timer which samples
the GPU power stats if the command batch expiry takes longer
than the threshold set by KGSL_GOVERNOR_CALL_INTERVAL. This
will help the use cases where long running command batches
were delaying GPU DCVS decision for increasing the frequency.
Change-Id: I41b1dadda348f69d32dd6012a882dbaee20dc691
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
This interface can be used to enable or disable sifs burst
from debugfs.
CRs-Fixed: 2017024
Change-Id: If1ce889c4a829c20e0570a6cf35711f988859b89
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
SDCC is running at NOM during 4K video playback test
case which is causing power regression.
Fix this by adding DDR52 lower bus speed mode in
clock scaling. With this change sdcc is able to run
in low power mode(SVS) and hence improving power savings.
Change-Id: I99e03bea142e5377ee7c12c29a31631c1b4dabed
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
SDM660 target has a dual DDR channel of width 16 bits.
Update DDR bus bandwidth voting considering per channel
voting and update CNOC bus voting to support LOW_SVS
(i.e freq 33.33 MHz) considering bus width of 4 bytes.
Change-Id: Iff0a40016f58c82d0823fd0c1968f1af6978f68c
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
'ret' might be used uninitialized in this function.
Change-Id: I21814a0ac3e40b30fa0894b5607f5701cec88a1f
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
mhi_rmnet support both hardware accelerated path,
and software path for IP traffic. Add support to
configure interface name through device tree.
CRs-Fixed: 2022229
Change-Id: I8356c599ce22ae45e0f3c03272ebf50251a73a59
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Allowing 'data_role' and 'power_role' sysfs attributes to
be writeable implies that they can be changed independently.
This is only true if there is a PD-capable device attached,
otherwise the write permission should not be set.
Also make sure to call dual_role_instance_changed() at the
conclusion of initiating a DR swap in order to trigger the
is_writeable() callback to update the permissions. Note that
the PR swap case is already handled during the call to
usbpd_set_state(PE_{SRC,SNK}_READY).
Change-Id: I3f4bcaa8ae32af9a124e6f0967509c784e776f7d
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Remove use_play_irq and use_sc_irq flags as they are not really
needed. Interrupts can be obtained and registered always. Keep
the play interrupt enabled only for buffer mode.
Change-Id: Ie530819ed18b048d43d59dd7a0dc5f73cc3a9b70
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Currently, the driver does read-modify-write to registers in so
many places. It would be better to have a masked_write API to do
this. This also needs a change in the mask definitions used in
all places where these writes are made. Also, create separate
functions that deals with a particular configuration so that they
can be reused later.
Change-Id: Ice07297b1542640e82c7adc12d323258440edb77
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
pmic-voter.h needs to be used in the qcom-tadc driver which resides
outside of the power/supply/qcom location. Move it to include/linux.
Change-Id: I5079a8504573da2a800fd458ef9aa5931056d8c2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
There are errors in ADC current, voltage offsets and gain mega, due
to data conversion without taking care of sign bit extension. Fix
them.
Change-Id: I8cd51bff27704601fcaae8a198b06a53309d5035
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Expose CHARGE_QNOVO_ENABLE property required to enable
qnovo charging algorithm.
Change-Id: I84ef8620de6a10698f98705dfb5941e71c012e79
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Add the property to enable qnovo algorithm for charging.
Change-Id: I110f386d5cf86a4718e7d55af3068fd357dca8e9
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Expose two existing properies to userspace:
VOLTAGE_QNOVO - qnovo's force-value vote for float voltage
CURRENT_QNOVO - qnovo's force-value vote for fcc
Change-Id: Ibd10a394b648d4638769cbf59b6508a41de2b0b6
Signed-off-by: Harry Yang <harryy@codeaurora.org>
UFS PHY power management is managed by its parent (UFS host controller)
hence set the no runtime PM callbacks flag on UFS PHY device to
avoid any accidental attempt to call the PM callbacks for PHY device.
Change-Id: I06e6b140a98233e30d406754f0cdcdd27c834357
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
During continuous splash handoff on video mode panels, the
cleanup is currently performed only on the master control. This
causes occasional memory fault in dual control configurations.
This change calls cleanup on both master and slave controls
if applicable.
Change-Id: If0bcad0686efd5f2aba0efa6992e1d348aca213f
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
Currently, red and green LEDs are used for showing charging and
full status. Since they're configured with battery-charging and
battery-full LED triggers, power supply framework updates these
LEDS for battery power supply based on charging status. Remove
these default trigger configurations so that these LEDs can be
controlled by userspace in a better way. Also, specify blinking
configuration for red LED so that it can be used for indicating
HVDCP chargers.
CRs-Fixed: 2007466
Change-Id: I3e06582e7e1b6b8a588e7f5fb7b31bd01be16cea
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Scaling is not allowed for layers with solid-fill.
Add checks in validate call to fail such cases.
Change-Id: I02cb2d129d27c6173429fd02b5ff84702936d98e
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
When reading the die reset threshold an error is returned due to a
missing switch case. Add it.
Change-Id: I079efe745fd64d37ba284dca7c912b1613b20af3
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Two or more conversion requests could be scheduled at the same time
which causes timeout errors. Fix this by serializing the software
conversion requests.
Change-Id: Ie5de4923cfb67f8e75248ebe1a6d577dab1686a4
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Added support for IPC logging to GSI driver.
This will create a new entry for GSI on IPC the IPC log.
Change-Id: I367535eb81a9d9245d4fd5fae70160ffde2137ee
CRs-Fixed: 2020848
Acked-by: Michael Adisumarta <madisuma@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
The clock lane can be configured to be in HS mode always as
long as the DSI PLL is enabled. For command mode cases during
static screen, disable this setting before DSI PLL is disabled
and enable it back after DSI PLL is enabled and DSI lanes exit
ULPS state.
Change-Id: Ic98bb79cdafa72971b0dcdc6cfacfe1d8f246f5a
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
When any system call is made, before servicing it make sure that the
session context is not null and channel info is valid.
Change-Id: Ieba53b123d6553c5381db9f0b6d57b8f343e6155
Acked-by: Vishnu Karthik D <vikarthi@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
IPA Q6 needs to know when the client pipe disconnects
to clean up call related settings. Make a change to
send filter notify req with filter index len as 0.
Change-Id: I989eed2e04156b4f6e193dce0e8e71d1f588e749
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
spcom_device_read() should check that filp->private_data is not NULL
before using it.
CRs-Fixed: 2016948
Change-Id: I663d31e69b1f170c4a125705f1e1a1fde4ed098b
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Pingpong mismatch can happen due to the synchronization issue
between request frame and ISR. To avoid this, maintain ping pong
reference count for each stream, and reject any frame requests
if the ping pong is already consumed.
Change-Id: I2e74c6a927a6ea5f54da2616f84dc242e4091473
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
PIL boot failure if happened due to memory allocation failure then skip
clearing segments as there is nothing loaded in fw region.
Change-Id: If0c09dd47941be0d9fe42496db43365ece32f3e9
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
In existing implementation, we are clearing fw region when loading fails
midway. This is not in consonance with MBA design so differentiate
between modem and other PIL modules. While at it, rectify the data type
of subsys_state in qmi_client_info as well.
Change-Id: I985456fca42346947eac24df5bf66599dcbf4c53
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
when SVA app is launched, apps is not going to suspend
as widgets are not added in ignore suspend list. Hence
add required CPE widgets to ignore suspend list.
CRs-Fixed: 2021795
Change-Id: I9e3b6c1a7751a6a580e57265bb5b1140c09198a8
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Ice setup operation will work indpendent of storage
type. Command line parameters will be read to find out
storage type before doing ICE HW Configuration.
Change-Id: I90a520f6d80e92505464fcde04980d858b34b455
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
Devices without pm_ops are not required to be added in dpm list.
It also helps in improving suspend/resume latencies.
Change-Id: I19a85742fdb6f4d01363b69662ea6d7721a08b3a
Signed-off-by: Sravan Kumar Ambapuram <asravan@codeaurora.org>
Wakeup of tx thread is done in rx_worker non atomic context. Additionally,
rx_worker also process commands in non atomic context which require tx in
same context. This leads to deadlock situation, if the tx issued from
rx_worker non atomic context result in fifo full and go to sleep.
To avoid this deadlock situation now wakeup is called from a deferred
function.
CRs-Fixed: 2018003
Change-Id: Ibfd12f65340c7ac9a00956a014bc013401223c98
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Sysrq must be enabled via /proc/sys/kernel/sysrq as a security
measure to enable various critical fiq debugger commands that
either leak information or can be used as a system attack.
Default disabled, this will leave the reboot, reset, irqs, sleep,
nosleep, console and ps commands. Reboot and reset commands
will be restricted from taking any parameters. We will also
switch to showing the limited command set in this mode.
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 32402555
Change-Id: I3f74b1ff5e4971d619bcb37a911fed68fbb538d5
[d-cagle@codeaurora.org: Resolve merge conflict]
Git-repo: https://android.googlesource.com/kernel/msm
Git-commit: 1031836c0895f1f5a05c25efec83bfa11aa08ca9
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
During stress environment, sometimes DSI ULPS exit sequence
does not work properly. Add memory barriers while programing
DSI lane register to ensure proper state transition of DSI
lane during ULPS exit.
Change-Id: Ib50958cf342bf23ab44f5a9d3bdf60adad824145
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
rm67195 fhd command panel will be used for SDM630
PM660A QRD, add panel supply entries for this AMOLED
panel, add brightness DCS control type for this panel,
enable this display panel for SDM630 PM660A QRD.
Change-Id: I6c3e137f55ab9662cab3d238c2e2f5e72fa73ca6
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
Enable ESD feature for default truly command mode panel on sdm630.
Also increase the escape clock of both command and video mode panel
to avoid DSI PHY related errors seen during ESD enable use case.
Change-Id: Icc6064a9ad2b7aac2699f3161a3f7711933e55f8
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Close data source ports i.e. wcn3990 tx ports before data sink ports i.e.
AFE for FM tx case. Also, do not set wcn3990 overflow/underflow registers
to 0 during channel disable path. This causes audio loss if audio focus
is lost during FM playback.
Change-Id: Id6c8ee145bf7feb8681851499ba36b708667b4ef
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
Currently, memshare allocates 5MB memory to diag client.
This patch increases the memory to 15MB. Also now diag
client will be considered guaranteed to avoid memory
allocation failure on modem SSRs.
Change-Id: I2ac822ef95ab7fbf054fdc80052b8406732f383e
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
Array elements needs to be initialised as the
elements are not initialised by default and may
contain junk data which will lead to unexpected
behaviour.
Change-Id: Ifecb8065b09afcbf11a9dcfbf230403afcdb225d
CRs-Fixed: 2015789
Signed-off-by: Deepak Kushwah <dkushwah@codeaurora.org>
Secure scaling control is flagged as volatile which
should not be beacause as per the documentation a volatile
control changes continuously but this control value
is updated from capabilities we got from the firmware
which is not going to change later. Also as this control
is volatile, when we try to get control on this, driver
will try to get control for all the controls which are
flagged as volatile. This might lead to generate session
error as there are some controls which are specific to
codec type but as they are flagged volatile driver will
try to get control for them too and this will trigger
session error from firmware.
Change-Id: I42602eb8e20a6ae5ce90f9dbe938b0503c6a731e
CRs-Fixed: 2015147
Signed-off-by: Deepak Kushwah <dkushwah@codeaurora.org>