summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgraysky2019-12-19 15:40:59 -0500
committergraysky2019-12-19 15:40:59 -0500
commitebd0ef85fc047e48bdcbef56e4aa3613163b1449 (patch)
treed2e6622ddddbdb1645c3e3685c614723e812c8fd
parent6dbfa7c713236efca4294028a4f091ed7fee219b (diff)
downloadaur-ebd0ef85fc047e48bdcbef56e4aa3613163b1449.tar.gz
Update to 5.4.6rc1-1
-rw-r--r--.SRCINFO20
-rw-r--r--0006-ACPI-EC-Rework-flushing-of-pending-work.patch135
-rw-r--r--0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch (renamed from 0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch)0
-rw-r--r--0007-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch44
-rw-r--r--PKGBUILD14
5 files changed, 61 insertions, 152 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fdb165e2ae4..88ce8195912 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = linux-rc
- pkgver = 5.4.4rc1
+ pkgver = 5.4.6rc1
pkgrel = 1
url = https://www.kernel.org/
arch = x86_64
@@ -9,23 +9,23 @@ pkgbase = linux-rc
makedepends = bc
makedepends = libelf
options = !strip
- source = https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.4-rc1.xz
- source = https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.4-rc1.sign
- source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.3.tar.xz
- source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.3.tar.sign
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.6-rc1.xz
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.6-rc1.sign
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.5.tar.xz
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.5.tar.sign
source = config
source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
source = 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch
source = 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch
source = 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
source = 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch
- source = 0006-ACPI-EC-Rework-flushing-of-pending-work.patch
- source = 0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
+ source = 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
+ source = 0007-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
- sha256sums = 01dba333cb4b631e521ca3a829c78152578070ef9b2a5d26941781d8f4f88487
+ sha256sums = 3da1737f4e119fde5ce88bee11e98a11f004ee7a0e998c76be4a6785d7567a3a
sha256sums = SKIP
- sha256sums = 6731682f32e1b1ee53b0e7f66b8dc263d25a0e809e78e2139cb0ed77c378ee51
+ sha256sums = 568e9f27fbba86131c2e2849f296d54216e2ed3e8c4d8aa78a93b417cab23ec0
sha256sums = SKIP
sha256sums = b7f23bbc09b6c571b76f851f0389386a6f3a64f3d7b1b8509c8550228b0f4537
sha256sums = 8919d8cbab83ccc810d8c7eaf6ebb18be8ae011da90a11d98732c2537af11d11
@@ -33,8 +33,8 @@ pkgbase = linux-rc
sha256sums = 88c7e90ac7a1b73b3707feacd23b66feaa4c2cc5bc39ef2807b2301274db3ad2
sha256sums = 786da96d5cc273331bf8a155b0552edcc26d79f194a016c7e4f1c1266aabafc2
sha256sums = 2d51be4ede2c19a3163899fd783a213cf9f837867915b004e0c70c548e0d96c9
- sha256sums = a2f99ed7314efcdd627bef8356a57554caa68d02d404eee28ca2c04fce2d906a
sha256sums = 29e71325f9f3a9e2a6fc47f5309e3e0b03328239093f651eee47c52467e9e5bc
+ sha256sums = bc0d303b6f2e8a518414ff706322a39b460ae3acdbb5b0c3488e35794227d69a
pkgname = linux-rc
pkgdesc = The release candidate kernel and modules
diff --git a/0006-ACPI-EC-Rework-flushing-of-pending-work.patch b/0006-ACPI-EC-Rework-flushing-of-pending-work.patch
deleted file mode 100644
index 017a4fcc482..00000000000
--- a/0006-ACPI-EC-Rework-flushing-of-pending-work.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 07b5e7a435b04b599e000eb38f82bc56c634ea4c Mon Sep 17 00:00:00 2001
-From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
-Date: Thu, 28 Nov 2019 23:47:51 +0100
-Subject: [PATCH 6/8] ACPI: EC: Rework flushing of pending work
-
-There is a race condition in the ACPI EC driver, between
-__acpi_ec_flush_event() and acpi_ec_event_handler(), that may
-cause systems to stay in suspended-to-idle forever after a wakeup
-event coming from the EC.
-
-Namely, acpi_s2idle_wake() calls acpi_ec_flush_work() to wait until
-the delayed work resulting from the handling of the EC GPE in
-acpi_ec_dispatch_gpe() is processed, and that function invokes
-__acpi_ec_flush_event() which uses wait_event() to wait for
-ec->nr_pending_queries to become zero on ec->wait, and that wait
-queue may be woken up too early.
-
-Suppose that acpi_ec_dispatch_gpe() has caused acpi_ec_gpe_handler()
-to run, so advance_transaction() has been called and it has invoked
-acpi_ec_submit_query() to queue up an event work item, so
-ec->nr_pending_queries has been incremented (under ec->lock). The
-work function of that work item, acpi_ec_event_handler() runs later
-and calls acpi_ec_query() to process the event. That function calls
-acpi_ec_transaction() which invokes acpi_ec_transaction_unlocked()
-and the latter wakes up ec->wait under ec->lock, but it drops that
-lock before returning.
-
-When acpi_ec_query() returns, acpi_ec_event_handler() acquires
-ec->lock and decrements ec->nr_pending_queries, but at that point
-__acpi_ec_flush_event() (woken up previously) may already have
-acquired ec->lock, checked the value of ec->nr_pending_queries (and
-it would not have been zero then) and decided to go back to sleep.
-Next, if ec->nr_pending_queries is equal to zero now, the loop
-in acpi_ec_event_handler() terminates, ec->lock is released and
-acpi_ec_check_event() is called, but it does nothing unless
-ec_event_clearing is equal to ACPI_EC_EVT_TIMING_EVENT (which is
-not the case by default). In the end, if no more event work items
-have been queued up while executing acpi_ec_transaction_unlocked(),
-there is nothing to wake up __acpi_ec_flush_event() again and it
-sleeps forever, so the suspend-to-idle loop cannot make progress and
-the system is permanently suspended.
-
-To avoid this issue, notice that it actually is not necessary to
-wait for ec->nr_pending_queries to become zero in every case in
-which __acpi_ec_flush_event() is used.
-
-First, during platform-based system suspend (not suspend-to-idle),
-__acpi_ec_flush_event() is called by acpi_ec_disable_event() after
-clearing the EC_FLAGS_QUERY_ENABLED flag, which prevents
-acpi_ec_submit_query() from submitting any new event work items,
-so calling flush_scheduled_work() and flushing ec_query_wq
-subsequently (in order to wait until all of the queries in that
-queue have been processed) would be sufficient to flush all of
-the pending EC work in that case.
-
-Second, the purpose of the flushing of pending EC work while
-suspended-to-idle described above really is to wait until the
-first event work item coming from acpi_ec_dispatch_gpe() is
-complete, because it should produce system wakeup events if
-that is a valid EC-based system wakeup, so calling
-flush_scheduled_work() followed by flushing ec_query_wq is also
-sufficient for that purpose.
-
-Rework the code to follow the above observations.
-
-Fixes: 56b9918490 ("PM: sleep: Simplify suspend-to-idle control flow")
-Reported-by: Kenneth R. Crudup <kenny@panix.com>
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
----
- drivers/acpi/ec.c | 36 +++++++++++++-----------------------
- 1 file changed, 13 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
-index da1e5c5ce150..bd75caff8322 100644
---- a/drivers/acpi/ec.c
-+++ b/drivers/acpi/ec.c
-@@ -525,26 +525,10 @@ static void acpi_ec_enable_event(struct acpi_ec *ec)
- }
-
- #ifdef CONFIG_PM_SLEEP
--static bool acpi_ec_query_flushed(struct acpi_ec *ec)
-+static void __acpi_ec_flush_work(void)
- {
-- bool flushed;
-- unsigned long flags;
--
-- spin_lock_irqsave(&ec->lock, flags);
-- flushed = !ec->nr_pending_queries;
-- spin_unlock_irqrestore(&ec->lock, flags);
-- return flushed;
--}
--
--static void __acpi_ec_flush_event(struct acpi_ec *ec)
--{
-- /*
-- * When ec_freeze_events is true, we need to flush events in
-- * the proper position before entering the noirq stage.
-- */
-- wait_event(ec->wait, acpi_ec_query_flushed(ec));
-- if (ec_query_wq)
-- flush_workqueue(ec_query_wq);
-+ flush_scheduled_work(); /* flush ec->work */
-+ flush_workqueue(ec_query_wq); /* flush queries */
- }
-
- static void acpi_ec_disable_event(struct acpi_ec *ec)
-@@ -554,15 +538,21 @@ static void acpi_ec_disable_event(struct acpi_ec *ec)
- spin_lock_irqsave(&ec->lock, flags);
- __acpi_ec_disable_event(ec);
- spin_unlock_irqrestore(&ec->lock, flags);
-- __acpi_ec_flush_event(ec);
-+
-+ /*
-+ * When ec_freeze_events is true, we need to flush events in
-+ * the proper position before entering the noirq stage.
-+ */
-+ __acpi_ec_flush_work();
- }
-
- void acpi_ec_flush_work(void)
- {
-- if (first_ec)
-- __acpi_ec_flush_event(first_ec);
-+ /* Without ec_query_wq there is nothing to flush. */
-+ if (!ec_query_wq)
-+ return;
-
-- flush_scheduled_work();
-+ __acpi_ec_flush_work();
- }
- #endif /* CONFIG_PM_SLEEP */
-
---
-2.24.1
-
diff --git a/0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
index 9e2f2eea449..9e2f2eea449 100644
--- a/0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
+++ b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
diff --git a/0007-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch b/0007-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch
new file mode 100644
index 00000000000..1c074e3f147
--- /dev/null
+++ b/0007-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch
@@ -0,0 +1,44 @@
+From 1960609cc201fd1c99c17cade6956de06b3d3856 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Wed, 27 Nov 2019 22:12:09 +0200
+Subject: [PATCH 8/9] drm/i915/fbc: Disable fbc by default on all glk+
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We're missing a workaround in the fbc code for all glk+ platforms
+which can cause corruption around the top of the screen. So
+enabling fbc by default is a bad idea. I'm not keen to backport
+the w/a so let's start by disabling fbc by default on all glk+.
+We'll lift the restriction once the w/a is in place.
+
+Cc: stable@vger.kernel.org
+Cc: Daniel Drake <drake@endlessm.com>
+Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
+Cc: Jian-Hong Pan <jian-hong@endlessm.com>
+Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20191127201222.16669-2-ville.syrjala@linux.intel.com
+Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
+(cherry picked from commit cd8c021b36a66833cefe2c90a79a9e312a2a5690)
+Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
+---
+ drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
+index 16ed44bfd734..07a038f21619 100644
+--- a/drivers/gpu/drm/i915/display/intel_fbc.c
++++ b/drivers/gpu/drm/i915/display/intel_fbc.c
+@@ -1284,7 +1284,7 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv)
+ return 0;
+
+ /* https://bugs.freedesktop.org/show_bug.cgi?id=108085 */
+- if (IS_GEMINILAKE(dev_priv))
++ if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
+ return 0;
+
+ if (IS_BROADWELL(dev_priv) || INTEL_GEN(dev_priv) >= 9)
+--
+2.24.1
+
diff --git a/PKGBUILD b/PKGBUILD
index f69674807a6..39b4f3b6358 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ _srcname=linux-5.4
_major=5.4
### on initial release this is null otherwise it is the current stable subversion
### ie 1,2,3 corresponding $_major.1, $_major.3 etc.
-_minor=3
+_minor=5
### on initial release comment this out and set to =1
_minorc=$((_minor+1))
#_minorc=1
@@ -35,16 +35,16 @@ source=(
0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch
0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch
- 0006-ACPI-EC-Rework-flushing-of-pending-work.patch
- 0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
+ 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
+ 0007-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
-sha256sums=('01dba333cb4b631e521ca3a829c78152578070ef9b2a5d26941781d8f4f88487'
+sha256sums=('3da1737f4e119fde5ce88bee11e98a11f004ee7a0e998c76be4a6785d7567a3a'
'SKIP'
- '6731682f32e1b1ee53b0e7f66b8dc263d25a0e809e78e2139cb0ed77c378ee51'
+ '568e9f27fbba86131c2e2849f296d54216e2ed3e8c4d8aa78a93b417cab23ec0'
'SKIP'
'b7f23bbc09b6c571b76f851f0389386a6f3a64f3d7b1b8509c8550228b0f4537'
'8919d8cbab83ccc810d8c7eaf6ebb18be8ae011da90a11d98732c2537af11d11'
@@ -52,8 +52,8 @@ sha256sums=('01dba333cb4b631e521ca3a829c78152578070ef9b2a5d26941781d8f4f88487'
'88c7e90ac7a1b73b3707feacd23b66feaa4c2cc5bc39ef2807b2301274db3ad2'
'786da96d5cc273331bf8a155b0552edcc26d79f194a016c7e4f1c1266aabafc2'
'2d51be4ede2c19a3163899fd783a213cf9f837867915b004e0c70c548e0d96c9'
- 'a2f99ed7314efcdd627bef8356a57554caa68d02d404eee28ca2c04fce2d906a'
- '29e71325f9f3a9e2a6fc47f5309e3e0b03328239093f651eee47c52467e9e5bc')
+ '29e71325f9f3a9e2a6fc47f5309e3e0b03328239093f651eee47c52467e9e5bc'
+ 'bc0d303b6f2e8a518414ff706322a39b460ae3acdbb5b0c3488e35794227d69a')
_kernelname=${pkgbase#linux}