From: Shirish S <shiris...@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 <shiris...@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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx