summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2022-05-02 21:05:59 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2022-05-02 21:05:59 +0200
commitb776afaeac6eb2967232620de6074b2bb45d0f6b (patch)
tree7c6f86fb4cdef71ce8ef457406fcf74726ba915f
parente77057a689a7c6c951fe874c5ec3d92a0de9fe76 (diff)
downloadpackages-b776afaeac6eb2967232620de6074b2bb45d0f6b.tar.xz
core/linux: added ACPI C3 patch
-rw-r--r--core/linux/PKGBUILD125
-rw-r--r--core/linux/acpi-c3.patch12
2 files changed, 78 insertions, 59 deletions
diff --git a/core/linux/PKGBUILD b/core/linux/PKGBUILD
index 9d2b4a74..90edf152 100644
--- a/core/linux/PKGBUILD
+++ b/core/linux/PKGBUILD
@@ -33,67 +33,74 @@ eval "$(
)"
# use our tarballer instead of cloning from git
-for ((i=0; i<${#source[@]}; i++)); do
- infos=$(
- printf '%s\n' "${source[${i}]}" | \
- sed '
- s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=[^?]\+\)$@\3 \2 \4 \5 \6@
- t
- s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)#\(\(tag\|commit\)=[^?]\+\)\(?signed\)\?$@\3 \2 \4 \7 \5@
- t
- d
- '
- )
- if [ -n "${infos}" ]; then
- source[${i}]=$(
- type="${infos%% *}"
- infos="${infos#* }"
- if [ -n "${infos%% *}" ]; then
- prefix="${infos%% *}"
- else
- prefix=''
- fi
- infos="${infos#* }"
- repo="${infos%% *}"
- repo64=$(
- printf '%s' "${repo}" | \
- base64 -w0 | \
- sed 's/=/%3D/g'
- )
- infos="${infos#* }"
- if [ "${infos%% *}" = '?signed' ]; then
- key_check=$(
- printf '&valid_keys='
- printf '%s,' "${validpgpkeys[@]}" | \
- sed 's/,$//'
- )
- else
- key_check=''
- fi
- infos="${infos#* }"
- if [ -z "${prefix}" ]; then
- prefix="${repo%.git}"
- prefix="${prefix##*/}"
- fi
- prefix_64=$(
- printf '%s/' "${prefix}" | \
- base64 -w0 | \
- sed 's/=/%3D/g'
- )
+#~ for ((i=0; i<${#source[@]}; i++)); do
+ #~ infos=$(
+ #~ printf '%s\n' "${source[${i}]}" | \
+ #~ sed '
+ #~ s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=[^?]\+\)$@\3 \2 \4 \5 \6@
+ #~ t
+ #~ s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)#\(\(tag\|commit\)=[^?]\+\)\(?signed\)\?$@\3 \2 \4 \7 \5@
+ #~ t
+ #~ d
+ #~ '
+ #~ )
+ #~ if [ -n "${infos}" ]; then
+ #~ source[${i}]=$(
+ #~ type="${infos%% *}"
+ #~ infos="${infos#* }"
+ #~ if [ -n "${infos%% *}" ]; then
+ #~ prefix="${infos%% *}"
+ #~ else
+ #~ prefix=''
+ #~ fi
+ #~ infos="${infos#* }"
+ #~ repo="${infos%% *}"
+ #~ repo64=$(
+ #~ printf '%s' "${repo}" | \
+ #~ base64 -w0 | \
+ #~ sed 's/=/%3D/g'
+ #~ )
+ #~ infos="${infos#* }"
+ #~ if [ "${infos%% *}" = '?signed' ]; then
+ #~ key_check=$(
+ #~ printf '&valid_keys='
+ #~ printf '%s,' "${validpgpkeys[@]}" | \
+ #~ sed 's/,$//'
+ #~ )
+ #~ else
+ #~ key_check=''
+ #~ fi
+ #~ infos="${infos#* }"
+ #~ if [ -z "${prefix}" ]; then
+ #~ prefix="${repo%.git}"
+ #~ prefix="${prefix##*/}"
+ #~ fi
+ #~ prefix_64=$(
+ #~ printf '%s/' "${prefix}" | \
+ #~ base64 -w0 | \
+ #~ sed 's/=/%3D/g'
+ #~ )
- printf '%s-%s.tar.gz::https://archive-server.archlinux32.org/?t=%s&p=%s&r=%s%s&%s\n' \
- "${prefix}" \
- "${pkgver}" \
- "${type}" \
- "${prefix_64}" \
- "${repo64}" \
- "${key_check}" \
- "${infos}"
- )
- fi
-done
+ #~ printf '%s-%s.tar.gz::https://archive-server.archlinux32.org/?t=%s&p=%s&r=%s%s&%s\n' \
+ #~ "${prefix}" \
+ #~ "${pkgver}" \
+ #~ "${type}" \
+ #~ "${prefix_64}" \
+ #~ "${repo64}" \
+ #~ "${key_check}" \
+ #~ "${infos}"
+ #~ )
+ #~ fi
+#~ done
+
+# upstream prepare() does already do the *.patch patching
# avoid using zstd compression in ultra mode (exhausts virtual memory)
source+=('core/linux/no-ultra-zstd.patch')
sha256sums+=('d32270be5fd9c3e3ba50f3aef33f6cfcb85be0c8216f03b777287cc621fdff28')
-# upstream prepare() does already do the *.patch patching
+
+# https://bbs.archlinux32.org/viewtopic.php?pid=9109#p9109
+# avoid "sleepy" VIA C7 CPUs (and possibly others)
+source+=('core/linux/acpi-c3.patch')
+sha256sums+=('fc44aaf0b68abc9502fd4e0f73345c53b756566b532005466b106bacc9f9bc9c')
+
diff --git a/core/linux/acpi-c3.patch b/core/linux/acpi-c3.patch
new file mode 100644
index 00000000..a5b79972
--- /dev/null
+++ b/core/linux/acpi-c3.patch
@@ -0,0 +1,12 @@
+diff -rauN a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
+--- a/drivers/acpi/processor_idle.c 2022-05-02 21:01:51.302162225 +0200
++++ b/drivers/acpi/processor_idle.c 2022-05-02 21:04:58.169438104 +0200
+@@ -796,6 +796,8 @@
+ cx->type == ACPI_STATE_C3) {
+ state->enter_dead = acpi_idle_play_dead;
+ drv->safe_state_index = count;
++ if (cx->type != ACPI_STATE_C3)
++ drv->safe_state_index = count;
+ }
+ /*
+ * Halt-induced C1 is not good for ->enter_s2idle, because it