diff options
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4538-drm-amd-display-Read-DP_SINK_COUNT_ESI-range-on-HPD-.patch')
-rw-r--r-- | meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4538-drm-amd-display-Read-DP_SINK_COUNT_ESI-range-on-HPD-.patch | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4538-drm-amd-display-Read-DP_SINK_COUNT_ESI-range-on-HPD-.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4538-drm-amd-display-Read-DP_SINK_COUNT_ESI-range-on-HPD-.patch deleted file mode 100644 index c8e1defc..00000000 --- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4538-drm-amd-display-Read-DP_SINK_COUNT_ESI-range-on-HPD-.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 10b0f3a5fb46eb514cfe7391024fb01ff48c31d3 Mon Sep 17 00:00:00 2001 -From: Nikola Cornij <nikola.cornij@amd.com> -Date: Wed, 9 May 2018 13:11:35 -0400 -Subject: [PATCH 4538/5725] drm/amd/display: Read DP_SINK_COUNT_ESI range on - HPD for DP 1.4 - -DP 1.4 compliance now requires that registers at DP_SINK_COUNT_ESI range -(0x2002-0x2003, 0x200c-0x200f) are read instead of DP_SINK_COUNT range -(0x200-0x2005. - -Signed-off-by: Nikola Cornij <nikola.cornij@amd.com> -Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> -Acked-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Kalyan Alle <kalyan.alle@amd.com> ---- - drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 35 ++++++++++++++++++++---- - include/drm/drm_dp_helper.h | 5 ++++ - 2 files changed, 35 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c -index 0acc14f..9b66634 100644 ---- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c -+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c -@@ -1630,17 +1630,42 @@ static enum dc_status read_hpd_rx_irq_data( - struct dc_link *link, - union hpd_irq_data *irq_data) - { -+ static enum dc_status retval; -+ - /* The HW reads 16 bytes from 200h on HPD, - * but if we get an AUX_DEFER, the HW cannot retry - * and this causes the CTS tests 4.3.2.1 - 3.2.4 to - * fail, so we now explicitly read 6 bytes which is - * the req from the above mentioned test cases. -+ * -+ * For DP 1.4 we need to read those from 2002h range. - */ -- return core_link_read_dpcd( -- link, -- DP_SINK_COUNT, -- irq_data->raw, -- sizeof(union hpd_irq_data)); -+ if (link->dpcd_caps.dpcd_rev.raw < DPCD_REV_14) -+ retval = core_link_read_dpcd( -+ link, -+ DP_SINK_COUNT, -+ irq_data->raw, -+ sizeof(union hpd_irq_data)); -+ else { -+ /* Read 2 bytes at this location,... */ -+ retval = core_link_read_dpcd( -+ link, -+ DP_SINK_COUNT_ESI, -+ irq_data->raw, -+ 2); -+ -+ if (retval != DC_OK) -+ return retval; -+ -+ /* ... then read remaining 4 at the other location */ -+ retval = core_link_read_dpcd( -+ link, -+ DP_LANE0_1_STATUS_ESI, -+ &irq_data->raw[2], -+ 4); -+ } -+ -+ return retval; - } - - static bool allow_hpd_rx_irq(const struct dc_link *link) -diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h -index 9a84c32..fb0db0f 100644 ---- a/include/drm/drm_dp_helper.h -+++ b/include/drm/drm_dp_helper.h -@@ -756,6 +756,11 @@ - #define DP_RECEIVER_ALPM_STATUS 0x200b /* eDP 1.4 */ - # define DP_ALPM_LOCK_TIMEOUT_ERROR (1 << 0) - -+#define DP_LANE0_1_STATUS_ESI 0x200c /* status same as 0x202 */ -+#define DP_LANE2_3_STATUS_ESI 0x200d /* status same as 0x203 */ -+#define DP_LANE_ALIGN_STATUS_UPDATED_ESI 0x200e /* status same as 0x204 */ -+#define DP_SINK_STATUS_ESI 0x200f /* status same as 0x205 */ -+ - #define DP_DP13_DPCD_REV 0x2200 - #define DP_DP13_MAX_LINK_RATE 0x2201 - --- -2.7.4 - |