From 4be5d8cc3b3d5a5682299017839223b113ff48fe Mon Sep 17 00:00:00 2001
From: Jan Alexander Steffens <heftig@archlinux.org>
Date: Tue, 24 Apr 2018 14:42:55 +0000
Subject: [PATCH] 4.16.4-1

---
 ...sallow-unprivileged-CLONE_NEWUSER-by.patch |  6 +-
 ...y-use-the-alternate-fixed-mode-if-it.patch | 10 +-
 ...evert-swiotlb-remove-various-exports.patch | 12 +--
 ...uest-on-guests-with-more-than-4G-RAM.patch | 10 +-
 ...isplay-disable-CRTCs-with-NULL-FB-on.patch | 95 -------------------
 ...egression-on-reset-with-1.x-firmware.patch | 10 +-
 PKGBUILD                                      | 23 ++---
 7 files changed, 33 insertions(+), 133 deletions(-)
 delete mode 100644 0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch
 rename 0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch => 0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch (88%)

diff --git a/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch b/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
index 10d9a4b..156d03e 100644
--- a/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
+++ b/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
@@ -1,8 +1,8 @@
-From ff9d06de19e83c0c5a00a4d46376b4d1032c4f99 Mon Sep 17 00:00:00 2001
-Message-Id: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
+From f7a249814be46cbcb7bad48e4b1910baaf7f8961 Mon Sep 17 00:00:00 2001
+Message-Id: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
 From: Serge Hallyn <serge.hallyn@canonical.com>
 Date: Fri, 31 May 2013 19:12:12 +0100
-Subject: [PATCH 1/6] add sysctl to disallow unprivileged CLONE_NEWUSER by
+Subject: [PATCH 1/5] add sysctl to disallow unprivileged CLONE_NEWUSER by
  default
 
 Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
diff --git a/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch b/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
index 32c3989..ad7ac0c 100644
--- a/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
+++ b/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
@@ -1,10 +1,10 @@
-From 3dcbf4dd14d295c3a238d73e9f791a827b906058 Mon Sep 17 00:00:00 2001
-Message-Id: <3dcbf4dd14d295c3a238d73e9f791a827b906058.1524129246.git.jan.steffens@gmail.com>
-In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
-References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
+From 7f9a95491f506700d46db581ef3734ced7c9618b Mon Sep 17 00:00:00 2001
+Message-Id: <7f9a95491f506700d46db581ef3734ced7c9618b.1524575789.git.jan.steffens@gmail.com>
+In-Reply-To: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
+References: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
 From: Jim Bride <jim.bride@linux.intel.com>
 Date: Mon, 6 Nov 2017 13:38:57 -0800
