drm/amdgpu: move amdgpu_device_get_job_timeout_settings
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 4 Oct 2019 18:36:09 +0000 (13:36 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Oct 2019 20:10:20 +0000 (15:10 -0500)
It's only used in amdgpu_device.c and the naming also
reflects that.  Move it there.

Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

index 578cd81814a0c559f25fa5a7195ff4a78cd036ed..c82579c93265dcd4ff2609e922c27fbee1bd971a 100644 (file)
@@ -107,6 +107,8 @@ struct amdgpu_mgpu_info
        uint32_t                        num_apu;
 };
 
+#define AMDGPU_MAX_TIMEOUT_PARAM_LENTH 256
+
 /*
  * Modules parameters.
  */
@@ -123,6 +125,7 @@ extern int amdgpu_disp_priority;
 extern int amdgpu_hw_i2c;
 extern int amdgpu_pcie_gen2;
 extern int amdgpu_msi;
+extern char amdgpu_lockup_timeout[AMDGPU_MAX_TIMEOUT_PARAM_LENTH];
 extern int amdgpu_dpm;
 extern int amdgpu_fw_load_type;
 extern int amdgpu_aspm;
@@ -427,7 +430,6 @@ struct amdgpu_fpriv {
 };
 
 int amdgpu_file_to_fpriv(struct file *filp, struct amdgpu_fpriv **fpriv);
-int amdgpu_device_get_job_timeout_settings(struct amdgpu_device *adev);
 
 int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm,
                  unsigned size, struct amdgpu_ib *ib);
index 62955156653cbe8fd159e4dcea8c8b0d499aed72..f25275abf4081efc401861ba45f3acaa11d93827 100644 (file)
@@ -2564,6 +2564,70 @@ static void amdgpu_device_xgmi_reset_func(struct work_struct *__work)
                         adev->asic_reset_res, adev->ddev->unique);
 }
 
+static int amdgpu_device_get_job_timeout_settings(struct amdgpu_device *adev)
+{
+       char *input = amdgpu_lockup_timeout;
+       char *timeout_setting = NULL;
+       int index = 0;
+       long timeout;
+       int ret = 0;
+
+       /*
+        * By default timeout for non compute jobs is 10000.
+        * And there is no timeout enforced on compute jobs.
+        * In SR-IOV or passthrough mode, timeout for compute
+        * jobs are 10000 by default.
+        */
+       adev->gfx_timeout = msecs_to_jiffies(10000);
+       adev->sdma_timeout = adev->video_timeout = adev->gfx_timeout;
+       if (amdgpu_sriov_vf(adev) || amdgpu_passthrough(adev))
+               adev->compute_timeout = adev->gfx_timeout;
+       else
+               adev->compute_timeout = MAX_SCHEDULE_TIMEOUT;
+
+       if (strnlen(input, AMDGPU_MAX_TIMEOUT_PARAM_LENTH)) {
+               while ((timeout_setting = strsep(&input, ",")) &&
+                               strnlen(timeout_setting, AMDGPU_MAX_TIMEOUT_PARAM_LENTH)) {
+                       ret = kstrtol(timeout_setting, 0, &timeout);
+                       if (ret)
+                               return ret;
+
+                       if (timeout == 0) {
+                               index++;
+                               continue;
+                       } else if (timeout < 0) {
+                               timeout = MAX_SCHEDULE_TIMEOUT;
+                       } else {
+                               timeout = msecs_to_jiffies(timeout);
+                       }
+
+                       switch (index++) {
+                       case 0:
+                               adev->gfx_timeout = timeout;
+                               break;
+                       case 1:
+                               adev->compute_timeout = timeout;
+                               break;
+                       case 2:
+                               adev->sdma_timeout = timeout;
+                               break;
+                       case 3:
+                               adev->video_timeout = timeout;
+                               break;
+                       default:
+                               break;
+                       }
+               }
+               /*
+                * There is only one value specified and
+                * it should apply to all non-compute jobs.
+                */
+               if (index == 1)
+                       adev->sdma_timeout = adev->video_timeout = adev->gfx_timeout;
+       }
+
+       return ret;
+}
 
 /**
  * amdgpu_device_init - initialize the driver
index 2ef72309e5ab5c7a27df375ee4d118a938e24918..d43c46de780749dd2d3ae6b2bbfc20455ad2d962 100644 (file)
@@ -88,8 +88,6 @@
 #define KMS_DRIVER_MINOR       35
 #define KMS_DRIVER_PATCHLEVEL  0
 
-#define AMDGPU_MAX_TIMEOUT_PARAM_LENTH 256
-
 int amdgpu_vram_limit = 0;
 int amdgpu_vis_vram_limit = 0;
 int amdgpu_gart_size = -1; /* auto */
@@ -1293,71 +1291,6 @@ int amdgpu_file_to_fpriv(struct file *filp, struct amdgpu_fpriv **fpriv)
        return 0;
 }
 
-int amdgpu_device_get_job_timeout_settings(struct amdgpu_device *adev)
-{
-       char *input = amdgpu_lockup_timeout;
-       char *timeout_setting = NULL;
-       int index = 0;
-       long timeout;
-       int ret = 0;
-
-       /*
-        * By default timeout for non compute jobs is 10000.
-        * And there is no timeout enforced on compute jobs.
-        * In SR-IOV or passthrough mode, timeout for compute
-        * jobs are 10000 by default.
-        */
-       adev->gfx_timeout = msecs_to_jiffies(10000);
-       adev->sdma_timeout = adev->video_timeout = adev->gfx_timeout;
-       if (amdgpu_sriov_vf(adev) || amdgpu_passthrough(adev))
-               adev->compute_timeout = adev->gfx_timeout;
-       else
-               adev->compute_timeout = MAX_SCHEDULE_TIMEOUT;
-
-       if (strnlen(input, AMDGPU_MAX_TIMEOUT_PARAM_LENTH)) {
-               while ((timeout_setting = strsep(&input, ",")) &&
-                               strnlen(timeout_setting, AMDGPU_MAX_TIMEOUT_PARAM_LENTH)) {
-                       ret = kstrtol(timeout_setting, 0, &timeout);
-                       if (ret)
-                               return ret;
-
-                       if (timeout == 0) {
-                               index++;
-                               continue;
-                       } else if (timeout < 0) {
-                               timeout = MAX_SCHEDULE_TIMEOUT;
-                       } else {
-                               timeout = msecs_to_jiffies(timeout);
-                       }
-
-                       switch (index++) {
-                       case 0:
-                               adev->gfx_timeout = timeout;
-                               break;
-                       case 1:
-                               adev->compute_timeout = timeout;
-                               break;
-                       case 2:
-                               adev->sdma_timeout = timeout;
-                               break;
-                       case 3:
-                               adev->video_timeout = timeout;
-                               break;
-                       default:
-                               break;
-                       }
-               }
-               /*
-                * There is only one value specified and
-                * it should apply to all non-compute jobs.
-                */
-               if (index == 1)
-                       adev->sdma_timeout = adev->video_timeout = adev->gfx_timeout;
-       }
-
-       return ret;
-}
-
 static bool
 amdgpu_get_crtc_scanout_position(struct drm_device *dev, unsigned int pipe,
                                 bool in_vblank_irq, int *vpos, int *hpos,