Based on our tests SDClang 4.0 isn't ready yet,
as it breaks many important stuff like the camera.
We will use SDClang 3.9 as primary one.
Change-Id: Ia7de336f6f12ddb5fa67164f221599e88c4ed500
Signed-off-by: Hernán Castañón <herna@paranoidandroid.co>
FDE operation requires listener services. Qseecom daemon
should be up and running to ensure all listeners are
registered and running.
Change-Id: I45637fe25a4ccc9a9ae4939449d310b9a7313e10
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Fix compilation error for qseecom.h which encountered while
creating the clean build.
Change-Id: I1271866d453f0f3d60bfc23ac12819b1cd0cabea
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Add new APIs for create, wipe and update keys, which is
required for HW based Full Disk Encryption.
Change-Id: I483ce1a734db7b7cbfb2a06fe74baf559cfb51fb
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Add liblog to cryptfs_hw to compile the adb log message related
functions to enable logging.
Change-Id: Ibc6b8617431cae687d964d1ab56ac25e1b1b96f2
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
On O, Dash was fully deprecated on all chipsets.
Change-Id: I0583ad868390c028cef1e8bf0cb181d7ca1e140a
Signed-off-by: Hernán Castañón <herna@paranoidandroid.co>
* Refactored to work with CAF's build/soong
* Export necessary SDClang environment variables
* Set SDClang configs in the json files
* We can also add different device-specific SDClang configurations in sdclang.json
Change-Id: Id91cb4030f6e8d715203305d647cd440773898a2
Signed-off-by: joshuous <joshuous@gmail.com>
All Qualcomm devices are capable of theoretic
QCNE support.
Change-Id: I812a044105698971c280657e40e737be049c124f
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
KW throws warning about possible access of an array
by out of index range. Size passed to memcpy is
properly guarded to avoid out of bound access.
Change-Id: I355573c307098498cfa988377921b4e9ea7e8c2e
":=" overrides the previous definitions of
LOCAL_CFLAGS in this Makefile, so use "+="
instead.
Change-Id: Ib71c0bff1b492dc9022fa8e2d801f35f67e2af64
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
The restrictions here are superfluous right now:
* TARGET_USES_DEVICE_SPECIFIC_POWERHAL can already
guard devices from building this HAL
* Nexus devices build power.<device> by default,
for example: power.bullhead, which does not match
this module name pattern anyways.
Change-Id: I8f4e214c92eaa525231df1e7f935c45192b50de9
(cherry picked from commit 67bd4db14e59f93e6e11022c79bb3af20fda8d56)
After reaching the maximum number of retires with wrong password,
userdata is erased based on the info written on /cache partition.
As per the latest changes of A/B, cache partition is not present
which leads to failure of userdata wipe before reboot. This patch
removes reboot from cryptfs_hw layer if max entries reached, as
frameworks take care of userdata wipe.
Change-Id: If97f2f7452beb004f44d7d41d1d76def23fe2720
As the partition names are changing from branch to branch, device
FDE key is not wrapped with Hw keymaster which is less secure.
So removing the partition name related checks to avoid failures.
Change-Id: If181b093122479ca57ff6846b10d6aa2fb3eaa0c
When the screen is off, our workload is non-
latency-sensitive, so we can set go_hispeed_load
to 100 while the screen is off.
The result is that the boost to hispeed_freq
and the connected possible boost to max_freq
happens less often.
This is added to the targets which are known
to support mpctlv3: msm8952, msm8992,
msm8994 and msm8996.
Change-Id: I6d1ce4c560bbc8aa86c5b022513f244dd8c780d8
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
The interactive_override code path was obstructed.
This clears the code path, so it is ready to be
used.
Change-Id: Ic08d0850e2ca40c5262ad3c7ffcc9b7d8d0abe82
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
The SPM logic we introduced would be getting skipped
if the target chipset would override the default
power handling.
As solution, we make the SPM handling exclusive and
independent from the default power handling.
Change-Id: I3f3be167a877e107dc33af09f8a70993b2c63daf
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Use the newly introduced framework to enable
and configure SPM:
msm8992/msm8994:
* Unplug all big cores
* Set maximum GPU power level to 3
* Set interactive timer rate to 40ms
msm8996:
* Limit CPU frequency to 1.3Ghz
* Set maximum GPU power level to 4
* Set interactive timer rate to 40ms
Change-Id: I84f29edc2fb127c3f7bfcb5d8c6fdb09a8842f45
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
This implements a simple framework for Sustained
performance mode (SPM) which is oriented by Google's
reference implementation.
SPM gets triggerred when the framework detects
that an active activity is requesting SPM.
This framework is generic and extensible
for all chipset/target files.
Every chipset specific file that wants to support
SPM has to opt in by overriding "toggle_sustained_performance"
with the chipset/target specific handling.
If it is noticed that SPM runs well on a device
and passes the "CtsSustainedPerformanceHostTestCases"
testing module in CTS, it should set
the overlay "config_sustainedPerformanceModeSupported"
to true in order to make the framework accept
SPM requests from apps.
Change-Id: Idd53379f8dda8463e2b82f0760086cfe97790830
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
These function definitions for were missing
and must be readded since they will be used
in the following patches.
Change-Id: I8ab5cc1db58d143b181e0cf5d81af38c3ccf1090
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Qualcomm's power hint which was supposed
to do that is broken.
This patch corrects it by replacing it with a
mpctlv3 hint and setting the maximum big cores
to 0 for the screen off case.
The affected chipsets are msm8992 and msm8994.
Change-Id: I712a13067fbbdf26c1d49d6e8229b01f0ef21b61
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Automatic Vectorization is enabled by default
in SDCLANG at optimization level O2 or higher.
However we are forced to still use Os for thumb mode,
where our setting of O3 gets overriden.
This change explicitly passes the option to enable
automatic code vectorization in order to enable it
even if our main optimization level gets overriden.
Change-Id: I3e27d909ec0f9231686d5d97c0b2876cd33a07ae
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* These files were still using the old
syntax and thus breaking build.
* Instead of fixing all of them,
remove support, since they have
no use.
Change-Id: I522655a8c52089dd779a131ac2a785c63856e61f
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Change removes ignore_hispeed_notif tuning for
camera encode use case in powerhal to avoid
perf impact.
Change-Id: Ide0e553ede122e65d25397e09bf3bd49fb4df43b
Replace the sys.listener.registered with sys.keymaster.loaded
because the keymaster loading is the final operation done by
the qseecomd and key operations should wait till the qseecomd
initialization completes.
Change-Id: I78a2a6941058f8ec6197ef88b324f6178f7ae2fb
Signed-off-by: Alex Naidis <alex.naidis@linux.com>