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
|
From 1ecbbe9b464e101ad8ad1fdb3e6f540ce84d89a2 Mon Sep 17 00:00:00 2001
From: Kevin Wang <Kevin1.Wang@amd.com>
Date: Tue, 9 Jan 2018 14:43:02 +0800
Subject: [PATCH 3129/4131] drm/amdkcl: [4.10] Fix kcl for drm_debugfs_crc
files
amdgpu_dm_crtc_set_crc_source()
amdgpu_dm_crtc_handle_crc_irq()
if drm version < 4.10, the kernel is not include drm_debugfs_crc.c
so it`s not support it.
Change-Id: I39649784c237a82fa506ba602967365f3421692a
Reviewed-by: Le.Ma <Le.Ma@amd.com>
Signed-off-by: Kevin Wang <Kevin1.Wang@amd.com>
---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 ++
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 8 +++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 5769160..b5e9d04 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2802,7 +2802,9 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
#endif
.atomic_duplicate_state = dm_crtc_duplicate_state,
.atomic_destroy_state = dm_crtc_destroy_state,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) || defined(OS_NAME_RHEL_7_4)
.set_crc_source = amdgpu_dm_crtc_set_crc_source,
+#endif
};
static enum drm_connector_status
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
index 5768103..d36d07f 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c
@@ -46,6 +46,7 @@ static enum amdgpu_dm_pipe_crc_source dm_parse_crc_source(const char *source)
return AMDGPU_DM_PIPE_CRC_SOURCE_INVALID;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) || defined(OS_NAME_RHEL_7_4)
int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name,
size_t *values_cnt)
{
@@ -107,7 +108,12 @@ void amdgpu_dm_crtc_handle_crc_irq(struct drm_crtc *crtc)
if (!dc_stream_get_crc(stream_state->ctx->dc, stream_state,
&crcs[0], &crcs[1], &crcs[2]))
return;
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
drm_crtc_add_crc_entry(crtc, true,
drm_crtc_accurate_vblank_count(crtc), crcs);
+#else
+ drm_crtc_add_crc_entry(crtc, true,
+ drm_accurate_vblank_count(crtc), crcs);
+#endif
}
+#endif
--
2.7.4
|