Commit graph

11825 commits

Author SHA1 Message Date
eeb9e2abd1 Updated for Winebox support 2023-03-26 03:53:50 +00:00
TheKit
b861848684 (halium) pro1x-perf_defconfig: enable extra binder devices 2022-08-04 17:05:50 +03:00
Eugenio Paolantonio (g7)
4b5e3db439 arm64: dts: bengal-idp: idea_keys: replace home keycode to KEY_LEFTMETA
Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2022-08-03 12:52:11 +03:00
Eugenio Paolantonio (g7)
66166e5703 arm64: dts: bengal-idp: gpio_keys: replace fn keycode to KEY_LEFTMETA
Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2022-08-03 12:52:02 +03:00
Eugenio Paolantonio (g7)
97dbcc6f98 arm64: dts: bengal-idp: make keyboard backlight detectable by upower
Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2022-08-03 12:51:31 +03:00
TheKit
86dd1e0173 dts: bengal-idp: change keyboard slide event to SW_KEYPAD_SLIDE
SW_LID confuses repowerd to turn screen off as it is used on laptops
2022-06-14 01:24:21 +03:00
TheKit
6b6ba3770f vendor/pro1x-perf_defconfig: enable CONFIG_BUILD_ARM64_DT_OVERLAY 2022-06-14 01:16:42 +03:00
TheKit
4271c84668 arm64: dts: import from Pro1-X BSP (2022-06-01) 2022-06-14 01:12:36 +03:00
TheKit
f13e1f4e3e Import F(x)tec Pro1-X BSP kernel changes as of 2022-06-01 2022-06-13 23:51:22 +03:00
TheKit
c3bcbab00e kernel: Merge LA.UM.9.15.r1-05300-KAMORTA.0 2022-06-11 03:14:24 +03:00
TheKit
ff61e8228a vendor/pro1x-perf_defconfig: enable AppArmor 2022-05-12 15:15:57 +03:00
TheKit
5b5b8f55b8 vendor/pro1x-perf_defconfig: reapply Halium/hybris changes 2022-03-20 22:10:55 +02:00
TheKit
c2a4dee8c7 vendor/pro1x-perf_defconfig: regenerate from bengal-perf_defconfig 2022-03-20 22:05:00 +02:00
TheKit
4b0b2030fb vendor/pro1x_defconfig: make QCA_CLD_WLAN built-in 2022-03-20 21:57:53 +02:00
TheKit
175a880aa5 vendor/pro1x_defconfig: hybris friendly defconfig 2022-03-16 13:20:49 +02:00
TheKit
eb24170bbc vendor/pro1x_defconfig: initial changes for Halium 2022-03-16 12:00:53 +02:00
TheKit
3978f77820 vendor/pro1x_defconfig: regenerate from /proc/config.gz on device 2021-11-30 14:15:28 +02:00
TheKit
1d86f7ae7b Import Pro1-X kernel source code 2022-03-20 00:13:44 +01:00
Archana Sriram
aa85b8b635 defconfig: Enable SPMI TEMP ALARM driver for SPF targets
Enable config for SPMI TEMP ALARM driver for SPF targets
to be able to read temperature of temp alarm sensor.

Change-Id: If704bf800d79d06f070e63178748ac759af513e2
Signed-off-by: Archana Sriram <apsrir@codeaurora.org>
2021-11-09 12:33:55 +05:30
Prashant Beniwal
64e09908f3 defconfig: Enable Novatek NT36xxx Touch for tron target
This change enables novatek nt36xxx config for tron target.

Change-Id: Ib250ae917e9fd4bf96a863c0a6f6013a2e4008b6
Signed-off-by: Prashant Beniwal <pbeniw@codeaurora.org>
Signed-off-by: Ravikanth Tuniki <rtunik@codeaurora.org>
2021-10-25 04:11:31 -07:00
qctecmdr
aeb2acbbab Merge "defconfig: Enable PMIC related configs for MSM8937_32" 2021-10-22 04:47:45 -07:00
Shilpa Suresh
3af32f4ac4 defconfig: arm64: msm: 8937-Turn on coresight configs
Enable all the coresight configs required for the ETR
functionality.

Change-Id: Ieccc48c5999fb1142265829c87b797853eb50c1b
Signed-off-by: Shilpa Suresh <sbsure@codeaurora.org>
2021-10-19 23:55:52 -07:00
Shilpa Suresh
53bda56b4f defconfig: Enable PMIC related configs for MSM8937_64
For MSM8937_64 targets, add PMIC configs related to
charging, vibrator and rtc.

