Some applications still include android_pmem.h although all the
functionality for it is gone from the kernel. Keep this header
file around until all such users have removed the include.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[satyap: trivial merge conflict resolution]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
of_flat_dt_get_machine_name() API is marked as __init so
machine_name should be made as an extern in-order to get
it accessed by the cpuinfo.c. In the earlier kernel revisions
the usage was restricted to the one file setup.c only and
due to which we didn't faced any issue.
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Updated APIs used in msm_rng to be built on kernel version 4.4.
Acked-by: Shabnam Aboughadareh <shabnama@qti.qualcomm.com>
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
This snapshot is taken as of msm-3.18 commit e70ad0cd
(Promotion of kernel.lnx.3.18-151201.)
Acked-by: Shabnam Aboughadareh <shabnama@qti.qualcomm.com>
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
The perf event permission checks are necessary because they introduce
a security concern where one userspace task can monitor another task
and gain security related information. That concern doesn't exist for
kernel owned perf events since the kernel already has access to
everything. So, skip permission checks for kernel owned perf events.
Change-Id: I7121f5e03cf6ce8f0bfc9b5a69488efb80a97051
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
[satyap: trivial merge conflict resolution]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
An incorrect pointer to the event was being passed, instead of
pointer to the remove event struct. Pass the correct pointer.
Change-Id: I7c35c5bb3a14d74a9b36c3d1dbd7af0bf80e7efe
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
Hotplug disables the pmu irq, but if counters are
running in the window before the CPU is hotplugged off
they can overflow and generate an interrupt. Because the
interrupt is disabled, this prevents the cpu from going
down.
Events are stopped during hotplug processing. However,
perf is hooked into the timer tick, and restarts enabled
events on every tick, even if they were stopped. Change
the event state to OFF to prevent this.
CPUs can still be power-collapsed while being hotplugged
off, but hotplug processing will save and restore the correct
state, so don't process power-collapse save/restore while
hotplug is in process.
Processing for stop reads the counters, so a separate call
is no longer needed. Start processing re-enables events so
the from_idle flag is not needed during pmu_enable.
Change-Id: I6a7f5b04955ebba8c4d76547f24e2be4071d7539
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
[satyap: merge conflict resolution and move changes in
arch/arm64/kernel/perf_event.c to drivers/perf/arm_pmu.c
to align with kernel 4.4]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Reset will overwrite registers written by
restore_pm_registers, so order the calls correctly.
Change-Id: I8210d61c2f4c2397efb2de801d94ed1d5aad480c
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
[satyap: merge conflict resolution and move changes in
arch/arm64/kernel/perf_event.c to drivers/perf/arm_pmu.c
to align with kernel 4.4]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
PMU irq is disabled when a cpu is hotplugged off
and perf is running. Using cpu_pmu->active_events
to determine if the pmu is running left a window
where it is decremented to 0 in hw_perf_event_destroy,
and then armpmu_release_hardware is called. If a cpu
is hotplugged off in this window it may not disable
its irq. Use a separate flag which is not cleared
until after the irq is released by all online cpus.
The variable needs to be tristate because of the possibility
of a cpu being hotplugged in during this window. In that
case it should not enable its irq when the pmu is being
shut down. Having the GOING_DOWN state allows correct
behavior for cpus both going down and coming up.
Change-Id: I934ba5dec34e681ce8defd7fa7e311b4a2a92c1a
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
[satyap: merge conflict resolution and move changes in
arch/arm64/kernel/perf_event.c to drivers/perf/arm_pmu.c
to align with kernel 4.4]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Add notifiers for hotplug and power collapse in perf events.
Preserve counters and user enables across these events.
Disable and enable interrupts across events.
This allows perf-events to be used in an environment where
cores are power collapsing and being hotplugged.
Change-Id: Id27ac3b1c0733677e0bc9740ce7534c3e5fdac7c
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
[satyap: merge conflict resolution and move changes in
arch/arm64/kernel/perf_event.c to drivers/perf/arm_pmu.c
to align with kernel 4.4]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
While porting kryo CPU PMU driver to kernel 4.4, some functionality
got dropped unintentionally. This commit adds the dropped functionality
back. Also, update driver to be compliant to kernel 4.4.
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Enable OPTIMIZE_FOR_SIZE for msmcobalt debug and perf.
defconfigs and also fix one of the warning in the
EDAC driver.
8996 defconfig is also auto-updated during the build.
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Instead of #ifdef, use the IS_ENABLED() macro which correctly
handles if the Kconfig symbol is built-in (=y) or a module (=m).
Also add missing MODULE_LICENSE and MODULE_DESCRIPTION to
f_diag.c to allow building as a module.
Signed-off-by: Jack Pham <jackp@codeaurora.org>
To allow msm_iommu kernel test compilation, add a
iommu_unmap_range declaration and the corresponding stub
function.
Change-Id: If80918cc01afa7d0df2673f4e1962989af26f4bf
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
msm_iommu kernel test has a dependency on
include/linux/msm_iommu_domains.h header file.
Add a snapshot of this file to allow msm_iommu kernel test
compilation.
Change-Id: I2c9b634bdc8a06e51d139fc610c9005d9c93f4ee
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
The function regulator_set_optimum_mode has been changed
to regulator_set_load from regulator code. Also rename
regulator_set_mode_check to follow naming convention.
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
Enable hbtp_input driver to support host based touch processing.
Change-Id: Id56beccb53a0c64210e318a3a0a7f1a8d5d2bc27
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
Signed-off-by: Jigarkumar Kishorkumar Zala <j_zala@codeaurora.org>
Add support for the digital regulator in hbtp_input driver.
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
Change-Id: I315d4b4c985917e55823a3c3951f2bffb20b39e6
Add input driver for virtual mouse feature. The events
are received through ioctls and transfer them through
input framework.
Change-Id: I0842b49ec1c8c6bef3005d9f4419ab15e3abe024
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Port the HBTP Input driver and apply the following driver
changes taken from msm-3.10 kernel branch as of msm-3.10 commit.
31773451 input: misc: add input driver for HBTP
20bf9c5f input: hbtp_input: bypass alphabetical and numeric
key config
e424ee72 input: misc: hbtp-input: add event type in uevents
Change-Id: I122d22cf738c747bcd43ec7f90c33a239288fd9d
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Squash and apply the following touchscreen changes taken from the msm-3.14
kernel branch as of msm-3.14 commit 8139d0b
(ARM: dts: msm: Set flag to manage clks during suspend for msm8996)
421c2f3 input: touchscreen: atmel_maxtouch_ts: delay init call
48e0a07 input: atmel_maxtouch_ts: recover from bootloader
b3ebb61 input: atmel_maxtouch_ts: add support for force cfg update
8467fe3 input: atmel_maxtouch_ts: fix firmware update routines
c83ee59 input: atmel: Secure Touch support
1c7d5e2 input: atmel_maxtouch_ts: fix power up sequence
d4c1ffc input: atmel_maxtouch_ts: add support to ignore CRC
f402790 input: atmel_maxtouch_ts: add support for standard features
9374cef input: atmel_maxtouch_ts: use proper data types
0fbe83e input: atmel_maxtouch_ts: add regulator error conditions
e22d100 input: atmel_maxtouch_ts: add gpio support
63d4b74 input: atmel_maxtouch_ts: add device tree support
575c2fc input: atmel_maxtouch_ts: enable compilation on 3.10 kenrel
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
Add entries so compilation can be chosen for latest
Atmel touchscreen driver.
Change-Id: Ib63a56215e52cc80cb8532c50b16112d39c1e6f7
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
The secure touch ISR and the poll logic in the user space layer is
going out of sync because the completion lock in the driver
is getting released in some corner cases unexpectedly. Clear all
outstanding completions before waiting for one helps fix the issue.
Change-Id: Ia3a6d318330263e7bfd8dfc3cea71c5300ab82b4
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Add reset in resume function to enable touch panel S332U
for MSM8996 DTP.
Change-Id: Id13ee3a8426cbd90692bc8a658f166c79accd7fd
Signed-off-by: Mao Li <maol@codeaurora.org>
Modify the firmware upgrade procedure based on the following requirements:
If config id of the firmware file is greater than the config id in the
device and if packrat id of the firmware img file is greater than the
firmware build id in the device, then during the firmware upgrade
procedure, both firmware and config areas are upgraded. Otherwise,
if the packrat id of the firmware img file is equal to the firmware
build id in the device, then only the config area is upgraded. However,
if the packrat id of the firmware img file is lesser than the firmware
build id in the device, then it is considered as an error.
Similarly, if config id of the firmware file is equal to the config id
in the device and if packrat id of the firmware img file is greater than
the firmware build id in the device, then during the firmware upgrade
procedure, both firmware and config areas are upgraded. Otherwise, if
the packrat id of the firmware img file is equal to the firmware build
id in the device, then no upgrade is needed. However, if the packrat id
of the firmware img file is lesser than the firmware build id in the
device, then it is considered as an error.
This is a propagated patch from 3.10 kernel
commit - d9921ff0ce4024b43837d794cc261b52ae58f776 ,
input: synaptics_dsx_fw_update: modify firmware upgrade procedure
Change-Id: I646d2c04243a30b77d48698cce76e9e183bd6db1
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Update the firmware based on strict config ID versioning, rather than
the entire config ID as a 4 byte number. This will also protect
against config ID major number mismatches and packrat id mismatches.
This is a propagated patch from 3.10 kernel.
commit - 458cbab5c53d5141a66590441f9567d67d580c6f,
input: synaptics_dsx_fw_update: update fw based on config id
Change-Id: I1097585d3bd8b6ab753676dc56f268c7ce52680d
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Add support for reading configuration ID from the touch controller
during probe and print it. This is required to identify if touch
controller is programmed with correct touch firmware or not.
Change-Id: I155f0392ae67e5f9b184b9cef2a7bbb7666be30d
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Parse the panel coordinates before using it for the debug
message.
Change-Id: I6e893b91e9f11cf7d80602058358d8256a96726d
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
This snapshot is taken as of msm-3.14 commit 3bc54cf86b (Merge "msm:
camera: Add dummy sub module in sensor pipeline")
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
The arm64 uapi sigcontext.h can be included by 32-bit userspace
modules. Since arm and arm64 sigcontext definition are not
compatible, add arm sigcontext definition to arm64 sigcontext.h.
Change-Id: I94109b094f6c8376fdaeb2822d7b26d18ddfb2bc
Signed-off-by: David Ng <dave@codeaurora.org>
Enable OPTMIZE_FOR_SIZE for msm-perf_defconfig and
also fix the forbidden warning found during the compilation.
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
It is sometimes useful to profile how long CPU frequency switches
take, and traces have already been added for this purpose. Make
use of these and the trace_stat framework to generate statistical
histograms of frequency switch times in the following format:
# cat /sys/kernel/debug/tracing/trace_stat/cpu_freq_switch
CPU START_KHZ END_KHZ COUNT AVG_US MIN_US MAX_US
| | | | | | |
0 384000 1512000 3 2787 1648 3418
0 486000 384000 1 1129 1129 1129
0 1458000 384000 1 3174 3174 3174
0 1512000 384000 1 3265 3265 3265
0 1512000 486000 1 3235 3235 3235
0 1512000 1458000 1 213 213 213
0 1512000 1512000 1 0 0 0
Profiling is disabled by default (since it does incur some
overhead). It can be enabled or re-disabled echoing 1 or 0
to /sys/kernel/debug/tracing/cpu_freq_switch_profile_enabled
Change-Id: I3ef7f9d681b7bd13bcaa031003b10312afe1aefe
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
It's good security practice to make your executable code read-only. On
hypervisor-enabled targets, this can be trivially accomplished by
removing the writable attribute from all stage-2 mappings of the kernel
text. Add a small library and initcall to do this.
Due to constraints on the hypervisor, this needs to happen before all of
the cores are brought out of reset, so make it an early_initcall.
Change-Id: I2d3ee4ad69402d98f0f6a9078c58e66cd227d222
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Fix some variable initializations which would otherwise cause
forbidden warnings.
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Signed-off-by: David Keitel <dkeitel@codeaurora.org>