Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: n4archive/OptimKernel
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: project332
Choose a base ref
...
head repository: AkumaHunt3r/OptimKernel
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: android-10
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
24 changes: 24 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -346,6 +346,9 @@ include $(srctree)/scripts/Kbuild.include
# Make variables (CC, etc...)
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
LDBFD = $(CROSS_COMPILE)ld.bfd
LDGOLD = $(CROSS_COMPILE)ld.gold
LDLLD = ld.lld
CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
@@ -1091,6 +1094,27 @@ prepare0: archprepare
# All the preparing..
prepare: prepare0

# Make sure we're using a supported toolchain with LTO+CLANG
ifeq ($(cc-name),clang)
ifdef CONFIG_LTO
ifneq ($(call clang-ifversion, -ge, 0500, y), y)
@echo Cannot use CONFIG_LTO with Clang: requires clang 5.0 or later >&2 && exit 1
endif
ifneq ($(ld-name), lld)
ifneq ($(call gold-ifversion, -ge, 112000000, y), y)
@echo Cannot use CONFIG_LTO with Clang: requires LLD or GNU gold 1.12 or later >&2 && exit 1
endif
endif
endif
endif
# Make sure compiler supports LTO flags
ifdef LTO_CFLAGS
ifeq ($(call cc-option, $(LTO_CFLAGS)),)
@echo Cannot use CONFIG_LTO: $(LTO_CFLAGS) not supported by compiler \
>&2 && exit 1
endif
endif

# Generate some files
# ---------------------------------------------------------------------------

7 changes: 4 additions & 3 deletions arch/arm/boot/dts/qcom/msm8937-cedric.dtsi
Original file line number Diff line number Diff line change
@@ -181,12 +181,13 @@

&pmi8950_charger {
qcom,fastchg-current-ma = <1850>;
qcom,chg-thermal-mitigation = <1850>, <1600>, <1200>, <1000>,
<700>, <400>;
qcom,chg-thermal-mitigation = <1850>, <1600>, <1300>, <1150>,
<1000>, <700>, <400>;
/delete-property/ qcom,dc-thermal-mitigation;
qcom,parallel-charge-current-map = <1850 1850 0>,
<1600 1600 0>,
<1200 1200 0>,
<1300 1300 0>,
<1150 1150 0>,
<1000 1000 0>,
<700 700 0>,
<400 400 0>;
26 changes: 13 additions & 13 deletions arch/arm/boot/dts/qcom/msm8937-gpu.dtsi
Original file line number Diff line number Diff line change
@@ -52,7 +52,7 @@
qcom,id = <0>;
qcom,chipid = <0x05000500>;

qcom,initial-pwrlevel = <2>;
qcom,initial-pwrlevel = <3>;

qcom,idle-timeout = <80>; //msecs
qcom,strtstp-sleepwake;
@@ -156,35 +156,35 @@
qcom,gpu-pwrlevel@0 {
reg = <0>;
qcom,gpu-freq = <450000000>;
qcom,bus-freq = <9>;
qcom,bus-min = <9>;
qcom,bus-max = <9>;
qcom,bus-freq = <10>;
qcom,bus-min = <10>;
qcom,bus-max = <10>;
};

/* NOM+ */
qcom,gpu-pwrlevel@1 {
reg = <1>;
qcom,gpu-freq = <400000000>;
qcom,bus-freq = <7>;
qcom,bus-min = <6>;
qcom,bus-max = <9>;
qcom,bus-freq = <9>;
qcom,bus-min = <8>;
qcom,bus-max = <10>;
};

/* NOM */
qcom,gpu-pwrlevel@2 {
reg = <2>;
qcom,gpu-freq = <375000000>;
qcom,bus-freq = <6>;
qcom,bus-min = <5>;
qcom,bus-freq = <7>;
qcom,bus-min = <6>;
qcom,bus-max = <8>;
};

/* SVS+ */
qcom,gpu-pwrlevel@3 {
reg = <3>;
qcom,gpu-freq = <300000000>;
qcom,bus-freq = <5>;
qcom,bus-min = <4>;
qcom,bus-freq = <6>;
qcom,bus-min = <5>;
qcom,bus-max = <7>;
};

@@ -201,9 +201,9 @@
qcom,gpu-pwrlevel@5 {
reg = <5>;
qcom,gpu-freq = <19200000>;
qcom,bus-freq = <0>;
qcom,bus-freq = <1>;
qcom,bus-min = <0>;
qcom,bus-max = <0>;
qcom,bus-max = <2>;
};
};
};
18 changes: 9 additions & 9 deletions arch/arm/boot/dts/qcom/msm8937.dtsi
Original file line number Diff line number Diff line change
@@ -396,14 +396,14 @@
compatible = "qcom,msm-thermal";
qcom,sensor-id = <5>;
qcom,poll-ms = <250>;
qcom,limit-temp = <60>;
qcom,temp-hysteresis = <10>;
qcom,limit-temp = <50>;
qcom,temp-hysteresis = <15>;
qcom,freq-step = <2>;
qcom,core-limit-temp = <80>;
qcom,core-temp-hysteresis = <10>;
qcom,hotplug-temp = <105>;
qcom,hotplug-temp-hysteresis = <15>;
qcom,freq-mitigation-temp = <105>;
qcom,core-limit-temp = <46>;
qcom,core-temp-hysteresis = <20>;
qcom,hotplug-temp = <47>;
qcom,hotplug-temp-hysteresis = <10>;
qcom,freq-mitigation-temp = <45>;
qcom,freq-mitigation-temp-hysteresis = <15>;
qcom,freq-mitigation-value = <400000>;
qcom,online-hotplug-core;
@@ -415,8 +415,8 @@
qcom,disable-vdd-mx;
qcom,disable-psm;
qcom,disable-ocr;
qcom,vdd-restriction-temp = <5>;
qcom,vdd-restriction-temp-hysteresis = <10>;
qcom,vdd-restriction-temp = <47>;
qcom,vdd-restriction-temp-hysteresis = <20>;
vdd-dig-supply = <&pm8937_s2_floor_level>;