Change-Id: I2891118f051ff9697aafcfa394940e1765fba2e4
Signed-off-by: Shilpa Suresh <sbsure@codeaurora.org>
2021-10-11 16:56:46 +05:30
Archana Sriram
17ab1175a2 defconfig: Enable ADC thermal and SPMI configs for SPF targets
Enable configs for ADC_TM and SPMI VADC, ADC5 drivers for
SPF targets for 32, 32Go and 64 bit variants.

Change-Id: Ic75dbe6fcafb1e4d2a49bbe87439fde4351b1218
Signed-off-by: Archana Sriram <apsrir@codeaurora.org>
Signed-off-by: Manjunatha Madana <mamanj@codeaurora.org>
2021-10-08 19:30:42 -07:00
Hridya Valsaraju
a212bda4b4
arm64: dts: vendor: Delete Android firmware nodes.
* These have all moved into the ramdisk, and boot devices
   has gone to the kernel commandline.

Bug: 117933812
Change-Id: I0d06607c522c08f50484b9eff4dc78b21cc083f5
2021-09-15 09:27:36 +02:00
Danny Lin
cbde7a6bea
arm64: dts: vendor: Disable expedited RCU grace periods.
* Similar to what I've done on other devices, revert
   to normal grace periods to reduce power usage.

 * Expedited RCU hammers CPUs with IPIs to reduce grace
   period durations and thus RCU latency, but that disrupts
   busy CPUs and causes unnecessary wakeups while providing
   little to no improvement in real-world performance.

Change-Id: I2b55e4aaa82bb670dfd6fb417b05fe9ae685e0a8
2021-09-15 09:27:36 +02:00
Adam W. Willis
6a95c8b1c6
arm64: dts: vendor: Disable debug monitoring.
Change-Id: I95048bdbcc41990ddfe279120ddeaed72713a7a5
2021-09-15 09:27:36 +02:00
Danny Lin
b3c827f520
arm64: dts: vendor: Disable broken IRQ detection.
* Our kernel only runs on known systems where broken
   IRQs would already have been discovered, so disable
   this to reduce overhead in the IRQ handling path.

Change-Id: Ia9e655dc9891f9cb94a6123ceaec43ba7c5fd5b1
2021-09-15 09:27:36 +02:00
qctecmdr
3686a15a5a Merge "defconfig: kona: Add CONFIG_AQFWD for RB5 board" 2021-09-14 19:28:36 -07:00
Sarannya S
3acc60ff8f arm64: defconfig: Set qrtr wakeup for lito
Set the wakeup timeout for qrtr to 500 ms for lito. This change
will help ensure the TUI client thread gets a chance to run before
the system is suspended again.

Change-Id: I8c8831995bf58fc39a3e8c107d0fd761745bbfed
Signed-off-by: Sarannya S <sarannya@codeaurora.org>
2021-09-03 13:56:42 +05:30
Jebaitedneko
6b414e784e dts: don't add qcom subdir
we're using vendor/qcom

Signed-off-by: Jebaitedneko <Jebaitedneko@gmail.com>
2021-08-30 14:13:06 +05:30
Jebaitedneko
379d474a43 arm64: generate dtb.img from dtbs
Signed-off-by: Jebaitedneko <Jebaitedneko@gmail.com>
2021-08-30 14:13:06 +05:30
Jebaitedneko
f6d5913eb1 dts: enable new tianma and xinli v2 panels
also fixup pwm configuration

Signed-off-by: Jebaitedneko <Jebaitedneko@gmail.com>
2021-08-30 14:13:06 +05:30
Jebaitedneko
af453d1720 dts: build only bengal-idp-overlay.dtbo and bengal.dtb
Signed-off-by: Jebaitedneko <Jebaitedneko@gmail.com>
2021-08-30 14:13:05 +05:30
Jebaitedneko
c19c6fa0d3 dts: align bengal.dtb sources to oem
Signed-off-by: Jebaitedneko <Jebaitedneko@gmail.com>
2021-08-30 14:13:05 +05:30
Jebaitedneko
80bc395a13 dts: align bengal-idp-overlay.dtbo sources to oem
Signed-off-by: Jebaitedneko <Jebaitedneko@gmail.com>
2021-08-30 14:13:01 +05:30
Gopala Krishna Nuthaki
7ace159680 defconfig: msm: Enable RPM SMD cooling device driver for KHAJE
Enable RPM SMD cooling device driver for KHAJE. It monitors
device temperature and request different temperature band levels
to RPM hardware.

