diff options
-rw-r--r-- | 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch | 52 | ||||
-rw-r--r-- | 0004-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-gfx-v8.patch | 85 | ||||
-rw-r--r-- | PKGBUILD | 10 |
3 files changed, 2 insertions, 145 deletions
diff --git a/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch b/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch deleted file mode 100644 index d811047..0000000 --- a/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch +++ /dev/null @@ -1,52 +0,0 @@ -From f6f6b798c7330d7851fee4bbe835c3954886fc3f Mon Sep 17 00:00:00 2001 -From: Johannes Berg <johannes.berg@intel.com> -Date: Wed, 3 Jul 2019 11:10:49 +0300 -Subject: iwlwifi: mvm: disable TX-AMSDU on older NICs - -On older NICs, we occasionally see issues with A-MSDU support, -where the commands in the FIFO get confused and then we see an -assert EDC because the next command in the FIFO isn't TX. - -We've tried to isolate this issue and understand where it comes -from, but haven't found any errors in building the A-MSDU in -software. - -At least for now, disable A-MSDU support on older hardware so -that users can use it again without fearing the assert. - -This fixes https://bugzilla.kernel.org/show_bug.cgi?id=203315. - -Signed-off-by: Johannes Berg <johannes.berg@intel.com> -Signed-off-by: Luca Coelho <luciano.coelho@intel.com> -Acked-by: Kalle Valo <kvalo@codeaurora.org> ---- - drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c -index fdbabca0280e..3a076e5e319f 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c -@@ -468,7 +468,19 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) - ieee80211_hw_set(hw, SUPPORTS_VHT_EXT_NSS_BW); - ieee80211_hw_set(hw, BUFF_MMPDU_TXQ); - ieee80211_hw_set(hw, STA_MMPDU_TXQ); -- ieee80211_hw_set(hw, TX_AMSDU); -+ /* -+ * On older devices, enabling TX A-MSDU occasionally leads to -+ * something getting messed up, the command read from the FIFO -+ * gets out of sync and isn't a TX command, so that we have an -+ * assert EDC. -+ * -+ * It's not clear where the bug is, but since we didn't used to -+ * support A-MSDU until moving the mac80211 iTXQs, just leave it -+ * for older devices. We also don't see this issue on any newer -+ * devices. -+ */ -+ if (mvm->cfg->device_family >= IWL_DEVICE_FAMILY_9000) -+ ieee80211_hw_set(hw, TX_AMSDU); - ieee80211_hw_set(hw, TX_FRAG_LIST); - - if (iwl_mvm_has_tlc_offload(mvm)) { --- -cgit v1.2.1-1-g437b diff --git a/0004-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-gfx-v8.patch b/0004-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-gfx-v8.patch deleted file mode 100644 index b82ce17..0000000 --- a/0004-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-gfx-v8.patch +++ /dev/null @@ -1,85 +0,0 @@ -From dd672eb4f207fcb2b26bafa0d61f118c3c11a479 Mon Sep 17 00:00:00 2001 -From: Likun Gao <Likun.Gao@amd.com> -Date: Fri, 2 Aug 2019 15:18:57 +0800 -Subject: drm/amdgpu: pin the csb buffer on hw init for gfx v8 - -Without this pin, the csb buffer will be filled with inconsistent -data after S3 resume. And that will causes gfx hang on gfxoff -exit since this csb will be executed then. - -Signed-off-by: Likun Gao <Likun.Gao@amd.com> -Tested-by: Paul Gover <pmw.gover@yahoo.co.uk> -Reviewed-by: Feifei Xu <Feifei.Xu@amd.com> -Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 40 +++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -index 02955e6e9dd9..c21ef99cc590 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -@@ -1317,6 +1317,39 @@ static int gfx_v8_0_rlc_init(struct amdgpu_device *adev) - return 0; - } - -+static int gfx_v8_0_csb_vram_pin(struct amdgpu_device *adev) -+{ -+ int r; -+ -+ r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, false); -+ if (unlikely(r != 0)) -+ return r; -+ -+ r = amdgpu_bo_pin(adev->gfx.rlc.clear_state_obj, -+ AMDGPU_GEM_DOMAIN_VRAM); -+ if (!r) -+ adev->gfx.rlc.clear_state_gpu_addr = -+ amdgpu_bo_gpu_offset(adev->gfx.rlc.clear_state_obj); -+ -+ amdgpu_bo_unreserve(adev->gfx.rlc.clear_state_obj); -+ -+ return r; -+} -+ -+static void gfx_v8_0_csb_vram_unpin(struct amdgpu_device *adev) -+{ -+ int r; -+ -+ if (!adev->gfx.rlc.clear_state_obj) -+ return; -+ -+ r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, true); -+ if (likely(r == 0)) { -+ amdgpu_bo_unpin(adev->gfx.rlc.clear_state_obj); -+ amdgpu_bo_unreserve(adev->gfx.rlc.clear_state_obj); -+ } -+} -+ - static void gfx_v8_0_mec_fini(struct amdgpu_device *adev) - { - amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); -@@ -4777,6 +4810,10 @@ static int gfx_v8_0_hw_init(void *handle) - gfx_v8_0_init_golden_registers(adev); - gfx_v8_0_constants_init(adev); - -+ r = gfx_v8_0_csb_vram_pin(adev); -+ if (r) -+ return r; -+ - r = adev->gfx.rlc.funcs->resume(adev); - if (r) - return r; -@@ -4893,6 +4930,9 @@ static int gfx_v8_0_hw_fini(void *handle) - else - pr_err("rlc is busy, skip halt rlc\n"); - amdgpu_gfx_rlc_exit_safe_mode(adev); -+ -+ gfx_v8_0_csb_vram_unpin(adev); -+ - return 0; - } - --- -cgit v1.2.1-1-g437b @@ -18,7 +18,7 @@ pkgbase=linux-ck _majver=5.2 -_minver=10 +_minver=11 if [ "$_minver" == "0" ]; then pkgver=${_majver} else @@ -42,8 +42,6 @@ source=( https://www.kernel.org/pub/linux/kernel/v5.x/linux-$pkgver.tar.{xz,sign} 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch 0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch - 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch - 0004-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-gfx-v8.patch ck_remove-excess-extraversion.patch linux-ck-patch-${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/5.0/${_majver}/${_majver}-${_ckpatchversion}/${_ckpatch}.xz graysky_bdver2-hotfix.patch @@ -55,12 +53,10 @@ source=( 90-linux.hook # pacman hook for initramfs regeneration linux.preset # standard config files for mkinitcpio ramdisk ) -sha256sums=('6096c4387c2a296de9136080942d11ae3f1bd28129b6952f7133c570e43bfc49' +sha256sums=('0c2a831f993dc8a8a8e1ca4186b467de72ff173c6f5855e2aab70f6f7fb033f9' 'SKIP' '91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3' '63e4378e69e2f23ed87af32a4951477a6d82d4ac0de2295db46502c8120da9d9' - '8449de698dfc8f95ff03dbfd98b6abdd71dbc4238896256690cb856fe366aac3' - '0614c2ac6086111ac4b6bf9083a2eceb9d79d0daa7473e1903e6c51a8eff5682' '152c551bd03e92d6458b0d9f352c97eb058014ab019fa213167a6f8178bd6d71' 'f1abc13a8d859fbf6350040e45d7f04ad551a6d39f113ba96fbbd820118c0e36' 'c5405139aa0a90a6f68f6a13e066a2bd0600c970f9f525cd3aa114b044a7f73b' @@ -91,8 +87,6 @@ prepare() { msg2 "Applying hotfixes" patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch patch -p1 -i ../0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch - patch -p1 -i ../0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch - patch -p1 -i ../0004-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-gfx-v8.patch # ck hotfixes |