From: Greg Kroah-Hartman Date: Mon, 28 Feb 2022 21:32:19 +0000 (+0100) Subject: dropped drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch from everywhere X-Git-Tag: v4.9.304~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1dd3a7079ab2d50eb7bc98f3ee88842f89183030;p=thirdparty%2Fkernel%2Fstable-queue.git dropped drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch from everywhere --- diff --git a/queue-5.10/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch b/queue-5.10/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch deleted file mode 100644 index cf344553272..00000000000 --- a/queue-5.10/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch +++ /dev/null @@ -1,78 +0,0 @@ -From c1a66c3bc425ff93774fb2f6eefa67b83170dd7e Mon Sep 17 00:00:00 2001 -From: Qiang Yu -Date: Mon, 21 Feb 2022 17:53:56 +0800 -Subject: drm/amdgpu: check vm ready by amdgpu_vm->evicting flag -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Qiang Yu - -commit c1a66c3bc425ff93774fb2f6eefa67b83170dd7e upstream. - -Workstation application ANSA/META v21.1.4 get this error dmesg when -running CI test suite provided by ANSA/META: -[drm:amdgpu_gem_va_ioctl [amdgpu]] *ERROR* Couldn't update BO_VA (-16) - -This is caused by: -1. create a 256MB buffer in invisible VRAM -2. CPU map the buffer and access it causes vm_fault and try to move - it to visible VRAM -3. force visible VRAM space and traverse all VRAM bos to check if - evicting this bo is valuable -4. when checking a VM bo (in invisible VRAM), amdgpu_vm_evictable() - will set amdgpu_vm->evicting, but latter due to not in visible - VRAM, won't really evict it so not add it to amdgpu_vm->evicted -5. before next CS to clear the amdgpu_vm->evicting, user VM ops - ioctl will pass amdgpu_vm_ready() (check amdgpu_vm->evicted) - but fail in amdgpu_vm_bo_update_mapping() (check - amdgpu_vm->evicting) and get this error log - -This error won't affect functionality as next CS will finish the -waiting VM ops. But we'd better clear the error log by checking -the amdgpu_vm->evicting flag in amdgpu_vm_ready() to stop calling -amdgpu_vm_bo_update_mapping() later. - -Another reason is amdgpu_vm->evicted list holds all BOs (both -user buffer and page table), but only page table BOs' eviction -prevent VM ops. amdgpu_vm->evicting flag is set only for page -table BOs, so we should use evicting flag instead of evicted list -in amdgpu_vm_ready(). - -The side effect of this change is: previously blocked VM op (user -buffer in "evicted" list but no page table in it) gets done -immediately. - -v2: update commit comments. - -Acked-by: Paul Menzel -Reviewed-by: Christian König -Signed-off-by: Qiang Yu -Signed-off-by: Alex Deucher -Cc: stable@vger.kernel.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -@@ -715,11 +715,16 @@ int amdgpu_vm_validate_pt_bos(struct amd - * Check if all VM PDs/PTs are ready for updates - * - * Returns: -- * True if eviction list is empty. -+ * True if VM is not evicting. - */ - bool amdgpu_vm_ready(struct amdgpu_vm *vm) - { -- return list_empty(&vm->evicted); -+ bool ret; -+ -+ amdgpu_vm_eviction_lock(vm); -+ ret = !vm->evicting; -+ amdgpu_vm_eviction_unlock(vm); -+ return ret; - } - - /** diff --git a/queue-5.10/series b/queue-5.10/series index a30cd870cb3..b17635967bb 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -7,7 +7,6 @@ parisc-unaligned-fix-fldd-and-fstd-unaligned-handlers-on-32-bit-kernel.patch parisc-unaligned-fix-ldw-and-stw-unalignment-handlers.patch kvm-x86-mmu-make-apf-token-non-zero-to-fix-bug.patch drm-amdgpu-disable-mmhub-pg-for-picasso.patch -drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch drm-i915-correctly-populate-use_sagv_wm-for-all-pipes.patch sr9700-sanity-check-for-packet-length.patch usb-zaurus-support-another-broken-zaurus.patch diff --git a/queue-5.15/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch b/queue-5.15/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch deleted file mode 100644 index b295ca8c1d7..00000000000 --- a/queue-5.15/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch +++ /dev/null @@ -1,78 +0,0 @@ -From c1a66c3bc425ff93774fb2f6eefa67b83170dd7e Mon Sep 17 00:00:00 2001 -From: Qiang Yu -Date: Mon, 21 Feb 2022 17:53:56 +0800 -Subject: drm/amdgpu: check vm ready by amdgpu_vm->evicting flag -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Qiang Yu - -commit c1a66c3bc425ff93774fb2f6eefa67b83170dd7e upstream. - -Workstation application ANSA/META v21.1.4 get this error dmesg when -running CI test suite provided by ANSA/META: -[drm:amdgpu_gem_va_ioctl [amdgpu]] *ERROR* Couldn't update BO_VA (-16) - -This is caused by: -1. create a 256MB buffer in invisible VRAM -2. CPU map the buffer and access it causes vm_fault and try to move - it to visible VRAM -3. force visible VRAM space and traverse all VRAM bos to check if - evicting this bo is valuable -4. when checking a VM bo (in invisible VRAM), amdgpu_vm_evictable() - will set amdgpu_vm->evicting, but latter due to not in visible - VRAM, won't really evict it so not add it to amdgpu_vm->evicted -5. before next CS to clear the amdgpu_vm->evicting, user VM ops - ioctl will pass amdgpu_vm_ready() (check amdgpu_vm->evicted) - but fail in amdgpu_vm_bo_update_mapping() (check - amdgpu_vm->evicting) and get this error log - -This error won't affect functionality as next CS will finish the -waiting VM ops. But we'd better clear the error log by checking -the amdgpu_vm->evicting flag in amdgpu_vm_ready() to stop calling -amdgpu_vm_bo_update_mapping() later. - -Another reason is amdgpu_vm->evicted list holds all BOs (both -user buffer and page table), but only page table BOs' eviction -prevent VM ops. amdgpu_vm->evicting flag is set only for page -table BOs, so we should use evicting flag instead of evicted list -in amdgpu_vm_ready(). - -The side effect of this change is: previously blocked VM op (user -buffer in "evicted" list but no page table in it) gets done -immediately. - -v2: update commit comments. - -Acked-by: Paul Menzel -Reviewed-by: Christian König -Signed-off-by: Qiang Yu -Signed-off-by: Alex Deucher -Cc: stable@vger.kernel.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -@@ -768,11 +768,16 @@ int amdgpu_vm_validate_pt_bos(struct amd - * Check if all VM PDs/PTs are ready for updates - * - * Returns: -- * True if eviction list is empty. -+ * True if VM is not evicting. - */ - bool amdgpu_vm_ready(struct amdgpu_vm *vm) - { -- return list_empty(&vm->evicted); -+ bool ret; -+ -+ amdgpu_vm_eviction_lock(vm); -+ ret = !vm->evicting; -+ amdgpu_vm_eviction_unlock(vm); -+ return ret; - } - - /** diff --git a/queue-5.15/series b/queue-5.15/series index fb84a01d9ee..62683ea14d4 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -17,7 +17,6 @@ drm-amd-pm-fix-some-oem-sku-specific-stability-issues.patch drm-amd-check-if-aspm-is-enabled-from-pcie-subsystem.patch drm-amdgpu-disable-mmhub-pg-for-picasso.patch drm-amdgpu-do-not-enable-asic-reset-for-raven2.patch -drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch drm-i915-widen-the-qgv-point-mask.patch drm-i915-correctly-populate-use_sagv_wm-for-all-pipes.patch drm-i915-fix-bw-atomic-check-when-switching-between-sagv-vs.-no-sagv.patch diff --git a/queue-5.16/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch b/queue-5.16/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch deleted file mode 100644 index b295ca8c1d7..00000000000 --- a/queue-5.16/drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch +++ /dev/null @@ -1,78 +0,0 @@ -From c1a66c3bc425ff93774fb2f6eefa67b83170dd7e Mon Sep 17 00:00:00 2001 -From: Qiang Yu -Date: Mon, 21 Feb 2022 17:53:56 +0800 -Subject: drm/amdgpu: check vm ready by amdgpu_vm->evicting flag -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Qiang Yu - -commit c1a66c3bc425ff93774fb2f6eefa67b83170dd7e upstream. - -Workstation application ANSA/META v21.1.4 get this error dmesg when -running CI test suite provided by ANSA/META: -[drm:amdgpu_gem_va_ioctl [amdgpu]] *ERROR* Couldn't update BO_VA (-16) - -This is caused by: -1. create a 256MB buffer in invisible VRAM -2. CPU map the buffer and access it causes vm_fault and try to move - it to visible VRAM -3. force visible VRAM space and traverse all VRAM bos to check if - evicting this bo is valuable -4. when checking a VM bo (in invisible VRAM), amdgpu_vm_evictable() - will set amdgpu_vm->evicting, but latter due to not in visible - VRAM, won't really evict it so not add it to amdgpu_vm->evicted -5. before next CS to clear the amdgpu_vm->evicting, user VM ops - ioctl will pass amdgpu_vm_ready() (check amdgpu_vm->evicted) - but fail in amdgpu_vm_bo_update_mapping() (check - amdgpu_vm->evicting) and get this error log - -This error won't affect functionality as next CS will finish the -waiting VM ops. But we'd better clear the error log by checking -the amdgpu_vm->evicting flag in amdgpu_vm_ready() to stop calling -amdgpu_vm_bo_update_mapping() later. - -Another reason is amdgpu_vm->evicted list holds all BOs (both -user buffer and page table), but only page table BOs' eviction -prevent VM ops. amdgpu_vm->evicting flag is set only for page -table BOs, so we should use evicting flag instead of evicted list -in amdgpu_vm_ready(). - -The side effect of this change is: previously blocked VM op (user -buffer in "evicted" list but no page table in it) gets done -immediately. - -v2: update commit comments. - -Acked-by: Paul Menzel -Reviewed-by: Christian König -Signed-off-by: Qiang Yu -Signed-off-by: Alex Deucher -Cc: stable@vger.kernel.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -@@ -768,11 +768,16 @@ int amdgpu_vm_validate_pt_bos(struct amd - * Check if all VM PDs/PTs are ready for updates - * - * Returns: -- * True if eviction list is empty. -+ * True if VM is not evicting. - */ - bool amdgpu_vm_ready(struct amdgpu_vm *vm) - { -- return list_empty(&vm->evicted); -+ bool ret; -+ -+ amdgpu_vm_eviction_lock(vm); -+ ret = !vm->evicting; -+ amdgpu_vm_eviction_unlock(vm); -+ return ret; - } - - /** diff --git a/queue-5.16/series b/queue-5.16/series index f055a49b596..2bcf5da630b 100644 --- a/queue-5.16/series +++ b/queue-5.16/series @@ -19,7 +19,6 @@ drm-amd-pm-fix-some-oem-sku-specific-stability-issues.patch drm-amd-check-if-aspm-is-enabled-from-pcie-subsystem.patch drm-amdgpu-disable-mmhub-pg-for-picasso.patch drm-amdgpu-do-not-enable-asic-reset-for-raven2.patch -drm-amdgpu-check-vm-ready-by-amdgpu_vm-evicting-flag.patch drm-i915-widen-the-qgv-point-mask.patch drm-i915-disconnect-phys-left-connected-by-bios-on-disabled-ports.patch drm-i915-correctly-populate-use_sagv_wm-for-all-pipes.patch