Change-Id: Ia0c4deed12ee94f8fa0a6e98950e0654576740e1
Signed-off-by: Gopala Krishna Nuthaki <gnuthaki@codeaurora.org>
2021-08-26 09:47:10 -07:00
Gagan Malvi
092b8d091f
kernel: Merge LA.UM.9.15.r1-02200-KAMORTA.0
Signed-off-by: Gagan Malvi <malvigagan@gmail.com>
2021-08-26 06:45:49 +02:00
Gagan Malvi
c15c850491
ARM64/configs: bengal-perf: Enable Boeffla wakelock blocker.
Signed-off-by: Gagan Malvi <malvigagan@gmail.com>
2021-08-25 05:27:51 +02:00
Danny Lin
16d194501e
arm64: Add missing dependency for ARM erratum 1188873 workaround
ARM erratum 1188873 can cause very severe issues if left unmitigated on
affected cores. However, if unrelated ARM arch timer mitigations are
disabled (e.g. Freescale, Hisilicon, and Cortex-A73 errata), the
mitigation for 1188873 will no longer be applied even if the config
option is on. This is because this mitigation is implemented as a
generic OOL erratum workaround, and disabling other mitigations will
cause the OOL workaround framework to stop being compiled.

Add an explicit dependency on the workaround framework to fix this, and
also add a dependency on ARM_ARCH_TIMER while we're at it.

On Android, leaving this erratum causes the AlarmManager thread in
system_server to use 100% CPU in the background after 20 minutes of
screen-off idle. The CPU hogging never stops until sytem_server is
killed and sometimes also causes system_server crashes due to invalid
negative durations in batterystats resulting from the corrupted timer
values.

Test: Let device idle for 20 minutes and check AlarmManager CPU usage
Signed-off-by: Danny Lin <danny@kdrag0n.dev>
2021-08-23 18:02:38 +02:00
Sultan Alsawaf
02a5724e02
bengal-perf_defconfig: Disable unused errata fixes
The fix for ARM erratum 1188873 is the only configurable one in use.
Disable the rest.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: Gagan Malvi <malvigagan@gmail.com>
2021-08-23 18:02:13 +02:00
Danny Lin
86ff466dde
arm64: lse: Prefetch operands to speed up atomic operations
On a Kryo 485 CPU (semi-custom Cortex-A76 derivative) in a Snapdragon
855 (SM8150) SoC, switching from traditional LL/SC atomics to LSE
causes LKDTM's ATOMIC_TIMING test to regress by 2x:

LL/SC ATOMIC_TIMING:    34.14s  34.08s
LSE ATOMIC_TIMING:      70.84s  71.06s

Prefetching the target operands fixes the regression and makes LSE
perform better than LSE as expected:

LSE+prfm ATOMIC_TIMING: 21.36s  21.21s

"dd if=/dev/zero of=/dev/null count=10000000" also runs faster:
    LL/SC:  3.3 3.2 3.3 s
    LSE:    3.1 3.2 3.2 s
    LSE+p:  2.3 2.3 2.3 s

Commit 0ea366f5e1 applied the same change
to LL/SC atomics, but it was never ported to LSE.

Signed-off-by: Danny Lin <danny@kdrag0n.dev>
2021-08-23 17:41:46 +02:00
Ard Biesheuvel
82cc0f5548
FROMLIST: arm64: kernel: implement fast refcount checking
This adds support to arm64 for fast refcount checking, as contributed
by Kees for x86 based on the implementation by grsecurity/PaX.

The general approach is identical: the existing atomic_t helpers are
cloned for refcount_t, with the arithmetic instruction modified to set
the PSTATE flags, and one or two branch instructions added that jump to
an out of line handler if overflow, decrement to zero or increment from
zero are detected.

One complication that we have to deal with on arm64 is the fact that
it has two atomics implementations: the original LL/SC implementation
using load/store exclusive loops, and the newer LSE one that does mostly
the same in a single instruction. So we need to clone some parts of
both for the refcount handlers, but we also need to deal with the way
LSE builds fall back to LL/SC at runtime if the hardware does not
support it.

As is the case with the x86 version, the performance gain is substantial
(ThunderX2 @ 2.2 GHz, using LSE), even though the arm64 implementation
incorporates an add-from-zero check as well:

perf stat -B -- echo ATOMIC_TIMING >/sys/kernel/debug/provoke-crash/DIRECT

      116252672661      cycles                    #    2.207 GHz

      52.689793525 seconds time elapsed

perf stat -B -- echo REFCOUNT_TIMING >/sys/kernel/debug/provoke-crash/DIRECT

      127060259162      cycles                    #    2.207 GHz

      57.243690077 seconds time elapsed

For comparison, the numbers below were captured using CONFIG_REFCOUNT_FULL,
which uses the validation routines implemented in C using cmpxchg():

