aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4249-Revert-drm-amdgpu-defer-test-IBs-on-the-rings-at-boo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4249-Revert-drm-amdgpu-defer-test-IBs-on-the-rings-at-boo.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4249-Revert-drm-amdgpu-defer-test-IBs-on-the-rings-at-boo.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4249-Revert-drm-amdgpu-defer-test-IBs-on-the-rings-at-boo.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4249-Revert-drm-amdgpu-defer-test-IBs-on-the-rings-at-boo.patch
new file mode 100644
index 00000000..11225c16
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4249-Revert-drm-amdgpu-defer-test-IBs-on-the-rings-at-boo.patch
@@ -0,0 +1,78 @@
+From e8a38c7525b9f8e7f8b9951c3b9f9c8d2cad2194 Mon Sep 17 00:00:00 2001
+From: Kevin Wang <Kevin1.Wang@amd.com>
+Date: Wed, 25 Apr 2018 14:18:08 +0800
+Subject: [PATCH 4249/5725] Revert "drm/amdgpu: defer test IBs on the rings at
+ boot (V3)"
+
+This reverts commit 2e05f86270834085e052a2de0cf968fdcaef80ba.
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 +++++++++++------
+ drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 3 ---
+ 2 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+index 6b221cc5..a23b1ec 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -1752,10 +1752,6 @@ static int amdgpu_device_ip_late_set_cg_state(struct amdgpu_device *adev)
+ if (amdgpu_emu_mode == 1)
+ return 0;
+
+- r = amdgpu_ib_ring_tests(adev);
+- if (r)
+- DRM_ERROR("ib ring test failed (%d).\n", r);
+-
+ for (i = 0; i < adev->num_ip_blocks; i++) {
+ if (!adev->ip_blocks[i].status.valid)
+ continue;
+@@ -1818,8 +1814,8 @@ static int amdgpu_device_ip_late_init(struct amdgpu_device *adev)
+ }
+ }
+
+- queue_delayed_work(system_wq, &adev->late_init_work,
+- msecs_to_jiffies(AMDGPU_RESUME_MS));
++ mod_delayed_work(system_wq, &adev->late_init_work,
++ msecs_to_jiffies(AMDGPU_RESUME_MS));
+
+ amdgpu_device_fill_reset_magic(adev);
+
+@@ -2491,6 +2487,10 @@ int amdgpu_device_init(struct amdgpu_device *adev,
+ goto failed;
+ }
+
++ r = amdgpu_ib_ring_tests(adev);
++ if (r)
++ DRM_ERROR("ib ring test failed (%d).\n", r);
++
+ if (amdgpu_sriov_vf(adev))
+ amdgpu_virt_init_data_exchange(adev);
+
+@@ -2756,6 +2756,11 @@ int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon)
+
+ amdgpu_fence_driver_resume(adev);
+
++ if (resume) {
++ r = amdgpu_ib_ring_tests(adev);
++ if (r)
++ DRM_ERROR("ib ring test failed (%d).\n", r);
++ }
+
+ r = amdgpu_device_ip_late_init(adev);
+ if (r)
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+index 73c2f7a..ba812da 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+@@ -289,9 +289,6 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
+ if (!info->return_size || !info->return_pointer)
+ return -EINVAL;
+
+- /* Ensure IB tests are run on ring */
+- flush_delayed_work(&adev->late_init_work);
+-
+ switch (info->query) {
+ case AMDGPU_INFO_VIRTUAL_RANGE: {
+ struct drm_amdgpu_virtual_range range_info;
+--
+2.7.4
+