-Subject: [PATCH 2/6] drm/i915/edp: Only use the alternate fixed mode if it's
+Subject: [PATCH 2/5] drm/i915/edp: Only use the alternate fixed mode if it's
  asked for
 
 In commit dc911f5bd8aa ("drm/i915/edp: Allow alternate fixed mode for
diff --git a/0003-Partially-revert-swiotlb-remove-various-exports.patch b/0003-Partially-revert-swiotlb-remove-various-exports.patch
index 5a5f9ce..4669b03 100644
--- a/0003-Partially-revert-swiotlb-remove-various-exports.patch
+++ b/0003-Partially-revert-swiotlb-remove-various-exports.patch
@@ -1,10 +1,10 @@
-From 1b03bcc6faecde170f9bea83accdde7bbd36df96 Mon Sep 17 00:00:00 2001
-Message-Id: <1b03bcc6faecde170f9bea83accdde7bbd36df96.1524129246.git.jan.steffens@gmail.com>
-In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
-References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
+From be536681bd2439bf8e95df124fa282cf4a2e7846 Mon Sep 17 00:00:00 2001
+Message-Id: <be536681bd2439bf8e95df124fa282cf4a2e7846.1524575789.git.jan.steffens@gmail.com>
+In-Reply-To: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
+References: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
 Date: Fri, 6 Apr 2018 16:19:38 +0200
-Subject: [PATCH 3/6] Partially revert "swiotlb: remove various exports"
+Subject: [PATCH 3/5] Partially revert "swiotlb: remove various exports"
 
 This partially reverts commit 4bd89ed39b2ab8dc4ac4b6c59b07d420b0213bec.
 The proprietary NVIDIA driver needs one of the exports.
@@ -13,7 +13,7 @@ The proprietary NVIDIA driver needs one of the exports.
  1 file changed, 1 insertion(+)
 
 diff --git a/lib/swiotlb.c b/lib/swiotlb.c
-index c43ec2271469..77d699f14af7 100644
+index 44f7eb408fdb..0bb1bb65ad6b 100644
 --- a/lib/swiotlb.c
 +++ b/lib/swiotlb.c
 @@ -1016,6 +1016,7 @@ swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, int nelems,
diff --git a/0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch b/0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
index 05924c3..ae5b8c9 100644
--- a/0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
+++ b/0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
@@ -1,10 +1,10 @@
-From b04d533fa7e16e58243296b5063a624e91d2048e Mon Sep 17 00:00:00 2001
-Message-Id: <b04d533fa7e16e58243296b5063a624e91d2048e.1524129246.git.jan.steffens@gmail.com>
-In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
-References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
+From a117a2995f291e765c5de06f42f02a1687ecb55e Mon Sep 17 00:00:00 2001
+Message-Id: <a117a2995f291e765c5de06f42f02a1687ecb55e.1524575789.git.jan.steffens@gmail.com>
+In-Reply-To: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
+References: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
 Date: Wed, 11 Apr 2018 21:27:44 +0200
-Subject: [PATCH 4/6] Fix vboxguest on guests with more than 4G RAM
+Subject: [PATCH 4/5] Fix vboxguest on guests with more than 4G RAM
 
 Squashed commit of the following:
 
diff --git a/0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch b/0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch
deleted file mode 100644
index 8fc4ede..0000000
--- a/0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 23675bf063a1b39fccd29e7f573ec6729a11b3fa Mon Sep 17 00:00:00 2001
-Message-Id: <23675bf063a1b39fccd29e7f573ec6729a11b3fa.1524129246.git.jan.steffens@gmail.com>
-In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
-References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Thu, 12 Apr 2018 10:51:52 -0400
-Subject: [PATCH 5/6] Revert "drm/amd/display: disable CRTCs with NULL FB on
- their primary plane (V2)"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This seems to cause flickering and lock-ups for a wide range of users.
-Revert until we've found a proper fix for the flickering and lock-ups.
-
-This reverts commit 36cc549d59864b7161f0e23d710c1c4d1b9cf022.
-
-Cc: Shirish S <shirish.s@amd.com>
-Cc: Alex Deucher <alexander.deucher@amd.com>
-Cc: stable@vger.kernel.org
-Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 31 -------------------
- 1 file changed, 31 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-index 63c67346d316..8a6e6fbc78cd 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-@@ -4776,60 +4776,29 @@ static int dm_update_planes_state(struct dc *dc,
- 	return ret;
- }
- 
--static int dm_atomic_check_plane_state_fb(struct drm_atomic_state *state,
--					  struct drm_crtc *crtc)
--{
--	struct drm_plane *plane;
--	struct drm_crtc_state *crtc_state;
--
--	WARN_ON(!drm_atomic_get_new_crtc_state(state, crtc));
--
--	drm_for_each_plane_mask(plane, state->dev, crtc->state->plane_mask) {
--		struct drm_plane_state *plane_state =
--			drm_atomic_get_plane_state(state, plane);
--
--		if (IS_ERR(plane_state))
--			return -EDEADLK;
--
--		crtc_state = drm_atomic_get_crtc_state(plane_state->state, crtc);
--		if (IS_ERR(crtc_state))
--			return PTR_ERR(crtc_state);
--
--		if (crtc->primary == plane && crtc_state->active) {
--			if (!plane_state->fb)
--				return -EINVAL;
--		}
--	}
--	return 0;
--}
--
- static int amdgpu_dm_atomic_check(struct drm_device *dev,
- 				  struct drm_atomic_state *state)
- {
- 	struct amdgpu_device *adev = dev->dev_private;
- 	struct dc *dc = adev->dm.dc;
- 	struct dm_atomic_state *dm_state = to_dm_atomic_state(state);
- 	struct drm_connector *connector;
- 	struct drm_connector_state *old_con_state, *new_con_state;
- 	struct drm_crtc *crtc;
- 	struct drm_crtc_state *old_crtc_state, *new_crtc_state;
- 	int ret, i;
- 
- 	/*
- 	 * This bool will be set for true for any modeset/reset
- 	 * or plane update which implies non fast surface update.
- 	 */
- 	bool lock_and_validation_needed = false;
- 
- 	ret = drm_atomic_helper_check_modeset(dev, state);
- 	if (ret)
- 		goto fail;
- 
- 	for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
--		ret = dm_atomic_check_plane_state_fb(state, crtc);
--		if (ret)
--			goto fail;
--
- 		if (!drm_atomic_crtc_needs_modeset(new_crtc_state) &&
- 		    !new_crtc_state->color_mgmt_changed)
- 			continue;
--- 
-2.17.0
-
diff --git a/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch b/0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
similarity index 88%
rename from 0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
rename to 0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
index d32cfc4..d02da63 100644
--- a/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
+++ b/0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
@@ -1,10 +1,10 @@
-From fb08717dc5ecf3ada73f93663b528d9d4ce4380b Mon Sep 17 00:00:00 2001
-Message-Id: <fb08717dc5ecf3ada73f93663b528d9d4ce4380b.1524129246.git.jan.steffens@gmail.com>
-In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
-References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com>
+From 415d0ca52b88f7cf3300a54c337ca80ebeccce5c Mon Sep 17 00:00:00 2001
+Message-Id: <415d0ca52b88f7cf3300a54c337ca80ebeccce5c.1524575789.git.jan.steffens@gmail.com>
+In-Reply-To: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
+References: <f7a249814be46cbcb7bad48e4b1910baaf7f8961.1524575789.git.jan.steffens@gmail.com>
 From: Igor Russkikh <igor.russkikh@aquantia.com>
 Date: Wed, 11 Apr 2018 15:23:24 +0300
-Subject: [PATCH 6/6] net: aquantia: Regression on reset with 1.x firmware
+Subject: [PATCH 5/5] net: aquantia: Regression on reset with 1.x firmware
 
 On ASUS XG-C100C with 1.5.44 firmware a special mode called "dirty wake"
 is active. With this mode when motherboard gets powered (but no poweron
diff --git a/PKGBUILD b/PKGBUILD
index 35d9dd9..510bc6a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
 pkgbase=linux               # Build stock -ARCH kernel
 #pkgbase=linux-custom       # Build kernel with a different name
 _srcname=linux-4.16
-pkgver=4.16.3
+pkgver=4.16.4
 pkgrel=1
 arch=('x86_64')
 url="https://www.kernel.org/"
@@ -22,8 +22,7 @@ source=(
   0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
   0003-Partially-revert-swiotlb-remove-various-exports.patch
   0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
-  0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch
-  0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
+  0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
 )
 validpgpkeys=(
   'ABAF11C65A2970B130ABE3C479BE3E4300411886'  # Linus Torvalds
@@ -31,18 +30,17 @@ validpgpkeys=(
 )
 sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9'
             'SKIP'
-            '336252cb15f2f2574461c1d3daabf5dc207842526085802270e1e5223f645db3'
+            'bad271dbda2d024daf4a2ab6e122b95b262ea80508ac8018bc61e8aa44f40cfe'
             'SKIP'
             '51f794dee6098b19b5f8ec2277f52a313584f2ff8b3abf111f2fd92a6ea118dd'
             'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
             '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
             'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
-            'a6119b46856ed2652c509fed380052e6df2be89c69a0d748cf7d8745bf35b871'
-            '545566a7358d711b8d4f9924df685e2410549e20d99e5d1c0dfaccdfeafda60d'
-            'bef6dd7b3a749ec072614ea4ed0bd5ea1d90519731f3438e4938d5b957032cc5'
-            'd647211e288436bcc010019a69f4ebf9a94c33b423c650aea8098969208ec836'
-            '6fb4fb81dab69ff432767e02585b3eb6a5a39c941e4bc2a6d4940ee17116c14e'
-            'd49a70d3b3f60c81d93735871f01ea60cafca87588d8d0d01801b2aec92e0e93')
+            '113b1fe603f61b749c4cb3902a4f5d4fbec9d1e5081f008bac485cc345defa5f'
+            '9db235c5edfc9a81a0f5866f9942e74d896243c37d50298288fbbe2f79169fd3'
+            'd57665a468f93c94b92924fdbdc72ea50def74d9c8999104c9594e64fb196328'
+            '079180ceaae87a4851eb56e80f6e33b0199dad3343c73275ddb710e0824feb73'
+            'f1c751e29bc1bcfe634c49873eb34a5418db3dfbd1f6d789e738dee78071d3dd')
 
 _kernelname=${pkgbase#linux}
 : ${_kernelname:=-ARCH}
@@ -68,11 +66,8 @@ prepare() {
   # https://bugs.archlinux.org/task/58153
   patch -Np1 -i ../0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
 
-  # https://bugs.archlinux.org/task/58158
-  patch -Np1 -i ../0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch
-
   # https://bugs.archlinux.org/task/58174
-  patch -Np1 -i ../0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
+  patch -Np1 -i ../0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch
 
   cat ../config - >.config <<END
 CONFIG_LOCALVERSION="${_kernelname}"