summaryrefslogtreecommitdiff
path: root/patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch')
-rw-r--r--patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch34
1 files changed, 17 insertions, 17 deletions
diff --git a/patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch b/patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
index 1e903ef243cc..9a6063b8edd4 100644
--- a/patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
+++ b/patches/arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
@@ -32,10 +32,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+ return sve_state;
+}
+
- static void change_cpacr(u64 val, u64 mask)
- {
- u64 cpacr = read_sysreg(CPACR_EL1);
-@@ -566,6 +576,7 @@ int sve_set_vector_length(struct task_st
+ /*
+ * TIF_SVE controls whether a task can use SVE without trapping while
+ * in userspace, and also the way a task's FPSIMD/SVE state is stored
+@@ -547,6 +557,7 @@ int sve_set_vector_length(struct task_st
* non-SVE thread.
*/
if (task == current) {
@@ -43,7 +43,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
local_bh_disable();
fpsimd_save();
-@@ -576,8 +587,10 @@ int sve_set_vector_length(struct task_st
+@@ -557,8 +568,10 @@ int sve_set_vector_length(struct task_st
if (test_and_clear_tsk_thread_flag(task, TIF_SVE))
sve_to_fpsimd(task);
@@ -55,7 +55,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Force reallocation of task SVE state to the correct size
-@@ -832,6 +845,7 @@ asmlinkage void do_sve_acc(unsigned int
+@@ -813,6 +826,7 @@ asmlinkage void do_sve_acc(unsigned int
sve_alloc(current);
@@ -63,7 +63,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
local_bh_disable();
fpsimd_save();
-@@ -845,6 +859,7 @@ asmlinkage void do_sve_acc(unsigned int
+@@ -826,6 +840,7 @@ asmlinkage void do_sve_acc(unsigned int
WARN_ON(1); /* SVE access shouldn't have trapped */
local_bh_enable();
@@ -71,7 +71,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
/*
-@@ -911,10 +926,12 @@ void fpsimd_thread_switch(struct task_st
+@@ -892,10 +907,12 @@ void fpsimd_thread_switch(struct task_st
void fpsimd_flush_thread(void)
{
int vl, supported_vl;
@@ -84,7 +84,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
local_bh_disable();
memset(&current->thread.uw.fpsimd_state, 0,
-@@ -923,7 +940,7 @@ void fpsimd_flush_thread(void)
+@@ -904,7 +921,7 @@ void fpsimd_flush_thread(void)
if (system_supports_sve()) {
clear_thread_flag(TIF_SVE);
@@ -93,7 +93,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* Reset the task vector length as required.
-@@ -959,6 +976,8 @@ void fpsimd_flush_thread(void)
+@@ -940,6 +957,8 @@ void fpsimd_flush_thread(void)
set_thread_flag(TIF_FOREIGN_FPSTATE);
local_bh_enable();
@@ -102,7 +102,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
/*
-@@ -970,9 +989,11 @@ void fpsimd_preserve_current_state(void)
+@@ -951,9 +970,11 @@ void fpsimd_preserve_current_state(void)
if (!system_supports_fpsimd())
return;
@@ -114,7 +114,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
/*
-@@ -1030,6 +1051,7 @@ void fpsimd_restore_current_state(void)
+@@ -1011,6 +1032,7 @@ void fpsimd_restore_current_state(void)
if (!system_supports_fpsimd())
return;
@@ -122,7 +122,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
local_bh_disable();
if (test_and_clear_thread_flag(TIF_FOREIGN_FPSTATE)) {
-@@ -1038,6 +1060,7 @@ void fpsimd_restore_current_state(void)
+@@ -1019,6 +1041,7 @@ void fpsimd_restore_current_state(void)
}
local_bh_enable();
@@ -130,7 +130,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
/*
-@@ -1050,6 +1073,7 @@ void fpsimd_update_current_state(struct
+@@ -1031,6 +1054,7 @@ void fpsimd_update_current_state(struct
if (!system_supports_fpsimd())
return;
@@ -138,7 +138,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
local_bh_disable();
current->thread.uw.fpsimd_state = *state;
-@@ -1062,6 +1086,7 @@ void fpsimd_update_current_state(struct
+@@ -1043,6 +1067,7 @@ void fpsimd_update_current_state(struct
clear_thread_flag(TIF_FOREIGN_FPSTATE);
local_bh_enable();
@@ -146,7 +146,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
/*
-@@ -1107,6 +1132,7 @@ void kernel_neon_begin(void)
+@@ -1088,6 +1113,7 @@ void kernel_neon_begin(void)
BUG_ON(!may_use_simd());
@@ -154,7 +154,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
local_bh_disable();
__this_cpu_write(kernel_neon_busy, true);
-@@ -1120,6 +1146,7 @@ void kernel_neon_begin(void)
+@@ -1101,6 +1127,7 @@ void kernel_neon_begin(void)
preempt_disable();
local_bh_enable();