[PATCH 1/4] drm/amdgpu: add param soft_reset_enable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



add parameter soft_reset_enable to control the enablement of
soft reset

Signed-off-by: Victor Zhao <Victor.Zhao@xxxxxxx>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h     | 1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 9 +++++++++
 drivers/gpu/drm/amd/amdgpu/nv.c         | 5 ++++-
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 1f3c4521d348..22b846c359b4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -238,6 +238,7 @@ extern int amdgpu_si_support;
 extern int amdgpu_cik_support;
 #endif
 extern int amdgpu_num_kcq;
+extern int amdgpu_soft_reset_enable;
 
 #define AMDGPU_VM_MAX_NUM_CTX			4096
 #define AMDGPU_SG_THRESHOLD			(256*1024*1024)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index b3fc5ae5fe6e..09daff7727b1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -201,6 +201,7 @@ struct amdgpu_watchdog_timer amdgpu_watchdog_timer = {
 	.timeout_fatal_disable = false,
 	.period = 0x0, /* default to 0x0 (timeout disable) */
 };
+int amdgpu_soft_reset_enable = -1;
 
 /**
  * DOC: vramlimit (int)
@@ -931,6 +932,14 @@ MODULE_PARM_DESC(smu_pptable_id,
 	"specify pptable id to be used (-1 = auto(default) value, 0 = use pptable from vbios, > 0 = soft pptable id)");
 module_param_named(smu_pptable_id, amdgpu_smu_pptable_id, int, 0444);
 
+/**
+ * DOC: soft_reset (int)
+ * Used to enable grbm soft reset
+ */
+MODULE_PARM_DESC(soft_reset_enable,
+	"enable soft reset (-1 = auto(default) value, 0 = disable, > 0 = enable)");
+module_param_named(soft_reset_enable, amdgpu_soft_reset_enable, int, 0444);
+
 /* These devices are not supported by amdgpu.
  * They are supported by the mach64, r128, radeon drivers
  */
diff --git a/drivers/gpu/drm/amd/amdgpu/nv.c b/drivers/gpu/drm/amd/amdgpu/nv.c
index 59eafa31c626..fe9b9d896dc1 100644
--- a/drivers/gpu/drm/amd/amdgpu/nv.c
+++ b/drivers/gpu/drm/amd/amdgpu/nv.c
@@ -620,7 +620,10 @@ static uint32_t nv_get_rev_id(struct amdgpu_device *adev)
 
 static bool nv_need_full_reset(struct amdgpu_device *adev)
 {
-	return true;
+	if (amdgpu_soft_reset_enable <= 0)
+		return true;
+	else
+		return false;
 }
 
 static bool nv_need_reset_on_init(struct amdgpu_device *adev)
-- 
2.25.1




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux