aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4891-Revert-drm-amd-display-make-dm_dp_aux_transfer-retur.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4891-Revert-drm-amd-display-make-dm_dp_aux_transfer-retur.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4891-Revert-drm-amd-display-make-dm_dp_aux_transfer-retur.patch156
1 files changed, 0 insertions, 156 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4891-Revert-drm-amd-display-make-dm_dp_aux_transfer-retur.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4891-Revert-drm-amd-display-make-dm_dp_aux_transfer-retur.patch
deleted file mode 100644
index ff00801f..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4891-Revert-drm-amd-display-make-dm_dp_aux_transfer-retur.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From 2ea2173581cf00e775a13a61b70a4dc2bcb650c8 Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Fri, 6 Jul 2018 10:54:33 -0400
-Subject: [PATCH 4891/5725] Revert "drm/amd/display: make dm_dp_aux_transfer
- return payload bytes instead of size"
-
-This reverts commit cc195141133ac3e767d930bedd8294ceebf1f10b.
-
-This commit was problematic on other OSes. The real solution is to
-leave all the error checking to DRM and don't do it in DC, which is
-addressed by "Return aux replies directly to DRM" later in this patchset.
-
-v2: Add reason for revert.
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 9 ++++-----
- drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 7 +++----
- drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c | 15 +++++++++++++--
- drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c | 1 -
- drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h | 2 +-
- 5 files changed, 21 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
-index e3110d6..d48a37a 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
-@@ -82,21 +82,20 @@ static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
- enum i2c_mot_mode mot = (msg->request & DP_AUX_I2C_MOT) ?
- I2C_MOT_TRUE : I2C_MOT_FALSE;
- enum ddc_result res;
-- ssize_t read_bytes;
-
- if (WARN_ON(msg->size > 16))
- return -E2BIG;
-
- switch (msg->request & ~DP_AUX_I2C_MOT) {
- case DP_AUX_NATIVE_READ:
-- read_bytes = dal_ddc_service_read_dpcd_data(
-+ res = dal_ddc_service_read_dpcd_data(
- TO_DM_AUX(aux)->ddc_service,
- false,
- I2C_MOT_UNDEF,
- msg->address,
- msg->buffer,
- msg->size);
-- return read_bytes;
-+ break;
- case DP_AUX_NATIVE_WRITE:
- res = dal_ddc_service_write_dpcd_data(
- TO_DM_AUX(aux)->ddc_service,
-@@ -107,14 +106,14 @@ static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
- msg->size);
- break;
- case DP_AUX_I2C_READ:
-- read_bytes = dal_ddc_service_read_dpcd_data(
-+ res = dal_ddc_service_read_dpcd_data(
- TO_DM_AUX(aux)->ddc_service,
- true,
- mot,
- msg->address,
- msg->buffer,
- msg->size);
-- return read_bytes;
-+ break;
- case DP_AUX_I2C_WRITE:
- res = dal_ddc_service_write_dpcd_data(
- TO_DM_AUX(aux)->ddc_service,
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
-index 49c2fac..d5294798b 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
-@@ -629,7 +629,7 @@ bool dal_ddc_service_query_ddc_data(
- return ret;
- }
-
--ssize_t dal_ddc_service_read_dpcd_data(
-+enum ddc_result dal_ddc_service_read_dpcd_data(
- struct ddc_service *ddc,
- bool i2c,
- enum i2c_mot_mode mot,
-@@ -660,9 +660,8 @@ ssize_t dal_ddc_service_read_dpcd_data(
- if (dal_i2caux_submit_aux_command(
- ddc->ctx->i2caux,
- ddc->ddc_pin,
-- &command)) {
-- return (ssize_t)command.payloads->length;
-- }
-+ &command))
-+ return DDC_RESULT_SUCESSFULL;
-
- return DDC_RESULT_FAILED_OPERATION;
- }
-diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
-index 1d73096..0afd2fa 100644
---- a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
-+++ b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
-@@ -128,8 +128,20 @@ static void process_read_reply(
- ctx->status =
- I2CAUX_TRANSACTION_STATUS_FAILED_PROTOCOL_ERROR;
- ctx->operation_succeeded = false;
-+ } else if (ctx->returned_byte < ctx->current_read_length) {
-+ ctx->current_read_length -= ctx->returned_byte;
-+
-+ ctx->offset += ctx->returned_byte;
-+
-+ ++ctx->invalid_reply_retry_aux_on_ack;
-+
-+ if (ctx->invalid_reply_retry_aux_on_ack >
-+ AUX_INVALID_REPLY_RETRY_COUNTER) {
-+ ctx->status =
-+ I2CAUX_TRANSACTION_STATUS_FAILED_PROTOCOL_ERROR;
-+ ctx->operation_succeeded = false;
-+ }
- } else {
-- ctx->current_read_length = ctx->returned_byte;
- ctx->status = I2CAUX_TRANSACTION_STATUS_SUCCEEDED;
- ctx->transaction_complete = true;
- ctx->operation_succeeded = true;
-@@ -290,7 +302,6 @@ static bool read_command(
- ctx.operation_succeeded);
- }
-
-- request->payload.length = ctx.reply.length;
- return ctx.operation_succeeded;
- }
-
-diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
-index 14dc8c9..9b0bcc6 100644
---- a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
-+++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
-@@ -254,7 +254,6 @@ bool dal_i2caux_submit_aux_command(
- break;
- }
-
-- cmd->payloads->length = request.payload.length;
- ++index_of_payload;
- }
-
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h b/drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h
-index 090b7a8..0bf73b7 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h
-@@ -102,7 +102,7 @@ bool dal_ddc_service_query_ddc_data(
- uint8_t *read_buf,
- uint32_t read_size);
-
--ssize_t dal_ddc_service_read_dpcd_data(
-+enum ddc_result dal_ddc_service_read_dpcd_data(
- struct ddc_service *ddc,
- bool i2c,
- enum i2c_mot_mode mot,
---
-2.7.4
-