summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HID-core-fix-grouping-by-application.patch78
-rw-r--r--PKGBUILD25
-rw-r--r--config.x86_6414
-rw-r--r--drm-i915-Increase-LSPCON-timeout.patch54
-rw-r--r--increase-timeout-in-lspcon_wait_mode.patch23
-rw-r--r--patch-4.18-ck1-jcmod2.patch (renamed from patch-4.18-ck1-jcmod1.patch)15
6 files changed, 153 insertions, 56 deletions
diff --git a/HID-core-fix-grouping-by-application.patch b/HID-core-fix-grouping-by-application.patch
new file mode 100644
index 0000000..6da2c18
--- /dev/null
+++ b/HID-core-fix-grouping-by-application.patch
@@ -0,0 +1,78 @@
+From 20acb01da9443e3ca814bb5d17f01b3fea754010 Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Tue, 4 Sep 2018 15:31:14 +0200
+Subject: [PATCH] HID: core: fix grouping by application
+
+commit f07b3c1da92d ("HID: generic: create one input report per
+application type") was effectively the same as MULTI_INPUT:
+hidinput->report was never set, so hidinput_match_application()
+always returned null.
+
+Fix that by testing against the real application.
+
+Note that this breaks some old eGalax touchscreens that expect MULTI_INPUT
+instead of HID_QUIRK_INPUT_PER_APP. Enable this quirk for backward
+compatibility on all non-Win8 touchscreens.
+
+link: https://bugzilla.kernel.org/show_bug.cgi?id=200847
+link: https://bugzilla.kernel.org/show_bug.cgi?id=200849
+link: https://bugs.archlinux.org/task/59699
+link: https://github.com/NixOS/nixpkgs/issues/45165
+
+Cc: stable@vger.kernel.org # v4.18+
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+---
+ drivers/hid/hid-input.c | 4 ++--
+ drivers/hid/hid-multitouch.c | 3 +++
+ include/linux/hid.h | 1 +
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
+index ab93dd5927c3a..a137d2835f328 100644
+--- a/drivers/hid/hid-input.c
++++ b/drivers/hid/hid-input.c
+@@ -1579,6 +1579,7 @@ static struct hid_input *hidinput_allocate(struct hid_device *hid,
+ input_dev->dev.parent = &hid->dev;
+
+ hidinput->input = input_dev;
++ hidinput->application = application;
+ list_add_tail(&hidinput->list, &hid->inputs);
+
+ INIT_LIST_HEAD(&hidinput->reports);
+@@ -1674,8 +1675,7 @@ static struct hid_input *hidinput_match_application(struct hid_report *report)
+ struct hid_input *hidinput;
+
+ list_for_each_entry(hidinput, &hid->inputs, list) {
+- if (hidinput->report &&
+- hidinput->report->application == report->application)
++ if (hidinput->application == report->application)
+ return hidinput;
+ }
+
+diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
+index 45968f7970f87..1a987345692a6 100644
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -1476,6 +1476,9 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
+ */
+ hdev->quirks |= HID_QUIRK_INPUT_PER_APP;
+
++ if (id->group != HID_GROUP_MULTITOUCH_WIN_8)
++ hdev->quirks |= HID_QUIRK_MULTI_INPUT;
++
+ timer_setup(&td->release_timer, mt_expired_timeout, 0);
+
+ ret = hid_parse(hdev);
+diff --git a/include/linux/hid.h b/include/linux/hid.h
+index 773bcb1d4044e..5482dd6ae9efd 100644
+--- a/include/linux/hid.h
++++ b/include/linux/hid.h
+@@ -520,6 +520,7 @@ struct hid_input {
+ const char *name;
+ bool registered;
+ struct list_head reports; /* the list of reports */
++ unsigned int application; /* application usage for this input */
+ };
+
+ enum hid_type {
diff --git a/PKGBUILD b/PKGBUILD
index 943830c..d9f5247 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,17 +6,17 @@
pkgbase=linux-hardened-ck
_majver=4.18
-_minver=5
+_minver=6
_pkgver=${_majver}.${_minver}
_hardenedver=a
_NUMAdisable=y
_ckpatchversion=1
_ckpatchname="patch-${_majver}-ck${_ckpatchversion}"
-_jcpatchversion=1
+_jcpatchversion=2
_gcc_more_v='20180509'
_srcname=linux-${_pkgver}
pkgver=${_pkgver}.${_hardenedver}
-pkgrel=2
+pkgrel=1
conflicts=('linux-libre-hardened-ck')
url='https://github.com/anthraxx/linux-hardened'
#url='http://ck.kolivas.org/patches/'
@@ -41,21 +41,23 @@ source=(https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_pkgver}.tar.xz
90-linux.hook # pacman hook for initramfs regeneration
linux.preset # standard config files for mkinitcpio ramdisk
- increase-timeout-in-lspcon_wait_mode.patch
+ drm-i915-Increase-LSPCON-timeout.patch
+ HID-core-fix-grouping-by-application.patch
)
-sha256sums=('fb090a3680eddf6f10bf895bc3075bd3f830e3d2429ce469982db5a28df647bd'
+sha256sums=('05db97fd6891217af6d4203bdc442ef2af78d7902b6a8e9bd348682704c22894'
'SKIP'
- 'a06238ea0ce66d090fa899d6951c9d40fa993c7b4975088dded2c1e660c1ff69'
+ 'd3a244e228a566d536a26fcfe57252bb6e9b61c0f070ef4bb9eaad868196bef3'
'SKIP'
- 'f00cfe3d497254853793d3aa751f5d19d81ced54504a56f247c03908eee230d1'
+ 'cb33bfe492aeef9b1fda8d448483a7ef3d3fe27448e2114a775b25beb1bd8830'
'6e1f3cc3eb9a1e30a69ef1999f9aa6ad7f2f9fe4af7ba5dabe25d4ff19ee6740'
'226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d'
'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503'
- '830db84d2fcb113a1bba8519fb0855f241d771ea10e4b4d0707cdc1583697420'
+ 'a931a1f073deada7c51ae54d8a12b3fc49c2f0b6b6bc5b6673bf634ec6f0e025'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
- '0fa6899b57d32988b70050f1a67f435936273ce1aa98575271d564ccfaf45f77')
+ '2f26b6273ded6d4031fd7115fac843b7bb90df9a28da8dc1b7f49294d3d39ee7'
+ '472f606f043b16336f5335021285efe3a7658fb8467917409cb58c9a57a7b0a5')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -71,11 +73,12 @@ prepare() {
# # add upstream patch
# msg2 "Applying upstream patch"
-# patch -Np1 < ../patch-${_gnumajver}-${_gnupkgver}
+# patch -Np1 < ../patch-${_majver}-${_pkgver}
# Hotfixes
msg2 "Applying hotfixes"
- patch -p1 -i ../increase-timeout-in-lspcon_wait_mode.patch
+ patch -p1 -i ../drm-i915-Increase-LSPCON-timeout.patch
+ patch -p1 -i ../HID-core-fix-grouping-by-application.patch
# linux hardened patch
msg2 "Applying hardened patch"
diff --git a/config.x86_64 b/config.x86_64
index a9d265e..04f67cf 100644
--- a/config.x86_64
+++ b/config.x86_64
@@ -1,10 +1,10 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.18.5 Kernel Configuration
+# Linux/x86 4.18.6 Kernel Configuration
#
#
-# Compiler: gcc (GCC) 8.2.0
+# Compiler: gcc (GCC) 8.2.1 20180831
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -47,7 +47,7 @@ CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DYNAMIC_PHYSICAL_MASK=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=80200
+CONFIG_GCC_VERSION=80201
CONFIG_CLANG_VERSION=0
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -317,6 +317,7 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
@@ -1486,8 +1487,7 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_BPFILTER=y
-CONFIG_BPFILTER_UMH=m
+# CONFIG_BPFILTER is not set
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m
@@ -6154,7 +6154,7 @@ CONFIG_SND_OPL3_LIB_SEQ=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
@@ -7374,7 +7374,7 @@ CONFIG_RTC_DRV_RV3029_HWMON=y
#
# Platform RTC drivers
#
-CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
diff --git a/drm-i915-Increase-LSPCON-timeout.patch b/drm-i915-Increase-LSPCON-timeout.patch
new file mode 100644
index 0000000..38ec01f
--- /dev/null
+++ b/drm-i915-Increase-LSPCON-timeout.patch
@@ -0,0 +1,54 @@
+From 299c2a904b1e8d5096d4813df6371357d97a6cd1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fredrik=20Sch=C3=B6n?= <fredrikschon@gmail.com>
+Date: Fri, 17 Aug 2018 22:07:28 +0200
+Subject: [PATCH] drm/i915: Increase LSPCON timeout
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+100 ms is not enough time for the LSPCON adapter on Intel NUC devices to
+settle. This causes dropped display modes at boot or screen reconfiguration.
+Empirical testing can reproduce the error up to a timeout of 190 ms. Basic
+boot and stress testing at 200 ms has not (yet) failed.
+
+Increase timeout to 400 ms to get some margin of error.
+
+Changes from v1:
+The initial suggestion of 1000 ms was lowered due to concerns about delaying
+valid timeout cases.
+Update patch metadata.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107503
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1570392
+Fixes: 357c0ae9198a ("drm/i915/lspcon: Wait for expected LSPCON mode to settle")
+Cc: Shashank Sharma <shashank.sharma@intel.com>
+Cc: Imre Deak <imre.deak@intel.com>
+Cc: Jani Nikula <jani.nikula@intel.com>
+Cc: <stable@vger.kernel.org> # v4.11+
+Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
+Signed-off-by: Fredrik Schön <fredrik.schon@gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20180817200728.8154-1-fredrik.schon@gmail.com
+(cherry picked from commit 59f1c8ab30d6f9042562949f42cbd3f3cf69de94)
+Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+---
+ drivers/gpu/drm/i915/intel_lspcon.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c
+index 5dae16ccd9f1..3e085c5f2b81 100644
+--- a/drivers/gpu/drm/i915/intel_lspcon.c
++++ b/drivers/gpu/drm/i915/intel_lspcon.c
+@@ -74,7 +74,7 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon,
+ DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n",
+ lspcon_mode_name(mode));
+
+- wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100);
++ wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 400);
+ if (current_mode != mode)
+ DRM_ERROR("LSPCON mode hasn't settled\n");
+
+--
+2.18.0
+
diff --git a/increase-timeout-in-lspcon_wait_mode.patch b/increase-timeout-in-lspcon_wait_mode.patch
deleted file mode 100644
index b94872a..0000000
--- a/increase-timeout-in-lspcon_wait_mode.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f9199cfdc7f09601adbb40827077991a1f6bd73a Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 13 Aug 2018 00:40:29 +0200
-Subject: [PATCH] Increase timeout in lspcon_wait_mode
-
-From https://bugs.freedesktop.org/attachment.cgi?id=141051&action=edit
----
- drivers/gpu/drm/i915/intel_lspcon.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c
-index 8ae8f42f430a1..be1b08f589a46 100644
---- a/drivers/gpu/drm/i915/intel_lspcon.c
-+++ b/drivers/gpu/drm/i915/intel_lspcon.c
-@@ -74,7 +74,7 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon,
- DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n",
- lspcon_mode_name(mode));
-
-- wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100);
-+ wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 1000);
- if (current_mode != mode)
- DRM_ERROR("LSPCON mode hasn't settled\n");
-
diff --git a/patch-4.18-ck1-jcmod1.patch b/patch-4.18-ck1-jcmod2.patch
index 5b9db88..1d9a7aa 100644
--- a/patch-4.18-ck1-jcmod1.patch
+++ b/patch-4.18-ck1-jcmod2.patch
@@ -833,21 +833,6 @@ index eded671d55eb..3240aa6149d8 100644
+ 2: Expire timeslice and recalculate deadline.
+
+==============================================================
-diff --git a/Makefile b/Makefile
-index 863f58503bee..b2e1bab31084 100644
---- a/Makefile
-+++ b/Makefile
-@@ -15,6 +15,10 @@ NAME = Merciless Moray
- PHONY := _all
- _all:
-
-+CKVERSION = -ck1
-+CKNAME = MuQSS Powered
-+EXTRAVERSION := $(EXTRAVERSION)$(CKVERSION)
-+
- # o Do not use make's built-in rules and variables
- # (this increases performance and avoids hard-to-debug behaviour);
- # o Look for make include files relative to root of kernel src
diff --git a/arch/arc/configs/tb10x_defconfig b/arch/arc/configs/tb10x_defconfig
index 2cc87f909747..5bdf547dccbc 100644
--- a/arch/arc/configs/tb10x_defconfig