aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4365-drm-amd-display-Don-t-return-ddc-result-and-read_byt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4365-drm-amd-display-Don-t-return-ddc-result-and-read_byt.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4365-drm-amd-display-Don-t-return-ddc-result-and-read_byt.patch141
1 files changed, 0 insertions, 141 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4365-drm-amd-display-Don-t-return-ddc-result-and-read_byt.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4365-drm-amd-display-Don-t-return-ddc-result-and-read_byt.patch
deleted file mode 100644
index d3f95179..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4365-drm-amd-display-Don-t-return-ddc-result-and-read_byt.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From a1cae4e31f769e95aaafb9b98357a70d499fa362 Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Tue, 24 Apr 2018 10:49:20 -0400
-Subject: [PATCH 4365/5725] drm/amd/display: Don't return ddc result and
- read_bytes in same return value
-
-The two ranges overlap.
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Alex Deucher <alexander.deucher@amd.com>
----
- .../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 20 ++++++++++++--------
- drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 10 +++++++---
- drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h | 5 +++--
- 3 files changed, 22 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..559bd2a 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,22 @@ 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;
-+ uint32_t read_bytes = msg->size;
-
- 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;
-+ msg->size,
-+ &read_bytes);
-+ break;
- case DP_AUX_NATIVE_WRITE:
- res = dal_ddc_service_write_dpcd_data(
- TO_DM_AUX(aux)->ddc_service,
-@@ -107,14 +108,15 @@ 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;
-+ msg->size,
-+ &read_bytes);
-+ break;
- case DP_AUX_I2C_WRITE:
- res = dal_ddc_service_write_dpcd_data(
- TO_DM_AUX(aux)->ddc_service,
-@@ -136,7 +138,9 @@ static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
- r == DDC_RESULT_SUCESSFULL);
- #endif
-
-- return msg->size;
-+ if (res != DDC_RESULT_SUCESSFULL)
-+ return -EIO;
-+ return read_bytes;
- }
-
- static enum drm_connector_status
-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..ae48d60 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,13 +629,14 @@ 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,
- uint32_t address,
- uint8_t *data,
-- uint32_t len)
-+ uint32_t len,
-+ uint32_t *read)
- {
- struct aux_payload read_payload = {
- .i2c_over_aux = i2c,
-@@ -652,6 +653,8 @@ ssize_t dal_ddc_service_read_dpcd_data(
- .mot = mot
- };
-
-+ *read = 0;
-+
- if (len > DEFAULT_AUX_MAX_DATA_SIZE) {
- BREAK_TO_DEBUGGER();
- return DDC_RESULT_FAILED_INVALID_OPERATION;
-@@ -661,7 +664,8 @@ ssize_t dal_ddc_service_read_dpcd_data(
- ddc->ctx->i2caux,
- ddc->ddc_pin,
- &command)) {
-- return (ssize_t)command.payloads->length;
-+ *read = command.payloads->length;
-+ return DDC_RESULT_SUCESSFULL;
- }
-
- return DDC_RESULT_FAILED_OPERATION;
-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..30b3a08 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,13 +102,14 @@ 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,
- uint32_t address,
- uint8_t *data,
-- uint32_t len);
-+ uint32_t len,
-+ uint32_t *read);
-
- enum ddc_result dal_ddc_service_write_dpcd_data(
- struct ddc_service *ddc,
---
-2.7.4
-