* When wlan_mac.bin is missing for whatever reason, qcacld will fall
back to loading mac address from firmware. The OnePlus firmware can
provide a correct mac address, but it is in reverse, breaking the
qcacld logic.
* Just reverse it back in qcacld. Although wlan_mac.bin should not be
missing at all, we have seen some rare cases where it could not be
generated properly for some reason, and the qcacld fallback is broken
because of byte-ordering. Let's at least make the fallback path work.
Change-Id: Iccdc4657debec1375939dca7a4ce4df5e76f255f
This method of building qcacld isn't meant to be used and
causes conflicts with the new OEM profile configuration.
Configuration is now done with drivers/staging/qcacld-3.0/configs.
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
(cherry picked from commit 1bdd23fcaaef57db47ea69720f51aed47353482c)
To have the kernel pre-create 16 loop devices, which will save boot time
as soon as we start having more than 8 APEXes.
Bug: 119022885
Signed-off-by: Martijn Coenen <maco@android.com>
Change-Id: I43cffd6059bd9eb607f6a46e46e51ecfd1828f6a
Android has been benefiting quicker boot from bigger readahead during
boottime than runtime. However, the boottime readahead setting is set
when init is established after treble early mount. This patch will make
readahead bigger by default so early boot can benefit from it. Readahead
will be reset by init on boot_complete.
Bug: 62413151
Test: boot walleye 100ms faster
Change-Id: Ic9dad5666ce3d4836d73afbcee04cfb875f64f5d
Signed-off-by: Wei Wang <wvw@google.com>
Under some workloads, we're seeing periods of freezing
and excessive jank that appear to be partially improved
by disabling the autogroup feature.
Bug: 63331203
Signed-off-by: John Dias <joaodias@google.com>
Change-Id: If61dd69f6a1930158ca7e8c53240042381bc7c77
This option enables a transparent branch optimization
that makes certain almost-always-true or almost-always-false
branch conditions even cheaper to execute within the kernel.
Certain performance-sensitive kernel code, such as trace points,
scheduler functionality, networking code and KVM have such
branches and include support for this optimization technique.
If it is detected that the compiler has support for "asm goto",
the kernel will compile such branches with just a nop instruction.
When the condition flag is toggled to true, the nop will be
converted to a jump instruction to execute the conditional
block of instructions.
This technique lowers overhead and stress on the branchprediction
of the processor and generally makes the kernel faster.
The update of the condition is slower, but those are always
very rare.
Change-Id: I90657cf7ef3b9d116eb019da87dd62e1806e0e87
Signed-off-by: joshuous <joshuous@gmail.com>
After Pie tag was released CAF added functions
for checking fw version that are not supported
by our DSP.
And kernel tell us about it by spamming:
[10186.137518] q6core_get_service_version: Failed to get service size for service id 7
with error -95
[10186.141517] q6core_get_service_version: Failed to get service size for service id 8
with error -95
[10186.151816] q6core_get_service_version: Failed to get service size for service id 7
with error -95
[10254.278514] q6core_get_service_version: Failed to get service size for service id 7
with error -95
[10254.282274] q6core_get_service_version: Failed to get service size for service id 8
with error -95
[10254.292154] q6core_get_service_version: Failed to get service size for service id 7
with error -95
[10294.549313] q6core_get_service_version: Failed to get service size for service id 7
with error -95
[10294.553506] q6core_get_service_version: Failed to get service size for service id 8
with error -95
[10294.563891] q6core_get_service_version: Failed to get service size for service id 7
with error -95
This results in certain audio apps getting focked up
after system suspends and then goes back online.
Change-Id: I09dfa1ee3adad8df62f79bc79a88a74f60d73b23
Signed-off-by: Yaroslav Furman <yaro330@gmail.com>
If RT table size is zero, retrun to prevent
further process.
Change-Id: Ic671b1760969e6a5f5e896f5334289061b02d256
Acked-by: Pooja Kumari <kumarip@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
There's no use reporting load more than once in a window
via the cpufreq_update_util path (unless there's a migration).
Set the load_reported_window flag in sched_get_cpus_busy
to remove these redundant updates.
Change-Id: If43dd5abc7e0e52a8e0f0df3a20ca99ed92f5361
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Since HMP uses WALT, ensure that load is reported just once per window,
with the exception of intercluster migrations. Further, try to report load
whenever WALT stats are updated.
Change-Id: I6539f8c916f6f271cf26f03249de7f953d5b12c2
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The vDSO needs to be build with x18 reserved in order to accommodate
userspace platform ABIs built on top of Linux that use the register
to carry inter-procedural state, as provided for by the AAPCS.
An example of such a platform ABI is the one that will be used by an
upcoming version of Android.
Although this change is currently a no-op due to the fact that the vDSO
is currently implemented in pure assembly on arm64, it is necessary
in order to prepare for another change [1] that will add C code to
the vDSO.
[1] https://patchwork.kernel.org/patch/10044501/
Change-Id: Icaac4b1c9127d81d754d3b8688274e9afc781760
Signed-off-by: Peter Collingbourne <pcc@google.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Mark Salyzyn <salyzyn@google.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
clock_gettime(CLOCK_BOOTTIME,) slows down after significant
accumulation of suspend time creating a large offset between it and
CLOCK_MONOTONIC time. The __iter_div_u64_rem() is only for the usage
of adding a few second+nanosecond times and saving cycles on more
expensive remainder and division operations, but iterates one second
at a time which quickly goes out of scale in CLOCK_BOOTTIME's case
since it was specified as nanoseconds only.
The fix is to split off seconds from the boot time and cap the
nanoseconds so that __iter_div_u64_rem does not iterate.
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 72406285
Change-Id: Ia647ef1e76b7ba3b0c003028d4b3b955635adabb
Currently, in order to build the compat VDSO with Clang, this format
has to be used:
PATH=${BIN_FOLDER}:${PATH} make CC=clang
Prior to the addition of this file, this format would also be
acceptable:
make CC=${BIN_FOLDER}/clang
This is because the vdso32 Makefile uses cc-name instead of CC. After
this path, CC will still evaluate to clang for the first case as
expected but now the second case will use the specified Clang, rather
than the host's copy, which may not be compatible as shown below.
/usr/bin/as: unrecognized option '-mfloat-abi=soft'
clang-6.0: error: assembler command failed with exit code 1
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
(cherry picked from https://patchwork.kernel.org/patch/10419665)
Bug: 80184372
Change-Id: If90a5a4edbc2b5883b4c78161081ebeafbebdcde