From: Jordan Lazare <Jordan.Lazare@amd.com>
Date: Tue, 11 Apr 2017 11:40:18 -0400
Subject: drm/amd/display: Fix missing irq refactor causing potential i2c race
Git-commit: 209a885be018435a062403a08063672c9d77d8d1
Patch-mainline: v4.15-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
Signed-off-by: Jordan Lazare <Jordan.Lazare@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
@@ -32,8 +32,10 @@
#include <drm/drm_atomic.h>
#include <drm/drm_edid.h>
+
#include "amdgpu.h"
#include "amdgpu_pm.h"
+#include "dm_helpers.h"
#include "dm_services_types.h"
// We need to #undef FRAME_SIZE and DEPRECATED because they conflict
@@ -3075,13 +3077,16 @@ static bool is_dp_capable_without_timing
{
uint8_t dpcd_data;
bool capable = false;
+
if (amdgpu_connector->dc_link &&
- dc_read_aux_dpcd(
- dc,
- amdgpu_connector->dc_link->link_index,
- DP_DOWN_STREAM_PORT_COUNT,
- &dpcd_data, sizeof(dpcd_data)))
+ dm_helpers_dp_read_dpcd(
+ NULL,
+ amdgpu_connector->dc_link,
+ DP_DOWN_STREAM_PORT_COUNT,
+ &dpcd_data,
+ sizeof(dpcd_data))) {
capable = (dpcd_data & DP_MSA_TIMING_PAR_IGNORED) ? true:false;
+ }
return capable;
}