perf stat -B -- echo REFCOUNT_TIMING >/sys/kernel/debug/provoke-crash/DIRECT

 Performance counter stats for 'cat /dev/fd/63':

      191057942484      cycles                    #    2.207 GHz

      86.568269904 seconds time elapsed

As a bonus, this code has been found to perform significantly better on
systems with many CPUs, due to the fact that it no longer relies on the
load/compare-and-swap combo performed in a tight loop, which is what we
emit for cmpxchg() on arm64.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Jayachandran Chandrasekharan Nair <jnair@marvell.com>,
Cc: Kees Cook <keescook@chromium.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Cc: Jan Glauber <jglauber@cavium.com>,
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Cc: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

[kdrag0n]
 - Backported to k4.14 from:
     https://www.spinics.net/lists/arm-kernel/msg735992.html
 - Forward-ported to k4.19
 - Benchmarked on sm8150 using perf and LKDTM REFCOUNT_TIMING:
     https://docs.google.com/spreadsheets/d/14CctCmWzQAGhOmpHrBJfXQy_HuNFTpEkMEYSUGKOZR8/edit

         | Fast checking      | Generic checking
---------+--------------------+-----------------------
Cycles   | 79235532616        | 102554062037
         | 79391767237        | 99625955749
Time     | 32.99879212 sec    | 42.5354029 sec
         | 32.97133254 sec    | 41.31902045 sec

Average:
Cycles   | 79313649927        | 101090008893
Time     | 33 sec             | 42 sec

Signed-off-by: Danny Lin <danny@kdrag0n.dev>
2021-08-23 17:41:46 +02:00
Will Deacon
42d8bf43e2
arm64: debug: Separate debug hooks based on target exception level
Mixing kernel and user debug hooks together is highly error-prone as it
relies on all of the hooks to figure out whether the exception came from
kernel or user, and then to act accordingly.

Make our debug hook code a little more robust by maintaining separate
hook lists for user and kernel, with separate registration functions
to force callers to be explicit about the exception levels that they
care about.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
[kdrag0n: Ported to android-4.19 with adaptations for KASAN hook]
Signed-off-by: Danny Lin <danny@kdrag0n.dev>
2021-08-23 17:41:46 +02:00
Gagan Malvi
4cee9a4684
ARM64: configs: bengal: Disable MSM Performance and QHEE memory protection.
Signed-off-by: Gagan Malvi <malvigagan@gmail.com>
2021-08-22 20:17:23 +02:00
Sultan Alsawaf
03726a03ae
arm64: dts: bengal: Set GPU idle timeout to 58 ms
This matches the ULPS timeout used in msm_drm, which is defined as 58 ms
by IDLE_POWERCOLLAPSE_DURATION. No need to keep the GPU running after
the display enters a low-power state.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: alk3pInjection <webmaster@raspii.tech>
Signed-off-by: dreamisbaka <jolinux.g@gmail.com>
Change-Id: I465a6aca32b6cded284fbcebf0dd0c52f2d7732d
Signed-off-by: starlight5234 <starlight5234@protonmail.ch>
2021-08-21 17:16:18 +02:00
Sultan Alsawaf
cf2cb68019
kernel: Use the stock defconfig for /proc/config.gz
Userspace reads /proc/config.gz and spits out an error message after boot
finishes when it doesn't like the kernel's configuration. In order to
preserve our freedom to customize the kernel however we'd like, show
userspace the stock defconfig so that it never complains about our
kernel configuration.

Signed-off-by: Sultan Alsawaf <sultanxda@gmail.com>

lime-r-oss defconfig from kernel 4.19.113-perf Redmi 9 Power A11 Miui

Signed-off-by: Carlos Jimenez (JavaShin-X) <javashin1986@gmail.com>
Change-Id: Ibbe0a7d8d34298369a5e939882984fe882786767
Signed-off-by: starlight5234 <starlight5234@protonmail.ch>
2021-08-21 17:15:38 +02:00
Gagan Malvi
09a9a915a4
ARM64/configs: Unify defconfigs.
Signed-off-by: Gagan Malvi <malvigagan@gmail.com>
2021-08-21 16:49:59 +02:00
starlight5234
18fa9a8194
arm64: defconfig: Regen
Change-Id: I359ea61e4ad5e7066d276f3ec0e13c6fafb1012d
Signed-off-by: starlight5234 <starlight5234@protonmail.ch>
2021-08-21 16:46:51 +02:00
starlight5234
747d569a36
arm64: defconfig: Align with stock defconfig
Change-Id: I0f9b7e02b9a1614d3e454664c9632ae5a4700eac
Signed-off-by: starlight5234 <starlight5234@protonmail.ch>
2021-08-21 16:45:36 +02:00