[PATCH] drm/amdgpu: protect chash related code under macro

Kuehling, Felix Felix.Kuehling at amd.com
Fri Sep 22 14:05:48 UTC 2017


This should not be needed, because in Kconfig I made amdgpu depend on CONFIG_CHASH.

Regards,
  Felix
________________________________________
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of S, Shirish <sshankar at amd.com>
Sent: Thursday, September 21, 2017 3:35:01 AM
To: amd-gfx at lists.freedesktop.org; Deucher, Alexander
Subject: [PATCH] drm/amdgpu: protect chash related code under macro

From: Shirish S <shirish.s at amd.com>

The chash library is built only if CONFIG_CHASH
is enabled, however there is code in amdgpu_ih.c
which results in link error as it is not under
appropriate macro.
This patch brings chash related code in amdgpu_ih.c
under CONFIG_CHASH.

Signed-off-by: Shirish S <shirish.s at amd.com>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 9 ++++++---
  1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
index f5f27e4..776c9c5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
@@ -231,14 +231,14 @@ int amdgpu_ih_add_fault(struct amdgpu_device *adev, u64 key)
        /* Only let the hash table fill up to 50% for best performance */
        if (adev->irq.ih.faults->count >= (1 << (AMDGPU_PAGEFAULT_HASH_BITS-1)))
                goto unlock_out;
-
+#ifdef CONFIG_CHASH
        r = chash_table_copy_in(&adev->irq.ih.faults->hash, key, NULL);
        if (!r)
                adev->irq.ih.faults->count++;

        /* chash_table_copy_in should never fail unless we're losing count */
        WARN_ON_ONCE(r < 0);
-
+#endif
  unlock_out:
        spin_unlock_irqrestore(&adev->irq.ih.faults->lock, flags);
        return r;
@@ -256,12 +256,14 @@ int amdgpu_ih_add_fault(struct amdgpu_device *adev, u64 key)
   */
  void amdgpu_ih_clear_fault(struct amdgpu_device *adev, u64 key)
  {
+#ifdef CONFIG_CHASH
        unsigned long flags;
        int r;
-
+#endif
        if (!adev->irq.ih.faults)
                return;

+#ifdef CONFIG_CHASH
        spin_lock_irqsave(&adev->irq.ih.faults->lock, flags);

        r = chash_table_remove(&adev->irq.ih.faults->hash, key, NULL);
@@ -271,4 +273,5 @@ void amdgpu_ih_clear_fault(struct amdgpu_device *adev, u64 key)
        }

        spin_unlock_irqrestore(&adev->irq.ih.faults->lock, flags);
+#endif
  }
--
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list