From c2e6ce24ae69d87c66494a20260c83b0ff720ace Mon Sep 17 00:00:00 2001 From: Mark Weiman Date: Mon, 30 Apr 2018 11:42:28 -0400 Subject: [PATCH] Update to 4.16.5-1 --- .SRCINFO | 12 +-- ...isplay-disable-CRTCs-with-NULL-FB-on.patch | 95 ------------------- ...egression-on-reset-with-1.x-firmware.patch | 72 -------------- PKGBUILD | 14 +-- 4 files changed, 6 insertions(+), 187 deletions(-) delete mode 100644 0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch delete mode 100644 0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch diff --git a/.SRCINFO b/.SRCINFO index 36cae72..865aeec 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,5 +1,5 @@ pkgbase = linux-vfio - pkgver = 4.16.3 + pkgver = 4.16.5 pkgrel = 1 url = https://www.kernel.org/ arch = x86_64 @@ -12,8 +12,8 @@ pkgbase = linux-vfio options = !strip source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.16.tar.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.16.tar.sign - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.3.xz - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.3.sign + source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.5.xz + source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.5.sign source = config source = 60-linux.hook source = 90-linux.hook @@ -22,15 +22,13 @@ pkgbase = linux-vfio source = 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch source = 0003-Partially-revert-swiotlb-remove-various-exports.patch source = 0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch - source = 0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch - source = 0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch source = add-acs-overrides.patch source = i915-vga-arbiter.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E sha256sums = 63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9 sha256sums = SKIP - sha256sums = 336252cb15f2f2574461c1d3daabf5dc207842526085802270e1e5223f645db3 + sha256sums = 8c3bb050d11da6e91d3e169f76ee3ed6937e1ca64264e605ddba8108696ba011 sha256sums = SKIP sha256sums = 51f794dee6098b19b5f8ec2277f52a313584f2ff8b3abf111f2fd92a6ea118dd sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21 @@ -40,8 +38,6 @@ pkgbase = linux-vfio sha256sums = 545566a7358d711b8d4f9924df685e2410549e20d99e5d1c0dfaccdfeafda60d sha256sums = bef6dd7b3a749ec072614ea4ed0bd5ea1d90519731f3438e4938d5b957032cc5 sha256sums = d647211e288436bcc010019a69f4ebf9a94c33b423c650aea8098969208ec836 - sha256sums = 6fb4fb81dab69ff432767e02585b3eb6a5a39c941e4bc2a6d4940ee17116c14e - sha256sums = d49a70d3b3f60c81d93735871f01ea60cafca87588d8d0d01801b2aec92e0e93 sha256sums = abe269c6596b54a412bd8415472153f419026d4f367fa3ee1ebc8693ac66915d sha256sums = fe3d47fe6f54d4a82c869fd29484d3f097b5906ef4d456409961a8dd647daad0 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: -References: -From: Harry Wentland -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 -Cc: Alex Deucher -Cc: stable@vger.kernel.org -Reviewed-by: Michel Dänzer -Signed-off-by: Harry Wentland -Signed-off-by: Alex Deucher ---- - .../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/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch deleted file mode 100644 index d32cfc4..0000000 --- a/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch +++ /dev/null @@ -1,72 +0,0 @@ -From fb08717dc5ecf3ada73f93663b528d9d4ce4380b Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: -From: Igor Russkikh -Date: Wed, 11 Apr 2018 15:23:24 +0300 -Subject: [PATCH 6/6] 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 -happens yet), NIC automatically enables powersave link and watches -for WOL packet. -This normally allows to powerup the PC after AC power failures. - -Not all motherboards or bios settings gives power to PCI slots, -so this mode is not enabled on all the hardware. - -4.16 linux driver introduced full hardware reset sequence -This is required since before that we had no NIC hardware -reset implemented and there were side effects of "not clean start". - -But this full reset is incompatible with "dirty wake" WOL feature -it keeps the PHY link in a special mode forever. As a consequence, -driver sees no link and no traffic. - -To fix this we forcibly change FW state to idle state before doing -the full reset. This makes FW to restore link state. - -Fixes: c8c82eb net: aquantia: Introduce global AQC hardware reset sequence -Signed-off-by: Igor Russkikh -Signed-off-by: David S. Miller ---- - .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c -index d3b847ec7465..c58b2c227260 100644 ---- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c -+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c -@@ -48,6 +48,8 @@ - #define FORCE_FLASHLESS 0 - - static int hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual); -+static int hw_atl_utils_mpi_set_state(struct aq_hw_s *self, -+ enum hal_atl_utils_fw_state_e state); - - int hw_atl_utils_initfw(struct aq_hw_s *self, const struct aq_fw_ops **fw_ops) - { -@@ -247,6 +249,20 @@ int hw_atl_utils_soft_reset(struct aq_hw_s *self) - - self->rbl_enabled = (boot_exit_code != 0); - -+ /* FW 1.x may bootup in an invalid POWER state (WOL feature). -+ * We should work around this by forcing its state back to DEINIT -+ */ -+ if (!hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, -+ aq_hw_read_reg(self, -+ HW_ATL_MPI_FW_VERSION))) { -+ int err = 0; -+ -+ hw_atl_utils_mpi_set_state(self, MPI_DEINIT); -+ AQ_HW_WAIT_FOR((aq_hw_read_reg(self, HW_ATL_MPI_STATE_ADR) & -+ HW_ATL_MPI_STATE_MSK) == MPI_DEINIT, -+ 10, 1000U); -+ } -+ - if (self->rbl_enabled) - return hw_atl_utils_soft_reset_rbl(self); - else --- -2.17.0 - diff --git a/PKGBUILD b/PKGBUILD index 8ed2e52..72115ee 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgbase=linux-vfio _srcname=linux-4.16 -pkgver=4.16.3 +pkgver=4.16.5 pkgrel=1 arch=('x86_64') url="https://www.kernel.org/" @@ -21,8 +21,6 @@ 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 # patches for pci passthrough add-acs-overrides.patch i915-vga-arbiter.patch @@ -33,7 +31,7 @@ validpgpkeys=( ) sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9' 'SKIP' - '336252cb15f2f2574461c1d3daabf5dc207842526085802270e1e5223f645db3' + '8c3bb050d11da6e91d3e169f76ee3ed6937e1ca64264e605ddba8108696ba011' 'SKIP' '51f794dee6098b19b5f8ec2277f52a313584f2ff8b3abf111f2fd92a6ea118dd' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' @@ -43,8 +41,6 @@ sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9' '545566a7358d711b8d4f9924df685e2410549e20d99e5d1c0dfaccdfeafda60d' 'bef6dd7b3a749ec072614ea4ed0bd5ea1d90519731f3438e4938d5b957032cc5' 'd647211e288436bcc010019a69f4ebf9a94c33b423c650aea8098969208ec836' - '6fb4fb81dab69ff432767e02585b3eb6a5a39c941e4bc2a6d4940ee17116c14e' - 'd49a70d3b3f60c81d93735871f01ea60cafca87588d8d0d01801b2aec92e0e93' 'abe269c6596b54a412bd8415472153f419026d4f367fa3ee1ebc8693ac66915d' 'fe3d47fe6f54d4a82c869fd29484d3f097b5906ef4d456409961a8dd647daad0') @@ -71,12 +67,6 @@ 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 # patches for vga arbiter fix in intel systems patch -p1 -i "${srcdir}/i915-vga-arbiter.patch"