diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1178-drm-amdkfd-fix-IH-always-printing-error-message-on-e.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1178-drm-amdkfd-fix-IH-always-printing-error-message-on-e.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1178-drm-amdkfd-fix-IH-always-printing-error-message-on-e.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/1178-drm-amdkfd-fix-IH-always-printing-error-message-on-e.patch new file mode 100644 index 00000000..29c28fd3 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/1178-drm-amdkfd-fix-IH-always-printing-error-message-on-e.patch @@ -0,0 +1,45 @@ +From 333c795e67ada07a4a376680a2281bbea53a6c6b Mon Sep 17 00:00:00 2001 +From: Andres Rodriguez <andres.rodriguez@amd.com> +Date: Thu, 25 Aug 2016 16:24:08 -0400 +Subject: [PATCH 1178/4131] drm/amdkfd: fix IH always printing error message on + exit + +dequeue_ih_ring_entry was always printing an error message when no +entries were found on the ring. This is a normal scenario that occurs +once the IH is done processing all entries in the ring. + +Change the code to only produce errors if the count is an actual +unexpected number, i.e. not 0 (empty ring) or ih_ring_entry_size (entry +found). + +Change-Id: If5fb392399e495a096695b7f827a33e42c21118e +Signed-off-by: Andres Rodriguez <andres.rodriguez@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c b/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c +index c939856..4d1639f 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c +@@ -129,14 +129,10 @@ static bool dequeue_ih_ring_entry(struct kfd_dev *kfd, void *ih_ring_entry) + + count = kfifo_out(&kfd->ih_fifo, ih_ring_entry, + kfd->device_info->ih_ring_entry_size); +- if (count != kfd->device_info->ih_ring_entry_size) { +- dev_err_ratelimited(kfd_chardev(), +- "IH dequeued unexpected number of entries %d\n", +- count); +- return false; +- } + +- return true; ++ WARN_ON(count && count != kfd->device_info->ih_ring_entry_size); ++ ++ return count == kfd->device_info->ih_ring_entry_size; + } + + static void interrupt_wq(struct work_struct *work) +-- +2.7.4 + |