Because of a change in the underlying bus driver, the secure touch
layer in the input drivers is now required to control directly the
clocks which are needed during the touch sessions. The clocks which
are associated with the underlying I2C bus are clk_gcc_blsp1_ahb_clk
and clk_gcc_blsp1_qup3_i2c_apps_clk. These clocks are turned on/off
when the secure touch session is started/ended.
CRs-Fixed: 990820
Change-Id: Ie2f6f5b736b27792e6e4dc2c39064e0ebdc03d7b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Update F12 touch report function with adding input_sync to
correct the pointer reporting status.
Change-Id: Iefe24525a9551736a6044697b447a25e2c5c65ca
Signed-off-by: Mao Li <maol@codeaurora.org>
This patch creates two sysfs files for secure touch - secure_touch
and secure_touch_enable, which will be accessed by secure UI app.
We also define the store and show function for these sysfs files.
Change-Id: Id43118120d4a1f0682904f48b3584d3ba62ef1dd
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
8953 QRD supports Synaptics touch controller. For synaptics_dsx_2.6 driver
to work with the TrustZone secure touch, all the touch interrupts must
be forwarded between the Linux Kernel and the TrustZone input driver.
Add APIs and configuration to support this.
Change-Id: I47520f9ba91b7645dff2c11b4c58a0b7aeed2765
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Add support for getting additional mappings
from dtsi in order to create a mapping on
IPA wlan SMMU context bank.
Change-Id: I92922e494c745ea4c6bf4f473515dea4eccbd62e
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Add diag over glink support to communicate to WDSP.
Change-Id: I60cce19bd82030990a1267b81ed28c25ac8601ec
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
IPA-driver should request for aggre2_noc_clk
via bus driver, add entry in dtsi.
Change-Id: I98726deff99b373344fe75f8bdcb11fcad83e621
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
The lineptr interrupt is expected to be triggered and have the
ability to be updated instantly whenever the panel is fetching
data. Previously, enabling lineptr was tied to kickoff and disabling
to pp_done work. Add capability to change the lineptr value instantly,
when auto-refresh is enabled and avoid disabling lineptr during that time.
Once enabled, lineptr can only be disabled when 0 is written to the node
while auto-refresh is enabled.
Change-Id: I9a1a478c857efd988984a0efb0a2b6475030c7ec
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
The header file currently has incorrect function declaration when
CONFIG_QPNP_HAPTIC is disabled and set to be compiled or set
as a module. Declare the functions static and inline them.
CRs-fixed: 1058405
Change-Id: I69b7e5542f561735ed044bdaf49f855b57777c84
Signed-off-by: Clyde Byrd III <cbyrd@codeaurora.org>
IPA might have Information leak and device crash due to
kernel heap overread in IPA driver when processing
WAN_IOC_ADD_FLT_RULE_INDEX ioctl. The fix is to add
check on max number of filter rules send to modem.
Change-Id: I454e04d05cfcb7af8fc4bd2b4a1bade55c4684d0
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Compile Video driver as a Loadable Kernel Module
on msmcortex.
CRs-Fixed: 1058390
Change-Id: I166e3e3854439c8ae15fd1e5a10e671da76ef044
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
qseecom_send_modfd_cmd converts ION buffer's virtual address to
scatter gather(SG) list and then sends them to TA by populating
SG list into message buffer. As the physical memory address in
SG list is used directly by TA, this allows a malicious TA to
access/corrupt arbitrary physical memory and may lead to the
process gaining kernel/root privileges. Thus, make changes to
have the QSEEComm driver passing a list of whitelist buffers
that is allowed to be mapped by TA, and the QSEE kernel, in turn,
should add checks to the register_shared_buffer syscall to make
sure the shared buffers an application is mapping falls within
one of these whitelist buffers.
CRs-fixed: 1021945
Change-Id: I776ead0030cad167afcf41ab985db7151a42d126
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Adjust phy-qcom-ufs-qmp-v3 settings based on post silicon validation.
Change-Id: Ide0ca4714679bb576a8069bdd7720507074ccc47
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Buck damage was seen to go away once the dead time were increased
in addition to increasing the OOB comparator threshold.
CRs-Fixed: 1055113
Change-Id: I8979d203fc7c35ec23e23874c8dd8f980a1cc619
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Commit 85635da429 ("qcom-charger: smb138x: fix buck damage on
v1.1 hardware") introduced wa_flags as the first member
in the struct. However there are implict assumptions in the driver that
the first member is the library structure. This causes memory corruption
and an eventual watch dog bite reset.
Fix it by ensuring that the library struct is explicitly initialized
from the parent struct.
CRs-Fixed: 1055113
Change-Id: I38474a228ec7b245dc330b4a37847c9f1bf29c2a
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
'commit 5b42bd749e8c ("usb: gadget: gsi: Optimize TRB's buffer allocation
functionality")' removed handling of EVT_HOST_READY event with state
STATE_INITIALIZED to optimized USB GSI state machine. This handling is
required for specifically when RNDIS interface is being enabled through
device manager, otherwise RNDIS interface doesn't get private IP address
back. Fix this issue by adding back handling of EVT_HOST_READY event with
state STATE_INITIALIZED.
CRs-Fixed: 1050838
Change-Id: I7010005b37b4709f54de58d52a56cb7f5e88bd08
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
header change for CNE to pass gateway
info to IPA
Change-Id: I0f0a84a12c3ba514f7309b16c73f5b8ed631626d
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Fix a static analysis issue at IPA driver,
IPA unit-tests I/S. Do not dereference a pointer even
if it can potentially be NULL.
CRs-Fixed: 1055710
Change-Id: Ie7eff49f136fe429ef10c6067ce7d8aae2694d3a
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Focaltech's CTP FT6436 is able to behave like a proximity sensor.
Enable the driver support this new feature.
Also cleared the chekpatch warning on 3.18 kernel.
Change-Id: I7a6ec3a387536c512637b0bd8dab95e7cceca212
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Update the Display-Port PHY and PLL configuration
with the recommended settings. Remove the
support for 9.72Ghz VCO frequency. Update the divider
settings to support the new frequency plan.
Update the Phy Aux settings and voltage/pre-emphasis
settings according to recommended configuration.
Change-Id: Ic4d206da3dc6b45214e7601e7556cfb0bef81a7d
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Add compatibility checks for the new LM configs sent by dest
scalar with the DSC slice width/height during validation. Without
this check, the DSC config check would fail at a later point during
ctl start.
Change-Id: I55e483be5629cfe26cca3b740d206845a1caa903
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
msmcobalt has a different command mode MISR CRC register offset. Correct
the offset for the MISR control and signature registers, and correct the
block_id by lookup the INTF number from CTL.
CRs-Fixed: 1049910
Change-Id: If4fb44d217ed84067a0732334523ddb1e435e4e7
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
sysctl_sched_wake_to_idle is a means to allow or disallow a global
task placement preference for idle CPUs. It has been unused thus
far since we've preferred to use a per-task flag instead to control
placement for individual tasks. Using this global flag, however, does
allow greater flexibility for testing and system evaluation.
Incorporate sysctl_sched_wake_to_idle in the placement policy.
Change-Id: I7e830bc914eb9c159ae18f165bc8b0278ec9af40
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Do the aggregation for frequency only when the total group busy time
is above sched_freq_aggregate_threshold. This filtering is especially
needed for the cases where groups are created by including all threads
of an application process. This knob can be tuned to apply aggregation
only for the heavy workload applications.
When this knob is enabled and load is aggregated, the load is not
clipped to 100% @ current frequency to ramp up the frequency faster.
Change-Id: Icfd91c85938def101a989af3597d3dcaa8026d16
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
The load reporting during frequency alert notifications is broken under
load aggregation. When aggregation is enabled, the total group busy
time is accounted towards the maximum busy CPU of a frequency domain.
If this CPU has a notification pending, it's group busy time alone is
accounted and other CPU's group busy time is completely ignored.
Similarly if any CPU other than maximum busy CPU has a pending
notification, its group busy time is accounted twice.
Maintain the frequency alert notification flag per frequency domain.
When the notification is pending, don't clip the load to 100% @ fur
for any of the CPUs in the frequency domain.
Change-Id: Iebc7d74d6fafa20430fa1c7d80f34a6ab198832d
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
When sysctl_sched_enable_thread_grouping is set to 1, any new tasks
created are put in the same group as their group leader.
Change-Id: If1837dd7c8120c8b097cfffa1dc52eb4781f1641
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Related tasks are grouped together based on their sched_group_id.
The userspace implementation requires world write permissions to
this /proc/<PID>/sched_group_id file.
Change-Id: I92e6fd3ca693387aeb0664cc75afde06f75d4a9f
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Add a flag to the trace event that indicates why we picked a particular
CPU. This is very useful information/statistic that can be used to
analyse the effectiveness of the scheduler.
Change-Id: Ic9462fef751f9442ae504c09fbf4418e08f018b0
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
notify_migration() is a HMP specific function that relies on all
of its contents to be stubbed out for !CONFIG_SCHED_HMP. However,
it still maintains calls to rcu_read_lock/unlock(). In the !HMP
case these calls are simply redundant. Move the function under
CONFIG_SCHED_HMP and add a stub when the config is not defined so
that there is no overhead.
Change-Id: Iad914f31b629e81e403b0e89796b2b0f1d081695
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Most code pertaining to CONFIG_SCHED_HMP has been moved to a separate
file "hmp.c" in order to facilitate kernel upgrades. Fewer changes in
the original scheduler files means fewer conflicts. Some parts of code,
however, could not be moved to the separate file either because of
dependencies with other non-HMP code or because the changes are specific
only to the scheduling classes where the code resides.
Change-Id: Ib067ac75e5a494008dcb3c67586b622c1b3962ce
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Code sections found either CONFIG_SCHED_HMP or !CONFIG_SCHED_HMP
have become quite fragmented over time. Some of these fragmented
sections are necessary because of the code dependencies. Others
fragmented sections can easily be consolidated. Do so in order
to make kernel upgrades a lot simpler.
Change-Id: I6be476834ce70274aec5a52fd9455b5f0065af87
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Fix compile issues observed when CONFIG_SCHED_HMP is not turned on.
There are still targets that may want that config option turned off.
Change-Id: I29e69356da8d003d13d8cd3927a0b166cc1ef95e
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
The config option has been removed. Update all defconfigs to reflect
that.
Change-Id: Ia1aa0405e8d7c7c48fe8023691b57fba00c6a22b
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
With the SMMU attached, need to provide
netdev name when calling dma_map_single
instead of passing NULL to prevent DMA
allocation errors.
Change-Id: Ic126739d20ff6cd148b2f424746555419fcfca70
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Amend DCVS condition as follows
- Enable it for 1 encoder and 1 decoder concurent sessions.
- Remove low power dependency for encoder.
- Extra buffer count based on DCVS.
Also derive clock based on encoder load.
This change also reverts change @ commit b0b1581fc1
("msm: vidc: Use Dcvs only when there is no resolution change")
CRs-Fixed: 1050357
Change-Id: I3a15f830e52ee89ea81d0e450b68ef13970d0363
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Derive extradata plane size using internal MACRO rather
than getting from Venus. This helps to keep clients and
driver in sync.
CRs-Fixed: 1011881
Change-Id: I2b3536f5eb2742d6b6855140c40724f6425d1578
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
CONFIG_SCHED_FREQ_INPUT was created to keep parts of the scheduler
dealing with frequency separate from other parts of the scheduler
that deal with task placement. However, overtime the two features
have become intricately linked whereby SCHED_FREQ_INPUT cannot be
turned on without having SCHED_HMP turned on as well. Given this
complex inter-dependency and the fact that all old, existing and
future targets use both config options, remove this unnecessary
feature separation. It will aid in making kernel upgrades a lot
simpler and faster.
Change-Id: Ia20e40d8a088d50909cc28f5be758fa3e9a4af6f
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
The QHMP version of the scheduler is no longer available from this
kernel vesion onwards. sched-zone.txt should be used instead for
the upgraded zone scheduler. Remove the original sched-hmp.txt
and reuse the name for sched-zone.txt.
Change-Id: I9b033101b903dc49b8683025602d2af395501daa
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
While tracking C-states makes sense under CONFIG_SMP as well, cstate
information is currently unused under CONFIG_SMP. Move it under
CONFIG_SCHED_HMP for now since that is the only place it is relevant
at the moment.
Change-Id: Ifc5812cfe14ebf2b4d447100dcd87f02ab29ff7a
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
PELT extensions for HMP have never been used since the early days
of the HMP scheduler. Furthermore, changes to PELT itself in newer
kernel versions render some of the code redundant or incorrect. These
extensions have not been tested for a long time and are practically
dead code. Remove it so that future upgrades become easier.
Change-Id: I029f327406ca00b2370c93134158b61dda3b81e3
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Migration notifiers were created to aid the CPU-boost driver manage
CPU frequencies when tasks migrate from one CPU to another. Over time
with the evolution of scheduler guided frequency, the scheduler now
directly manages load when tasks migrate. Consequently the CPU-boost
driver no longer makes use of this information. Remove unused code
pertaining to this feature.
Change-Id: I3529e4356e15e342a5fcfbcf3654396752a1d7cd
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
GFX retention mode does not save GFX rail power. The feature
increased MX rail power. Fixing the problem requires more overhead
than removing it. The feature has never been enabled in any targets.
So remove the feature.
CRs-Fixed: 1053516
Change-Id: I5f118138eca307f7cc16405ff9c8897ecd510c12
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add DCVS plan to support new GPU frequencies and voltage corners
on msmcobalt v2.
CRs-Fixed: 1056661
Change-Id: Ie0bde4d908189da86077b69be52c51f2a35596a8
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add separate voter clocks for controlling the mmss_camss_jpeg0_clk
from two clients on MSMCOBALT.
CRs-Fixed: 1049594
Change-Id: I530e35054fd512574bca9e5937317099f58d2bb6
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Adapt IPA driver code where it has different handling
according to IPA H/W version, to support IPAv3.5 and
IPAv3.5.1 H/W versions.
Change-Id: I2e5bd023d643d2fbba32f226c5eb85c39b620f3b
CRs-fixed: 1055677
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
The kernel panic could happen in CPU interrupt context. CPR3 panic
callback function does ioremap which cannot be executed in an interrupt
context. Fix the issue by doing a ioremap during driver initialization.
CRs-Fixed: 1056786
Change-Id: I191127fafb26bcf10ea25f972fe5af122debf292
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add initial device trees for msmcobalt QRD SKUK board.
Change-Id: I9426d3651c704fbef302c6d49170c9e996cb9179
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>