From: Felix Kuehling Date: Fri, 18 Feb 2022 22:20:53 +0000 (-0500) Subject: drm/amdkfd: Use real device for messages X-Git-Tag: v6.6.17~7904^2~15^2~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0c5fd46b2510cb054bd4e1fa6c2f207424c97e5;p=platform%2Fkernel%2Flinux-rpi.git drm/amdkfd: Use real device for messages kfd_chardev() doesn't provide much useful information in dev_... messages on multi-GPU systems because there is only one KFD device, which doesn't correspond to any particular GPU. Use the actual GPU device to indicate the GPU that caused a message. Signed-off-by: Felix Kuehling Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c index 7affec9..ceeb0d5 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c @@ -104,11 +104,6 @@ void kfd_chardev_exit(void) kfd_device = NULL; } -struct device *kfd_chardev(void) -{ - return kfd_device; -} - static int kfd_open(struct inode *inode, struct file *filep) { diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c b/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c index 7041a67..9178cfe3 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c @@ -58,14 +58,14 @@ int kfd_interrupt_init(struct kfd_dev *kfd) KFD_IH_NUM_ENTRIES * kfd->device_info.ih_ring_entry_size, GFP_KERNEL); if (r) { - dev_err(kfd_chardev(), "Failed to allocate IH fifo\n"); + dev_err(kfd->adev->dev, "Failed to allocate IH fifo\n"); return r; } kfd->ih_wq = alloc_workqueue("KFD IH", WQ_HIGHPRI, 1); if (unlikely(!kfd->ih_wq)) { kfifo_free(&kfd->ih_fifo); - dev_err(kfd_chardev(), "Failed to allocate KFD IH workqueue\n"); + dev_err(kfd->adev->dev, "Failed to allocate KFD IH workqueue\n"); return -ENOMEM; } spin_lock_init(&kfd->interrupt_lock); @@ -117,7 +117,7 @@ bool enqueue_ih_ring_entry(struct kfd_dev *kfd, const void *ih_ring_entry) count = kfifo_in(&kfd->ih_fifo, ih_ring_entry, kfd->device_info.ih_ring_entry_size); if (count != kfd->device_info.ih_ring_entry_size) { - dev_dbg_ratelimited(kfd_chardev(), + dev_dbg_ratelimited(kfd->adev->dev, "Interrupt ring overflow, dropping interrupt %d\n", count); return false; @@ -148,7 +148,7 @@ static void interrupt_wq(struct work_struct *work) uint32_t ih_ring_entry[KFD_MAX_RING_ENTRY_SIZE]; if (dev->device_info.ih_ring_entry_size > sizeof(ih_ring_entry)) { - dev_err_once(kfd_chardev(), "Ring entry too small\n"); + dev_err_once(dev->adev->dev, "Ring entry too small\n"); return; } diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h index 783d53a..f36062b 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -355,7 +355,6 @@ enum kfd_mempool { /* Character device interface */ int kfd_chardev_init(void); void kfd_chardev_exit(void); -struct device *kfd_chardev(void); /** * enum kfd_unmap_queues_filter - Enum for queue filters.