qcom,vdd-dig-rstr {
36 changes: 18 additions & 18 deletions arch/arm64/configs/cedric_defconfig
Original file line number Diff line number Diff line change
@@ -44,9 +44,9 @@ CONFIG_THREAD_INFO_IN_TASK=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION="-OptimKernel"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_DEFAULT_HOSTNAME="cedric"
CONFIG_LOCALVERSION="~himawari"
CONFIG_LOCALVERSION_AUTO=n
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
@@ -95,7 +95,7 @@ CONFIG_HIGH_RES_TIMERS=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
# CONFIG_SCHED_WALT is not set
CONFIG_SCHED_WALT=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
@@ -138,14 +138,14 @@ CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_SCHEDTUNE is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG_SWAP_ENABLED=y
# CONFIG_MEMCG is not set
# CONFIG_MEMCG_SWAP is not set
# CONFIG_MEMCG_SWAP_ENABLED is not set
# CONFIG_MEMCG_KMEM is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
@@ -172,7 +172,7 @@ CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
CONFIG_LTO=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
@@ -321,10 +321,10 @@ CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_BFQ=y
CONFIG_CGROUP_BFQIO=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_BFQ is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_BFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_DEFAULT_IOSCHED="bfq"
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
@@ -529,7 +529,7 @@ CONFIG_DPM_WATCHDOG=y
CONFIG_DPM_WATCHDOG_TIMEOUT=60
CONFIG_PM_OPP=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_CPU_PM=y
CONFIG_SUSPEND_TIME=y
# CONFIG_DEDUCE_WAKEUP_REASONS is not set
@@ -575,17 +575,17 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_SCHED is not set

#
# CPU frequency scaling drivers
#
# CONFIG_CPUFREQ_DT is not set
# CONFIG_CPU_BOOST is not set
CONFIG_CPU_BOOST=y

#
# ARM CPU frequency scaling drivers
@@ -4654,7 +4654,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=5
CONFIG_PANIC_ON_RECURSIVE_FAULT=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_DEBUG=y
# CONFIG_PANIC_ON_SCHED_BUG is not set
# CONFIG_PANIC_ON_RT_THROTTLING is not set
# CONFIG_SCHEDSTATS is not set
22 changes: 11 additions & 11 deletions arch/arm64/include/asm/arch_timer.h
Original file line number Diff line number Diff line change
@@ -38,19 +38,19 @@ void arch_timer_reg_write_cp15(int access, enum arch_timer_reg reg, u32 val)
if (access == ARCH_TIMER_PHYS_ACCESS) {
switch (reg) {
case ARCH_TIMER_REG_CTRL:
asm volatile("msr cntp_ctl_el0, %0" : : "r" (val));
asm volatile("msr cntp_ctl_el0, %x0" : : "r" (val));
break;
case ARCH_TIMER_REG_TVAL:
asm volatile("msr cntp_tval_el0, %0" : : "r" (val));
asm volatile("msr cntp_tval_el0, %x0" : : "r" (val));
break;
}
} else if (access == ARCH_TIMER_VIRT_ACCESS) {
switch (reg) {
case ARCH_TIMER_REG_CTRL:
asm volatile("msr cntv_ctl_el0, %0" : : "r" (val));
asm volatile("msr cntv_ctl_el0, %x0" : : "r" (val));
break;
case ARCH_TIMER_REG_TVAL:
asm volatile("msr cntv_tval_el0, %0" : : "r" (val));
asm volatile("msr cntv_tval_el0, %x0" : : "r" (val));
break;
}
}
@@ -66,19 +66,19 @@ u32 arch_timer_reg_read_cp15(int access, enum arch_timer_reg reg)
if (access == ARCH_TIMER_PHYS_ACCESS) {
switch (reg) {
case ARCH_TIMER_REG_CTRL:
asm volatile("mrs %0, cntp_ctl_el0" : "=r" (val));
asm volatile("mrs %x0, cntp_ctl_el0" : "=r" (val));
break;
case ARCH_TIMER_REG_TVAL:
asm volatile("mrs %0, cntp_tval_el0" : "=r" (val));
asm volatile("mrs %x0, cntp_tval_el0" : "=r" (val));
break;
}
} else if (access == ARCH_TIMER_VIRT_ACCESS) {
switch (reg) {
case ARCH_TIMER_REG_CTRL:
asm volatile("mrs %0, cntv_ctl_el0" : "=r" (val));
asm volatile("mrs %x0, cntv_ctl_el0" : "=r" (val));
break;
case ARCH_TIMER_REG_TVAL:
asm volatile("mrs %0, cntv_tval_el0" : "=r" (val));
asm volatile("mrs %x0, cntv_tval_el0" : "=r" (val));
break;
}
}
@@ -89,20 +89,20 @@ u32 arch_timer_reg_read_cp15(int access, enum arch_timer_reg reg)
static inline u32 arch_timer_get_cntfrq(void)
{
u32 val;
asm volatile("mrs %0, cntfrq_el0" : "=r" (val));
asm volatile("mrs %x0, cntfrq_el0" : "=r" (val));
return val;
}

static inline u32 arch_timer_get_cntkctl(void)
{
u32 cntkctl;
asm volatile("mrs %0, cntkctl_el1" : "=r" (cntkctl));
asm volatile("mrs %x0, cntkctl_el1" : "=r" (cntkctl));
return cntkctl;
}

static inline void arch_timer_set_cntkctl(u32 cntkctl)
{
asm volatile("msr cntkctl_el1, %0" : : "r" (cntkctl));
asm volatile("msr cntkctl_el1, %x0" : : "r" (cntkctl));
}

static inline u64 arch_counter_get_cntvct_cp15(void)
4 changes: 2 additions & 2 deletions arch/arm64/include/asm/sysreg.h
Original file line number Diff line number Diff line change
@@ -236,10 +236,10 @@ static inline void config_sctlr_el1(u32 clear, u32 set)
{
u32 val;

asm volatile("mrs %0, sctlr_el1" : "=r" (val));
asm volatile("mrs %x0, sctlr_el1" : "=r" (val));
val &= ~clear;
val |= set;
asm volatile("msr sctlr_el1, %0" : : "r" (val));
asm volatile("msr sctlr_el1, %x0" : : "r" (val));
}

/*
2 changes: 1 addition & 1 deletion arch/arm64/include/asm/uaccess.h
Original file line number Diff line number Diff line change
@@ -356,7 +356,7 @@ do { \
(err), ARM64_HAS_UAO); \
break; \
case 8: \
__put_user_asm("str", "sttr", "%", __pu_val, (ptr), \
__put_user_asm("str", "sttr", "%x", __pu_val, (ptr), \
(err), ARM64_HAS_UAO); \
break; \
default: \
4 changes: 2 additions & 2 deletions arch/arm64/kernel/armv8_deprecated.c
Original file line number Diff line number Diff line change
@@ -284,8 +284,8 @@ do { \
uaccess_enable(); \
__asm__ __volatile__( \
" mov %w2, %w1\n" \
"0: ldxr"B" %w1, [%3]\n" \
"1: stxr"B" %w0, %w2, [%3]\n" \
"0: ldxr"B" %w1, [%x3]\n" \
"1: stxr"B" %w0, %w2, [%x3]\n" \
" cbz %w0, 2f\n" \
" mov %w0, %w4\n" \
"2:\n" \
6 changes: 3 additions & 3 deletions arch/arm64/kernel/debug-monitors.c
Original file line number Diff line number Diff line change
@@ -45,14 +45,14 @@ static void mdscr_write(u32 mdscr)
{
unsigned long flags;
local_dbg_save(flags);
asm volatile("msr mdscr_el1, %0" :: "r" (mdscr));
asm volatile("msr mdscr_el1, %x0" :: "r" (mdscr));
local_dbg_restore(flags);
}

static u32 mdscr_read(void)
{
u32 mdscr;
asm volatile("mrs %0, mdscr_el1" : "=r" (mdscr));
asm volatile("mrs %x0, mdscr_el1" : "=r" (mdscr));
return mdscr;
}

@@ -129,7 +129,7 @@ void disable_debug_monitors(enum debug_el el)
*/
static void clear_os_lock(void *unused)
{
asm volatile("msr oslar_el1, %0" : : "r" (0));
asm volatile("msr oslar_el1, %x0" : : "r" (0));
}

static int os_lock_notify(struct notifier_block *self,
Loading