All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdgpu: Fix mutex lock from atomic context.
@ 2019-09-10 19:41 Andrey Grodzovsky
       [not found] ` <1568144487-27802-1-git-send-email-andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Andrey Grodzovsky @ 2019-09-10 19:41 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Alexander.Deucher-5C7GfCeVMHo, Andrey Grodzovsky,
	Tao.Zhou1-5C7GfCeVMHo, Guchun.Chen-5C7GfCeVMHo

Problem:
amdgpu_ras_reserve_bad_pages was moved to amdgpu_ras_reset_gpu
because writing to EEPROM during ASIC reset was unstable.
But for ERREVENT_ATHUB_INTERRUPT amdgpu_ras_reset_gpu is called
directly from ISR context and so locking is not allowed. Also it's
irrelevant for this partilcular interrupt as this is generic RAS
interrupt and not memory errors specific.

Fix:
Avoid calling amdgpu_ras_reserve_bad_pages if not in task context.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
index 012034d..dd5da3c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
@@ -504,7 +504,9 @@ static inline int amdgpu_ras_reset_gpu(struct amdgpu_device *adev,
 	/* save bad page to eeprom before gpu reset,
 	 * i2c may be unstable in gpu reset
 	 */
-	amdgpu_ras_reserve_bad_pages(adev);
+	if (in_task())
+		amdgpu_ras_reserve_bad_pages(adev);
+
 	if (atomic_cmpxchg(&ras->in_recovery, 0, 1) == 0)
 		schedule_work(&ras->recovery_work);
 	return 0;
-- 
2.7.4

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

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-09-12 15:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-10 19:41 [PATCH] drm/amdgpu: Fix mutex lock from atomic context Andrey Grodzovsky
     [not found] ` <1568144487-27802-1-git-send-email-andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org>
2019-09-11  3:08   ` Zhou1, Tao
     [not found]     ` <MN2PR12MB3054A0B4D399377417213B76B0B10-rweVpJHSKTqnT25eLM+iUQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-09-11 14:19       ` Grodzovsky, Andrey
     [not found]         ` <d35cc3f6-ff46-175e-3a92-5f7948f97bef-5C7GfCeVMHo@public.gmane.org>
2019-09-11 14:41           ` Grodzovsky, Andrey
     [not found]             ` <603add77-1476-ebc8-69f9-2cf88a788a6b-5C7GfCeVMHo@public.gmane.org>
2019-09-12  1:53               ` Chen, Guchun
     [not found]                 ` <SN6PR12MB2813F0DFFE8EC027AAF6D6DAF1B00-kxOKjb6HO/Hw8A9fYknAbAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-09-12  2:32                   ` Grodzovsky, Andrey
     [not found]                     ` <MWHPR12MB14533B06E13B86E54520E991EAB00-Gy0DoCVfaSWZBIDmKHdw+wdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-09-12 11:35                       ` Zhou1, Tao
     [not found]                         ` <MN2PR12MB3054CE8F6F6097847B188457B0B00-rweVpJHSKTqnT25eLM+iUQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-09-12 14:09                           ` Grodzovsky, Andrey
     [not found]                             ` <1caeca1e-40e7-9b59-37f9-47704903655f-5C7GfCeVMHo@public.gmane.org>
2019-09-12 15:15                               ` Christian König
     [not found]                                 ` <91382817-97b0-9ca5-24c6-e7880c4bdb55-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-09-12 15:19                                   ` Grodzovsky, Andrey
2019-09-11  6:54   ` Chen, Guchun

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.