diff options
-rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_drv.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_ring.c | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index b8d4d947c347..0784e4d57d28 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
@@ -94,6 +94,7 @@ extern int radeon_disp_priority; | |||
94 | extern int radeon_hw_i2c; | 94 | extern int radeon_hw_i2c; |
95 | extern int radeon_pcie_gen2; | 95 | extern int radeon_pcie_gen2; |
96 | extern int radeon_msi; | 96 | extern int radeon_msi; |
97 | extern int radeon_lockup_timeout; | ||
97 | 98 | ||
98 | /* | 99 | /* |
99 | * Copy from radeon_drv.h so we don't have to include both and have conflicting | 100 | * Copy from radeon_drv.h so we don't have to include both and have conflicting |
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index ef7bb3f6ecae..e62e56a57ee4 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c | |||
@@ -128,6 +128,7 @@ int radeon_disp_priority = 0; | |||
128 | int radeon_hw_i2c = 0; | 128 | int radeon_hw_i2c = 0; |
129 | int radeon_pcie_gen2 = 0; | 129 | int radeon_pcie_gen2 = 0; |
130 | int radeon_msi = -1; | 130 | int radeon_msi = -1; |
131 | int radeon_lockup_timeout = 10000; | ||
131 | 132 | ||
132 | MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); | 133 | MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); |
133 | module_param_named(no_wb, radeon_no_wb, int, 0444); | 134 | module_param_named(no_wb, radeon_no_wb, int, 0444); |
@@ -177,6 +178,9 @@ module_param_named(pcie_gen2, radeon_pcie_gen2, int, 0444); | |||
177 | MODULE_PARM_DESC(msi, "MSI support (1 = enable, 0 = disable, -1 = auto)"); | 178 | MODULE_PARM_DESC(msi, "MSI support (1 = enable, 0 = disable, -1 = auto)"); |
178 | module_param_named(msi, radeon_msi, int, 0444); | 179 | module_param_named(msi, radeon_msi, int, 0444); |
179 | 180 | ||
181 | MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (defaul 10000 = 10 seconds, 0 = disable)"); | ||
182 | module_param_named(lockup_timeout, radeon_lockup_timeout, int, 0444); | ||
183 | |||
180 | static int radeon_suspend(struct drm_device *dev, pm_message_t state) | 184 | static int radeon_suspend(struct drm_device *dev, pm_message_t state) |
181 | { | 185 | { |
182 | drm_radeon_private_t *dev_priv = dev->dev_private; | 186 | drm_radeon_private_t *dev_priv = dev->dev_private; |
diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c index 203ec1f6bbb9..08e1578f55f8 100644 --- a/drivers/gpu/drm/radeon/radeon_ring.c +++ b/drivers/gpu/drm/radeon/radeon_ring.c | |||
@@ -441,7 +441,7 @@ bool radeon_ring_test_lockup(struct radeon_device *rdev, struct radeon_ring *rin | |||
441 | return false; | 441 | return false; |
442 | } | 442 | } |
443 | elapsed = jiffies_to_msecs(cjiffies - ring->last_activity); | 443 | elapsed = jiffies_to_msecs(cjiffies - ring->last_activity); |
444 | if (elapsed >= 10000) { | 444 | if (radeon_lockup_timeout && elapsed >= radeon_lockup_timeout) { |
445 | dev_err(rdev->dev, "GPU lockup CP stall for more than %lumsec\n", elapsed); | 445 | dev_err(rdev->dev, "GPU lockup CP stall for more than %lumsec\n", elapsed); |
446 | return true; | 446 | return true; |
447 | } | 447 | } |