diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3835-drm-amd-display-fix-i2c-wtire-mot-incorrect-issue.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3835-drm-amd-display-fix-i2c-wtire-mot-incorrect-issue.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3835-drm-amd-display-fix-i2c-wtire-mot-incorrect-issue.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3835-drm-amd-display-fix-i2c-wtire-mot-incorrect-issue.patch new file mode 100644 index 00000000..579c8ac3 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3835-drm-amd-display-fix-i2c-wtire-mot-incorrect-issue.patch @@ -0,0 +1,44 @@ +From 5e3ca7c1893246f537cb3aca8d6296ae9a7a23f2 Mon Sep 17 00:00:00 2001 +From: Lewis Huang <Lewis.Huang@amd.com> +Date: Tue, 27 Aug 2019 17:03:41 +0800 +Subject: [PATCH 3835/4256] drm/amd/display: fix i2c wtire mot incorrect issue + +[Why] +I2C write command always send mot = true will cause sink state incorrect. + +[How] +1. Remove default i2c write mot = true. +2. Deciding mot flag by is_end_of_payload flag. + +Signed-off-by: Lewis Huang <Lewis.Huang@amd.com> +Reviewed-by: Charlene Liu <Charlene.Liu@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +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 f70137d67c82..588a07b525a0 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 +@@ -523,7 +523,7 @@ bool dal_ddc_service_query_ddc_data( + + if (write_size != 0) { + payload.write = true; +- payload.mot = true; ++ payload.mot = false; + payload.length = write_size; + payload.data = write_buf; + +@@ -592,7 +592,7 @@ bool dal_ddc_submit_aux_command(struct ddc_service *ddc, + current_payload.i2c_over_aux = payload->i2c_over_aux; + current_payload.length = is_end_of_payload ? + payload->length - retrieved : DEFAULT_AUX_MAX_DATA_SIZE; +- current_payload.mot = payload->mot ? payload->mot : !is_end_of_payload; ++ current_payload.mot = !is_end_of_payload; + current_payload.reply = payload->reply; + current_payload.write = payload->write; + +-- +2.17.1 + |