aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3449-dynamically-adding-GPIO-may-cause-amdgpu-driver-crac.patch
blob: a239b7b670b8f80475294a608f929ca375887163 (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
From f41341160cb4faa33fd3a63c5bb8ed9dcbe2ab56 Mon Sep 17 00:00:00 2001
From: chaudhary amit <chaudhary@yocto-build.amd.com>
Date: Mon, 21 May 2018 14:59:33 +0530
Subject: [PATCH 3449/4131] dynamically adding GPIO may cause amdgpu driver
 crach fix

---
 drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c    | 2 +-
 drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c b/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c
index 1d1efd7..85205e5 100644
--- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c
@@ -61,7 +61,7 @@ enum gpio_result dal_gpio_open_ex(
 	enum gpio_mode mode)
 {
 	if (gpio->pin) {
-		ASSERT_CRITICAL(false);
+		printk(KERN_ERR "Already opened GPIO");
 		return GPIO_RESULT_ALREADY_OPENED;
 	}
 
diff --git a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
index 80038e0..faa7979 100644
--- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
@@ -483,14 +483,14 @@ enum gpio_result dal_ddc_open(
 
 	result = dal_gpio_open_ex(ddc->pin_data, mode);
 
-	if (result != GPIO_RESULT_OK) {
+	if (result != GPIO_RESULT_OK && result != GPIO_RESULT_ALREADY_OPENED) {
 		BREAK_TO_DEBUGGER();
 		return result;
 	}
 
 	result = dal_gpio_open_ex(ddc->pin_clock, mode);
 
-	if (result != GPIO_RESULT_OK) {
+	if (result != GPIO_RESULT_OK && result != GPIO_RESULT_ALREADY_OPENED) {
 		BREAK_TO_DEBUGGER();
 		goto failure;
 	}
-- 
2.7.4