mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 16:23:59 -04:00
drm/amdgpu: enable separate timeout setting for every ring type V4
Every ring type can have its own timeout setting. - V2: update lockup_timeout parameter format and cosmetic fixes - V3: invalidate 0 and negative values - V4: update lockup_timeout parameter format Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -910,8 +910,10 @@ def_value:
|
||||
* Validates certain module parameters and updates
|
||||
* the associated values used by the driver (all asics).
|
||||
*/
|
||||
static void amdgpu_device_check_arguments(struct amdgpu_device *adev)
|
||||
static int amdgpu_device_check_arguments(struct amdgpu_device *adev)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (amdgpu_sched_jobs < 4) {
|
||||
dev_warn(adev->dev, "sched jobs (%d) must be at least 4\n",
|
||||
amdgpu_sched_jobs);
|
||||
@@ -956,12 +958,15 @@ static void amdgpu_device_check_arguments(struct amdgpu_device *adev)
|
||||
amdgpu_vram_page_split = 1024;
|
||||
}
|
||||
|
||||
if (amdgpu_lockup_timeout == 0) {
|
||||
dev_warn(adev->dev, "lockup_timeout msut be > 0, adjusting to 10000\n");
|
||||
amdgpu_lockup_timeout = 10000;
|
||||
ret = amdgpu_device_get_job_timeout_settings(adev);
|
||||
if (ret) {
|
||||
dev_err(adev->dev, "invalid lockup_timeout parameter syntax\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
adev->firmware.load_type = amdgpu_ucode_get_load_type(adev, amdgpu_fw_load_type);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2473,7 +2478,9 @@ int amdgpu_device_init(struct amdgpu_device *adev,
|
||||
mutex_init(&adev->lock_reset);
|
||||
mutex_init(&adev->virt.dpm_mutex);
|
||||
|
||||
amdgpu_device_check_arguments(adev);
|
||||
r = amdgpu_device_check_arguments(adev);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
spin_lock_init(&adev->mmio_idx_lock);
|
||||
spin_lock_init(&adev->smc_idx_lock);
|
||||
|
||||
Reference in New Issue
Block a user