diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0320-drm-amd-display-Fix-i2c-write-flag.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0320-drm-amd-display-Fix-i2c-write-flag.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0320-drm-amd-display-Fix-i2c-write-flag.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0320-drm-amd-display-Fix-i2c-write-flag.patch new file mode 100644 index 00000000..d15b9349 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/0320-drm-amd-display-Fix-i2c-write-flag.patch @@ -0,0 +1,44 @@ +From 4f9790e0119297717e266fef6cd57f116c518f24 Mon Sep 17 00:00:00 2001 +From: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> +Date: Sat, 4 Mar 2017 20:56:46 -0500 +Subject: [PATCH 0320/4131] drm/amd/display: Fix i2c write flag. + +I2C_M_RD was translated to write instead of read. + +Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 2 +- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +index 5d45c0f..ca4fa5c 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +@@ -422,7 +422,7 @@ bool dm_helpers_submit_i2c( + return false; + + for (i = 0; i < num; i++) { +- msgs[i].flags = cmd->payloads[i].write ? I2C_M_RD : 0; ++ msgs[i].flags = cmd->payloads[i].write ? 0 : I2C_M_RD; + msgs[i].addr = cmd->payloads[i].address; + msgs[i].len = cmd->payloads[i].length; + msgs[i].buf = cmd->payloads[i].data; +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c +index bf38bdd..4fba5ad 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c +@@ -2119,7 +2119,7 @@ int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap, + cmd.speed = 100; + + for (i = 0; i < num; i++) { +- cmd.payloads[i].write = (msgs[i].flags & I2C_M_RD); ++ cmd.payloads[i].write = !(msgs[i].flags & I2C_M_RD); + cmd.payloads[i].address = msgs[i].addr; + cmd.payloads[i].length = msgs[i].len; + cmd.payloads[i].data = msgs[i].buf; +-- +2.7.4 + |