diff options
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.patch | 156 |
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 - |