aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0788-drm-amd-amdgpu-Remove-has_dal_support-macro.patch
blob: 1fe04c2aa79a58cbf2003f5e9b021a1012acb10c (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
From 075f787e0d3d05055da45f1905605e6d3f4b4a72 Mon Sep 17 00:00:00 2001
From: Harry Wentland <harry.wentland@amd.com>
Date: Tue, 27 Sep 2016 14:29:21 +0530
Subject: [PATCH] drm/amd/amdgpu: Remove has_dal_support macro

Moving this into the amdgpu_device_has_dal_support function

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  2 --
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 14 +++++++-------
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    |  4 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c    |  2 +-
 4 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 66e91c5..2308eea 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -2331,8 +2331,6 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
 
 #define amdgpu_gds_switch(adev, r, v, d, w, a) (adev)->gds.funcs->patch_gds_switch((r), (v), (d), (w), (a))
 
-#define amdgpu_has_dal_support(adev) (amdgpu_dal && amdgpu_device_has_dal_support(adev))
-
 /* Common functions */
 int amdgpu_gpu_reset(struct amdgpu_device *adev);
 void amdgpu_pci_config_reset(struct amdgpu_device *adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index e523c74..dfb7500 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1391,12 +1391,12 @@ bool amdgpu_device_has_dal_support(struct amdgpu_device *adev)
 	switch(adev->asic_type) {
 #if defined(CONFIG_DRM_AMD_DAL) && defined(CONFIG_DRM_AMD_DAL_DCE11_0)
 	case CHIP_CARRIZO:
-		return true;
+		return amdgpu_dal != 0;
 #endif
 #if defined(CONFIG_DRM_AMD_DAL) && defined(CONFIG_DRM_AMD_DAL_DCE10_0)
 	case CHIP_TONGA:
 	case CHIP_FIJI:
-		return true;
+		return amdgpu_dal != 0;
 #endif
 	default:
 		return false;
@@ -1557,7 +1557,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 	}
 
 	/* init i2c buses */
-	if (!amdgpu_has_dal_support(adev))
+	if (!amdgpu_device_has_dal_support(adev))
 		amdgpu_atombios_i2c_init(adev);
 
 	/* Fence driver */
@@ -1658,7 +1658,7 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
 	adev->ip_block_status = NULL;
 	adev->accel_working = false;
 	/* free i2c buses */
-	if (!amdgpu_has_dal_support(adev))
+	if (!amdgpu_device_has_dal_support(adev))
 		amdgpu_i2c_fini(adev);
 	amdgpu_atombios_fini(adev);
 	kfree(adev->bios);
@@ -1707,7 +1707,7 @@ int amdgpu_suspend_kms(struct drm_device *dev, bool suspend, bool fbcon)
 
 	drm_kms_helper_poll_disable(dev);
 
-	if (!amdgpu_has_dal_support(adev)) {
+	if (!amdgpu_device_has_dal_support(adev)) {
 		/* turn off display hw */
 		drm_modeset_lock_all(dev);
 		list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
@@ -1844,7 +1844,7 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
 
 	/* blat the mode back in */
 	if (fbcon) {
-		if (!amdgpu_has_dal_support(adev)) {
+		if (!amdgpu_device_has_dal_support(adev)) {
 			/* pre DCE11 */
 			drm_helper_resume_force_mode(dev);
 
@@ -1872,7 +1872,7 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
 	dev->dev->power.disable_depth++;
 #endif
 
-	if (!amdgpu_has_dal_support(adev))
+	if (!amdgpu_device_has_dal_support(adev))
 		drm_helper_hpd_irq_event(dev);
 	else
 		drm_kms_helper_hotplug_event(dev);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 97e5b69..3dc354b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -77,7 +77,7 @@ int amdgpu_vm_block_size = -1;
 int amdgpu_vm_fault_stop = 0;
 int amdgpu_vm_debug = 0;
 int amdgpu_exp_hw_support = 0;
-int amdgpu_dal = 1;
+int amdgpu_dal = -1;
 int amdgpu_sched_jobs = 32;
 int amdgpu_sched_hw_submission = 2;
 int amdgpu_powerplay = -1;
@@ -150,7 +150,7 @@ module_param_named(vm_debug, amdgpu_vm_debug, int, 0644);
 MODULE_PARM_DESC(exp_hw_support, "experimental hw support (1 = enable, 0 = disable (default))");
 module_param_named(exp_hw_support, amdgpu_exp_hw_support, int, 0444);
 
-MODULE_PARM_DESC(dal, "DAL display driver (1 = enable (default), 0 = disable)");
+MODULE_PARM_DESC(dal, "DAL display driver (1 = enable, 0 = disable, -1 = auto (default))");
 module_param_named(dal, amdgpu_dal, int, 0444);
 
 MODULE_PARM_DESC(sched_jobs, "the max number of jobs supported in the sw queue (default 32)");
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 7ad2aed..8d34ccd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -231,7 +231,7 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
 		}
 	}
 
-	if (!amdgpu_has_dal_support(adev)) {
+	if (!amdgpu_device_has_dal_support(adev)) {
 		r = drm_vblank_init(adev->ddev, adev->mode_info.num_crtc);
 		if (r)
 			return r;
-- 
2.7.4