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

S, Shirish sshankar at amd.com
Thu Sep 21 07:35:01 UTC 2017


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



More information about the amd-gfx mailing list