From 956337a3f520b48481d04155d8fc0ec77c478dec Mon Sep 17 00:00:00 2001 From: Jan Alexander Steffens Date: Sat, 14 Apr 2018 14:15:59 +0000 Subject: [PATCH] FS#58158 Revert a commit to fix flickering --- ...sallow-unprivileged-CLONE_NEWUSER-by.patch | 6 +- ...y-use-the-alternate-fixed-mode-if-it.patch | 10 +- ...evert-swiotlb-remove-various-exports.patch | 10 +- ...uest-on-guests-with-more-than-4G-RAM.patch | 10 +- ...isplay-disable-CRTCs-with-NULL-FB-on.patch | 95 +++++++++++++++++++ PKGBUILD | 13 ++- 6 files changed, 122 insertions(+), 22 deletions(-) create mode 100644 0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch 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 220ab4e..680dbf3 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 2c2e2c3c7057a347aad9dbfc61fa87e787de33e7 Mon Sep 17 00:00:00 2001 -Message-Id: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> +From 3a7745f6fdd71aa34dae33c3edc586363d9ece9e Mon Sep 17 00:00:00 2001 +Message-Id: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> From: Serge Hallyn Date: Fri, 31 May 2013 19:12:12 +0100 -Subject: [PATCH 1/4] 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 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 efd35b8..b4f0c26 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 2db81464580bf74253236491d255c9b482dca39e Mon Sep 17 00:00:00 2001 -Message-Id: <2db81464580bf74253236491d255c9b482dca39e.1523475032.git.jan.steffens@gmail.com> -In-Reply-To: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> -References: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> +From 1ab88f114ddb0f614118c330196af3024f88630c Mon Sep 17 00:00:00 2001 +Message-Id: <1ab88f114ddb0f614118c330196af3024f88630c.1523715224.git.jan.steffens@gmail.com> +In-Reply-To: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> +References: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> From: Jim Bride Date: Mon, 6 Nov 2017 13:38:57 -0800 -Subject: [PATCH 2/4] 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 6da3f92..8eee6f5 100644 --- a/0003-Partially-revert-swiotlb-remove-various-exports.patch +++ b/0003-Partially-revert-swiotlb-remove-various-exports.patch @@ -1,10 +1,10 @@ -From 8b658f0ca1bea1ed3b2cbec9648361757a1b1f32 Mon Sep 17 00:00:00 2001 -Message-Id: <8b658f0ca1bea1ed3b2cbec9648361757a1b1f32.1523475032.git.jan.steffens@gmail.com> -In-Reply-To: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> -References: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> +From d1bc4bfbbc01a62a8b70f4018273d49b502c1511 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> +References: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> From: "Jan Alexander Steffens (heftig)" Date: Fri, 6 Apr 2018 16:19:38 +0200 -Subject: [PATCH 3/4] 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. 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 764af45..9c359bc 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 113d4b8b5be49c6186cdd358fee1099c329fc334 Mon Sep 17 00:00:00 2001 -Message-Id: <113d4b8b5be49c6186cdd358fee1099c329fc334.1523475032.git.jan.steffens@gmail.com> -In-Reply-To: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> -References: <2c2e2c3c7057a347aad9dbfc61fa87e787de33e7.1523475032.git.jan.steffens@gmail.com> +From 437fda0d08ba6f5c644dd7c13a249a779ff41abd Mon Sep 17 00:00:00 2001 +Message-Id: <437fda0d08ba6f5c644dd7c13a249a779ff41abd.1523715224.git.jan.steffens@gmail.com> +In-Reply-To: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> +References: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> From: "Jan Alexander Steffens (heftig)" Date: Wed, 11 Apr 2018 21:27:44 +0200 -Subject: [PATCH 4/4] 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 new file mode 100644 index 0000000..4fe5e5a --- /dev/null +++ b/0005-Revert-drm-amd-display-disable-CRTCs-with-NULL-FB-on.patch @@ -0,0 +1,95 @@ +From f144015c59359c918d30fd309ed368045b783d47 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> +References: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523715224.git.jan.steffens@gmail.com> +From: Harry Wentland +Date: Thu, 12 Apr 2018 10:51:52 -0400 +Subject: [PATCH 5/5] 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/PKGBUILD b/PKGBUILD index ea4fd92..a7ee3a6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -22,6 +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 ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -35,10 +36,11 @@ sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' - 'b172d6cabd8f1980f5ef4b5ad7a96a34e05d99fb02ec0565a80f96719f131a04' - '558c2b0fa7ad1761cb1dd89d8b860436f50d515c295949c08de9288100e034f6' - 'bc8a87cec67ecb8713d96167981c38d7ec4d93e1d2fdcb02193d704c441cff46' - 'c0fa1a6141bf64111ab9d0af4fc63d95b03b65baa2682aee1cd794d9311062c2') + '5537c95208da5951a456084ecae9c8efbed63566d5d49503598ff5660fb3320e' + '7222455040b21ad80ed237b667100b78345baed19cc14177002a47046913f00d' + 'b0d6f4f308a8d9fcd4af5cca22e65af7d5072a91c3554ddb2480a50f3544dcf2' + '84a3c167897b4a67b65a6b3d44cfee9a26535169d530de80637eed31ff946577' + 'bc899ff8017cf60170d459d77f064edaad1bb4047eef53f27583521786f68f54') _kernelname=${pkgbase#linux} : ${_kernelname:=-ARCH} @@ -64,6 +66,9 @@ 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 + cat ../config - >.config <