aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/1198-drm-amdkfd-Use-software-scheduler-on-Tonga-ASIC.patch
blob: bff3e922ebb7b986ded115bb1cbfc19b107d5ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 048928c678b34792e07cfa4c0917eca3338fd9e8 Mon Sep 17 00:00:00 2001
From: Jay Cornwall <Jay.Cornwall@amd.com>
Date: Thu, 6 Oct 2016 20:10:12 -0500
Subject: [PATCH 1198/4131] drm/amdkfd: Use software scheduler on Tonga ASIC

The CP scheduling path depends on the context save/restore feature for
timely runlist dequeue. Tonga ASICs do not support this feature.

Instead use the software scheduling path on Tonga. This does not
support HQD/VMID oversubscription or SR-IOV virtualization but is
otherwise equal in functionality.

Signed-off-by: Jay Cornwall <Jay.Cornwall@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index d77c1ad..3bc831f 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -1483,8 +1483,15 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev)
 	if (!dqm)
 		return NULL;
 
-	dqm->sched_policy = (dev->device_info->asic_family == CHIP_HAWAII) ?
-		KFD_SCHED_POLICY_NO_HWS : sched_policy;
+	switch (dev->device_info->asic_family) {
+	case CHIP_HAWAII:
+	case CHIP_TONGA:
+		dqm->sched_policy = KFD_SCHED_POLICY_NO_HWS;
+		break;
+	default:
+		dqm->sched_policy = sched_policy;
+		break;
+	}
 
 	dqm->dev = dev;
 	switch (dqm->sched_policy) {
-- 
2.7.4