summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2022-05-02 21:09:28 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2022-05-02 21:09:28 +0200
commita9cef39ed6b735c2dfb1a5e5ab7054d52ccb1ea6 (patch)
tree8b064126b23092ff166c02b3efb4a14f52345c3f
parentb776afaeac6eb2967232620de6074b2bb45d0f6b (diff)
downloadpackages-a9cef39ed6b735c2dfb1a5e5ab7054d52ccb1ea6.tar.xz
extra/linux-pae: added ACPI C3 patch
-rw-r--r--extra/linux-pae/PKGBUILD11
-rw-r--r--extra/linux-pae/acpi-c3.patch12
2 files changed, 23 insertions, 0 deletions
diff --git a/extra/linux-pae/PKGBUILD b/extra/linux-pae/PKGBUILD
index ff778dcc..00448631 100644
--- a/extra/linux-pae/PKGBUILD
+++ b/extra/linux-pae/PKGBUILD
@@ -218,3 +218,14 @@ for _p in ${pkgname[@]}; do
done
# vim:set ts=8 sts=2 sw=2 et:
+
+# https://bbs.archlinux32.org/viewtopic.php?pid=9109#p9109
+# avoid "sleepy" VIA C7 CPUs (and possibly others)
+source+=('acpi-c3.patch')
+sha256sums+=('fc44aaf0b68abc9502fd4e0f73345c53b756566b532005466b106bacc9f9bc9c')
+eval "$(
+ declare -f prepare | \
+ sed '
+ /cd/ a patch -Np1 -i $srcdir/acpi-c3.patch
+ '
+)"
diff --git a/extra/linux-pae/acpi-c3.patch b/extra/linux-pae/acpi-c3.patch
new file mode 100644
index 00000000..a5b79972
--- /dev/null
+++ b/extra/linux-pae/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