You should apply ARM:7862/1 before the suspend series and then do not miss:
Think over the __get_cpu_var changes in upstream. I am going to give up too much patchset backporting for this change. and going to backport the this_cpu_ptr to __get_cpu_var by the following patch. If we have to backport __get_cpu_var change later, it is easy to revert this patch. What's your opinions on this?
=========
*/ - for (slots = this_cpu_ptr(bp_on_reg), i = 0; i < core_num_brps; ++i) { + for (slots = __get_cpu_var(bp_on_reg), i = 0; i < core_num_brps; ++i) { if (slots[i]) { hw_breakpoint_control(slots[i], HW_BREAKPOINT_RESTORE); } else { @@ -870,7 +870,7 @@ static void hw_breakpoint_reset(void *unused) } }
- for (slots = this_cpu_ptr(wp_on_reg), i = 0; i < core_num_wrps; ++i) { + for (slots = __get_cpu_var(wp_on_reg), i = 0; i < core_num_wrps; ++i) {
65c021bb496a46ec06264e9d5e836dffa70ef380 arm64: kernel: restore HW breakpoint registers in cpu_suspend
fb4a96029c8a091c4365f57307e098543b48a222 arm64: kernel: fix per-cpu offset restore on resume
I merged them both. Thanks!
The following is all patches for this feature, the 13th is just mentioned patch.
the git tree is git://git.linaro.org/kernel/linux-linaro-stable.git linux-linaro-lsk-test.
-rw-rw-r-- 1 alexs alexs 7620 Mar 6 11:14 0001-arm64-kernel-build-MPIDR_EL1-hash-function-data-stru.patch -rw-rw-r-- 1 alexs alexs 4105 Mar 6 11:14 0002-arm64-kernel-suspend-resume-registers-save-restore.patch -rw-rw-r-- 1 alexs alexs 16485 Mar 6 11:14 0003-arm64-kernel-cpu_-suspend-resume-implementation.patch -rw-rw-r-- 1 alexs alexs 2688 Mar 6 11:14 0004-arm64-kernel-implement-fpsimd-CPU-PM-notifier.patch -rw-rw-r-- 1 alexs alexs 1863 Mar 6 11:14 0005-arm-kvm-implement-CPU-PM-notifier.patch -rw-rw-r-- 1 alexs alexs 5551 Mar 6 11:14 0006-arm64-kernel-refactor-code-to-install-uninstall-brea.patch -rw-rw-r-- 1 alexs alexs 5286 Mar 6 11:14 0007-arm64-kernel-implement-HW-breakpoints-CPU-PM-notifie.patch -rw-rw-r-- 1 alexs alexs 3195 Mar 6 11:14 0008-arm64-enable-generic-clockevent-broadcast.patch -rw-rw-r-- 1 alexs alexs 1394 Mar 6 11:14 0009-arm64-kernel-add-CPU-idle-call.patch -rw-rw-r-- 1 alexs alexs 2132 Mar 6 11:14 0010-arm64-kernel-add-PM-build-infrastructure.patch -rw-rw-r-- 1 alexs alexs 892 Mar 6 11:14 0011-arm64-add-CPU-power-management-menu-entries.patch -rw-rw-r-- 1 alexs alexs 1385 Mar 6 11:14 0012-arm64-kernel-add-MPIDR_EL1-accessors-macros.patch -rw-rw-r-- 1 alexs alexs 1902 Mar 6 11:14 0013-arm64-hw_breakpoint-compile-error-fixing.patch -rw-rw-r-- 1 alexs alexs 4343 Mar 6 11:14 0014-arm64-kernel-restore-HW-breakpoint-registers-in-cpu_.patch -rw-rw-r-- 1 alexs alexs 4353 Mar 6 11:14 0015-arm64-percpu-implement-optimised-pcpu-access-using-t.patch -rw-rw-r-- 1 alexs alexs 1814 Mar 6 11:14 0016-arm64-kernel-fix-per-cpu-offset-restore-on-resume.patch alexs@alex-mac:~/lsk/kernel$
Thanks!