diff options
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch | 6 | ||||
-rw-r--r-- | 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch | 6 | ||||
-rw-r--r-- | 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch | 6 | ||||
-rw-r--r-- | 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch | 6 | ||||
-rw-r--r-- | 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch | 6 | ||||
-rw-r--r-- | 0006-ACPI-EC-Rework-flushing-of-pending-work.patch | 135 | ||||
-rw-r--r-- | 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch (renamed from 0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch) | 4 | ||||
-rw-r--r-- | 0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch | 60 | ||||
-rw-r--r-- | 0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch | 44 | ||||
-rw-r--r-- | PKGBUILD | 24 |
11 files changed, 152 insertions, 179 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-ck - pkgver = 5.4.3 + pkgver = 5.4.4 pkgrel = 1 url = https://wiki.archlinux.org/index.php/Linux-ck arch = x86_64 @@ -9,8 +9,8 @@ pkgbase = linux-ck makedepends = bc makedepends = libelf options = !strip - 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/linux-5.4.4.tar.xz + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.4.tar.sign source = config source = enable_additional_cpu_optimizations-20190822.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/20190822.tar.gz source = http://ck.kolivas.org/patches/5.0/5.4/5.4-ck1/patch-5.4-ck1.xz @@ -19,22 +19,24 @@ pkgbase = linux-ck 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-ALSA-hda-Fix-regression-by-strip-mask-fix.patch + source = 0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E - sha256sums = 6731682f32e1b1ee53b0e7f66b8dc263d25a0e809e78e2139cb0ed77c378ee51 + sha256sums = 3fa2aad785f8031246b25362d7542dac46aaaa91546fb41b6419fb759e43e6c2 sha256sums = SKIP sha256sums = 5d58a2115892839997ae7dcca226697c34b656de7685cb3eb8696451dc5100a0 sha256sums = 8c11086809864b5cef7d079f930bd40da8d0869c091965fa62e95de9a0fe13b5 sha256sums = f445eea4d0ec2015a25f1ad625c848f4f2252099795966fa4105e0aa29674c5c - sha256sums = 8919d8cbab83ccc810d8c7eaf6ebb18be8ae011da90a11d98732c2537af11d11 - sha256sums = f1481e4c6d84de265552eea9ef2e2fa13bf26774becc2f2c36619af1f56bcee4 - sha256sums = 88c7e90ac7a1b73b3707feacd23b66feaa4c2cc5bc39ef2807b2301274db3ad2 - sha256sums = 786da96d5cc273331bf8a155b0552edcc26d79f194a016c7e4f1c1266aabafc2 - sha256sums = 2d51be4ede2c19a3163899fd783a213cf9f837867915b004e0c70c548e0d96c9 - sha256sums = a2f99ed7314efcdd627bef8356a57554caa68d02d404eee28ca2c04fce2d906a - sha256sums = 29e71325f9f3a9e2a6fc47f5309e3e0b03328239093f651eee47c52467e9e5bc + sha256sums = 71908105e1606cee9e62c99ac89aca98e8a26ff3f9796c8ab36858632614e85a + sha256sums = 6765399f9d0de2daf7121f96a09eafc646731eb2058a01420d882297e10dfae5 + sha256sums = f922696f10cfbe7e5b0a95fb3d9333006d63a1c4dbfc280ae3b5d10c8c7208fb + sha256sums = 8496a9be2c3b2e3cefa292d00d3f43a4e7c3b03c4508f9d38a6b21fa4684240d + sha256sums = e5a3ed9c900b7e69cec1090ff76171a1c00cf723a2fa9a07fdf95c194ef3738b + sha256sums = 760b60334eff05b1ef20c800fdb1e2ff6c7f9264f5e5c396f644720a824a92d7 + sha256sums = 38c670bb8b9efaae54217a09b118d8b55ef183df134ae94f643d6e8e1ad6ac70 + sha256sums = bc0d303b6f2e8a518414ff706322a39b460ae3acdbb5b0c3488e35794227d69a pkgname = linux-ck pkgdesc = The Linux-ck kernel and modules with the ck1 patchset featuring MuQSS CPU scheduler @@ -43,11 +45,11 @@ pkgname = linux-ck depends = initramfs optdepends = crda: to set the correct wireless channels of your country optdepends = linux-firmware: firmware images needed for some devices - provides = linux-ck=5.4.3 + provides = linux-ck=5.4.4 pkgname = linux-ck-headers pkgdesc = Headers and scripts for building modules for Linux-ck kernel depends = linux-ck - provides = linux-ck-headers=5.4.3 - provides = linux-headers=5.4.3 + provides = linux-ck-headers=5.4.4 + provides = linux-headers=5.4.4 diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index 4acec691d542..3c5322510309 100644 --- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From 683ed7ef94fc7bf3ad143bcc47479740756027ea Mon Sep 17 00:00:00 2001 +From 53026cc7697cc30c08a2ff4841e851d927da24ef Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH 1/6] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 1/9] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -128,5 +128,5 @@ index 8eadadc478f9..c36ecd19562c 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.24.0 +2.24.1 diff --git a/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch b/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch index 05acc2baa8b3..4566aeb758c4 100644 --- a/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch +++ b/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch @@ -1,7 +1,7 @@ -From 72bc3d71be44797eeb76ad17f124877f19526313 Mon Sep 17 00:00:00 2001 +From d56ae3b8201b4634648de6a0df959d936c9fc0e6 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao <ztuowen@gmail.com> Date: Wed, 16 Oct 2019 15:06:28 -0600 -Subject: [PATCH 2/6] lib: devres: add a helper function for ioremap_uc +Subject: [PATCH 2/9] lib: devres: add a helper function for ioremap_uc Implement a resource managed strongly uncachable ioremap function. @@ -75,5 +75,5 @@ index 6a0e9bd6524a..17624d35e82d 100644 * devm_ioremap_nocache - Managed ioremap_nocache() * @dev: Generic device to remap IO address for -- -2.24.0 +2.24.1 diff --git a/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch b/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch index 9ef3023447f5..eece60c66a76 100644 --- a/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch +++ b/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch @@ -1,7 +1,7 @@ -From 5408dcb0a652b76a5e190a68ce737a9a903cdfc0 Mon Sep 17 00:00:00 2001 +From 328396ba88d7080612a52f5e0d9f848e40ab57f3 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao <ztuowen@gmail.com> Date: Wed, 16 Oct 2019 15:06:29 -0600 -Subject: [PATCH 3/6] mfd: intel-lpss: Use devm_ioremap_uc for MMIO +Subject: [PATCH 3/9] mfd: intel-lpss: Use devm_ioremap_uc for MMIO Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci in MTRR. This will cause the system to hang during boot. If possible, @@ -44,5 +44,5 @@ index bfe4ff337581..b0f0781a6b9c 100644 if (!lpss->priv) return -ENOMEM; -- -2.24.0 +2.24.1 diff --git a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch b/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch index b66f97556808..245f6a75a5e5 100644 --- a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch +++ b/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch @@ -1,7 +1,7 @@ -From ff550502cfb2bcd4a423be1f43670c7713d16478 Mon Sep 17 00:00:00 2001 +From b4622df1bc8927968b38f591e5d31091ea9b5383 Mon Sep 17 00:00:00 2001 From: Mika Westerberg <mika.westerberg@linux.intel.com> Date: Tue, 29 Oct 2019 20:00:21 +0300 -Subject: [PATCH 4/6] PCI: pciehp: Do not disable interrupt twice on suspend +Subject: [PATCH 4/9] PCI: pciehp: Do not disable interrupt twice on suspend We try to keep PCIe hotplug ports runtime suspended when entering system suspend. Because the PCIe portdrv sets the DPM_FLAG_NEVER_SKIP flag, the PM @@ -95,5 +95,5 @@ index b3122c151b80..56daad828c9e 100644 #endif /* PM */ }; -- -2.24.0 +2.24.1 diff --git a/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch b/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch index e0635955c316..ad867c3017f6 100644 --- a/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch +++ b/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch @@ -1,7 +1,7 @@ -From c5d7bb41ce34e4d00c31a8d2a4728a2fdef1216c Mon Sep 17 00:00:00 2001 +From afad84fc6acaed69089d70da12594a6c3f68841f Mon Sep 17 00:00:00 2001 From: Mika Westerberg <mika.westerberg@linux.intel.com> Date: Tue, 29 Oct 2019 20:00:22 +0300 -Subject: [PATCH 5/6] PCI: pciehp: Prevent deadlock on disconnect +Subject: [PATCH 5/9] PCI: pciehp: Prevent deadlock on disconnect This addresses deadlocks in these common cases in hierarchies containing two switches: @@ -268,5 +268,5 @@ index 1a522c1c4177..526a8f70bac5 100644 int pciehp_query_power_fault(struct controller *ctrl) -- -2.24.0 +2.24.1 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 017a4fcc4829..000000000000 --- 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 9e2f2eea4496..5feceed2f727 100644 --- a/0007-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch +++ b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch @@ -1,7 +1,7 @@ -From d29867e0b11ce1db3802aa6370ee4d40d43351db Mon Sep 17 00:00:00 2001 +From 3c3e5ada50e5a54dd267deef040365b8c1c59529 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Date: Thu, 28 Nov 2019 23:50:40 +0100 -Subject: [PATCH 7/8] ACPI: PM: s2idle: Rework ACPI events synchronization +Subject: [PATCH 6/9] ACPI: PM: s2idle: Rework ACPI events synchronization Note that the EC GPE processing need not be synchronized in acpi_s2idle_wake() after invoking acpi_ec_dispatch_gpe(), because diff --git a/0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch b/0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch new file mode 100644 index 000000000000..33bee3279a4a --- /dev/null +++ b/0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch @@ -0,0 +1,60 @@ +From 04fe3cc1f00622bf3ff356dca7f122768a14bdbc Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Sat, 14 Dec 2019 18:52:17 +0100 +Subject: [PATCH 7/9] ALSA: hda: Fix regression by strip mask fix + +The commit e38e486d66e2 ("ALSA: hda: Modify stream stripe mask only +when needed") tried to address the regression by the unconditional +application of the stripe mask, but this caused yet another +regression for the previously working devices. Namely, the patch +clears the azx_dev->stripe flag at snd_hdac_stream_clear(), but this +may be called multiple times before restarting the stream, so this +ended up with clearance of the flag for the whole time. + +This patch fixes the regression by moving the azx_dev->stripe flag +clearance at the counter-part, the close callback of HDMI codec +driver instead. + +Fixes: e38e486d66e2 ("ALSA: hda: Modify stream stripe mask only when needed") +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=205855 +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204477 +Cc: <stable@vger.kernel.org> +Link: https://lore.kernel.org/r/20191214175217.31852-1-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + sound/hda/hdac_stream.c | 4 +--- + sound/pci/hda/patch_hdmi.c | 2 ++ + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c +index f9707fb05efe..682ed39f79b0 100644 +--- a/sound/hda/hdac_stream.c ++++ b/sound/hda/hdac_stream.c +@@ -120,10 +120,8 @@ void snd_hdac_stream_clear(struct hdac_stream *azx_dev) + snd_hdac_stream_updateb(azx_dev, SD_CTL, + SD_CTL_DMA_START | SD_INT_MASK, 0); + snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); /* to be sure */ +- if (azx_dev->stripe) { ++ if (azx_dev->stripe) + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0); +- azx_dev->stripe = 0; +- } + azx_dev->running = false; + } + EXPORT_SYMBOL_GPL(snd_hdac_stream_clear); +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index 4dafc864d765..488c17c9f375 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -1983,6 +1983,8 @@ static int hdmi_pcm_close(struct hda_pcm_stream *hinfo, + per_cvt->assigned = 0; + hinfo->nid = 0; + ++ azx_stream(get_azx_dev(substream))->stripe = 0; ++ + mutex_lock(&spec->pcm_lock); + snd_hda_spdif_ctls_unassign(codec, pcm_idx); + clear_bit(pcm_idx, &spec->pcm_in_use); +-- +2.24.1 + diff --git a/0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch b/0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch new file mode 100644 index 000000000000..1c074e3f1475 --- /dev/null +++ b/0008-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 + @@ -61,7 +61,7 @@ _localmodcfg= ### IMPORTANT: Do no edit below this line unless you know what you're doing pkgbase=linux-ck -_srcver=5.4.3-arch1 +_srcver=5.4.4-arch1 pkgver=${_srcver%-*} pkgrel=1 _ckpatchversion=1 @@ -82,25 +82,27 @@ 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-ALSA-hda-Fix-regression-by-strip-mask-fix.patch + 0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) -sha256sums=('6731682f32e1b1ee53b0e7f66b8dc263d25a0e809e78e2139cb0ed77c378ee51' +sha256sums=('3fa2aad785f8031246b25362d7542dac46aaaa91546fb41b6419fb759e43e6c2' 'SKIP' '5d58a2115892839997ae7dcca226697c34b656de7685cb3eb8696451dc5100a0' '8c11086809864b5cef7d079f930bd40da8d0869c091965fa62e95de9a0fe13b5' 'f445eea4d0ec2015a25f1ad625c848f4f2252099795966fa4105e0aa29674c5c' - '8919d8cbab83ccc810d8c7eaf6ebb18be8ae011da90a11d98732c2537af11d11' - 'f1481e4c6d84de265552eea9ef2e2fa13bf26774becc2f2c36619af1f56bcee4' - '88c7e90ac7a1b73b3707feacd23b66feaa4c2cc5bc39ef2807b2301274db3ad2' - '786da96d5cc273331bf8a155b0552edcc26d79f194a016c7e4f1c1266aabafc2' - '2d51be4ede2c19a3163899fd783a213cf9f837867915b004e0c70c548e0d96c9' - 'a2f99ed7314efcdd627bef8356a57554caa68d02d404eee28ca2c04fce2d906a' - '29e71325f9f3a9e2a6fc47f5309e3e0b03328239093f651eee47c52467e9e5bc') + '71908105e1606cee9e62c99ac89aca98e8a26ff3f9796c8ab36858632614e85a' + '6765399f9d0de2daf7121f96a09eafc646731eb2058a01420d882297e10dfae5' + 'f922696f10cfbe7e5b0a95fb3d9333006d63a1c4dbfc280ae3b5d10c8c7208fb' + '8496a9be2c3b2e3cefa292d00d3f43a4e7c3b03c4508f9d38a6b21fa4684240d' + 'e5a3ed9c900b7e69cec1090ff76171a1c00cf723a2fa9a07fdf95c194ef3738b' + '760b60334eff05b1ef20c800fdb1e2ff6c7f9264f5e5c396f644720a824a92d7' + '38c670bb8b9efaae54217a09b118d8b55ef183df134ae94f643d6e8e1ad6ac70' + 'bc0d303b6f2e8a518414ff706322a39b460ae3acdbb5b0c3488e35794227d69a') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase |