summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2019-12-18 17:30:54 -0800
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2019-12-18 17:30:54 -0800
commit54679ec7f793cadaba432b2e364ea113348e77cb (patch)
tree3881c05d808988f5a7802d3bbddf8f31ff9be3f3
parentFix pkgrel (diff)
downloadlinux-ck-54679ec7f793cadaba432b2e364ea113348e77cb.tar.xz
Updated to 5.4.5
-rw-r--r--0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch78
-rw-r--r--0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch60
-rw-r--r--0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk+.patch44
-rw-r--r--PKGBUILD15
-rw-r--r--config2
5 files changed, 195 insertions, 4 deletions
diff --git a/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
new file mode 100644
index 0000000..daefbd8
--- /dev/null
+++ b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
@@ -0,0 +1,78 @@
+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: 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
+that function checks the GPE status and dispatches its handler if
+need be and the SCI action handler is not going to run anyway at
+that point.
+
+Moreover, it is better to drain all of the pending ACPI events
+before restoring the working-state configuration of GPEs in
+acpi_s2idle_restore(), because those events are likely to be related
+to system wakeup, in which case they will not be relevant going
+forward.
+
+Rework the code to take these observations into account.
+
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+---
+ drivers/acpi/sleep.c | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
+index 2af937a8b1c5..6747a279621b 100644
+--- a/drivers/acpi/sleep.c
++++ b/drivers/acpi/sleep.c
+@@ -977,6 +977,16 @@ static int acpi_s2idle_prepare_late(void)
+ return 0;
+ }
+
++static void acpi_s2idle_sync(void)
++{
++ /*
++ * The EC driver uses the system workqueue and an additional special
++ * one, so those need to be flushed too.
++ */
++ acpi_ec_flush_work();
++ acpi_os_wait_events_complete(); /* synchronize Notify handling */
++}
++
+ static void acpi_s2idle_wake(void)
+ {
+ /*
+@@ -1001,13 +1011,8 @@ static void acpi_s2idle_wake(void)
+ * should be missed by canceling the wakeup here.
+ */
+ pm_system_cancel_wakeup();
+- /*
+- * The EC driver uses the system workqueue and an additional
+- * special one, so those need to be flushed too.
+- */
+- acpi_os_wait_events_complete(); /* synchronize EC GPE processing */
+- acpi_ec_flush_work();
+- acpi_os_wait_events_complete(); /* synchronize Notify handling */
++
++ acpi_s2idle_sync();
+
+ rearm_wake_irq(acpi_sci_irq);
+ }
+@@ -1024,6 +1029,13 @@ static void acpi_s2idle_restore_early(void)
+
+ static void acpi_s2idle_restore(void)
+ {
++ /*
++ * Drain pending events before restoring the working-state configuration
++ * of GPEs.
++ */
++ acpi_os_wait_events_complete(); /* synchronize GPE processing */
++ acpi_s2idle_sync();
++
+ s2idle_wakeup = false;
+
+ acpi_enable_all_runtime_gpes();
+--
+cgit v1.2.1-1-g437b
+
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 0000000..07b11cc
--- /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: 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);
+--
+cgit v1.2.1-1-g437b
+
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 0000000..d88f33e
--- /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: 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)
+--
+cgit v1.2.1-1-g437b
+
diff --git a/PKGBUILD b/PKGBUILD
index 8e4340e..801b052 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,7 +17,7 @@
pkgbase=linux-ck
_supver=5
_majver=4
-_minver=2
+_minver=5
_gccpatchver='20190822'
_ckpatchversion=ck1
if [ "$_minver" == "0" ]; then
@@ -44,6 +44,9 @@ 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-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
linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/${_supver}.0/${_supver}.${_majver}/${_supver}.${_majver}-${_ckpatchversion}/patch-${_supver}.${_majver}-${_ckpatchversion}.xz
graysky_bdver2-hotfix.patch
kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz
@@ -56,19 +59,22 @@ validpgpkeys=(
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256sums=('32f98256877ca6b016715ffffcf184f1603df9e17a324787f252cd602e03a557'
+sha256sums=('3fa2aad785f8031246b25362d7542dac46aaaa91546fb41b6419fb759e43e6c2'
'SKIP'
'e862ecd2cb0b20e1859ec3e47616457a9a3acb111cd5a86094f9ed1dbd7f42ac'
'6fd45ccc07747f177b83550d397c16f8c32fa49985eab790be9792bcb0adf8fd'
'd7257a252b7912cd9a5e96fb9eedadd6fa0744f5ea2ac52c135de7c28dac9c98'
'5c783631f63bb87f8f8a7b98d4fc5eb2a650a4c101e877f0b58815f2538ec481'
'657fd313fb16cb6a6ce6cff4bc6ad96069b500514e6998442aed95573ab4083a'
+ '25d72c2c88088d78afa1658fc16c8d4ad98f4140ec69fa0ade49abfe27e8f722'
+ '4e8a9a6757d7ebea8352b8f7b26f007d6c370ea83f67b83f1f49fa54cc52b4c9'
+ '739eb4dfefbc01d57419be4dcb6331b219c52185df36907fd82cfdcb036d927f'
'f445eea4d0ec2015a25f1ad625c848f4f2252099795966fa4105e0aa29674c5c'
'c5405139aa0a90a6f68f6a13e066a2bd0600c970f9f525cd3aa114b044a7f73b'
'8c11086809864b5cef7d079f930bd40da8d0869c091965fa62e95de9a0fe13b5'
'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503'
'0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb'
- 'b865644d79936c856d68567a22d7309a864bd55d545a77c6ab130a162775b0ea')
+ '8f5bcac15a23686d02d3c9324b03a51a8ac3caebd1e731ab6df3f007aea3b4f1')
#export KBUILD_BUILD_HOST=arc4linux
export KBUILD_BUILD_USER=$pkgbase
@@ -91,6 +97,9 @@ prepare() {
patch -p1 -i ../0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch
patch -p1 -i ../0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
patch -p1 -i ../0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch
+ patch -p1 -i ../0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
+ patch -p1 -i ../0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch
+ patch -p1 -i ../0008-drm-i915-fbc-Disable-fbc-by-default-on-all-glk+.patch
# fix naming schema in EXTRAVERSION of ck patch set
diff --git a/config b/config
index d2b263d..4cac3b3 100644
--- a/config
+++ b/config
@@ -6745,7 +6745,7 @@ CONFIG_SND_YMFPCI=m
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_INTEL_DETECT_DMIC=y
+# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y