diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4734-drm-amd-display-Move-i2c-and-aux-structs-into-dc_ddc.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4734-drm-amd-display-Move-i2c-and-aux-structs-into-dc_ddc.patch | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4734-drm-amd-display-Move-i2c-and-aux-structs-into-dc_ddc.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4734-drm-amd-display-Move-i2c-and-aux-structs-into-dc_ddc.patch new file mode 100644 index 00000000..e8b20489 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4734-drm-amd-display-Move-i2c-and-aux-structs-into-dc_ddc.patch @@ -0,0 +1,180 @@ +From 64d1b2306a12bc1bf3b890f410410ecee9461ef4 Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Wed, 9 May 2018 11:35:21 -0400 +Subject: [PATCH 4734/5725] drm/amd/display: Move i2c and aux structs into + dc_ddc_types.h + +We'd like to use some of them in dc_link_ddc and amdgpu_dm and should +have them available in dc_ddc_types.h. + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dc_ddc_types.h | 59 ++++++++++++++++++++++ + drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h | 44 +--------------- + drivers/gpu/drm/amd/display/dc/i2caux/engine.h | 15 +----- + 3 files changed, 62 insertions(+), 56 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h b/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h +index ee04812..05c8c31 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h ++++ b/drivers/gpu/drm/amd/display/dc/dc_ddc_types.h +@@ -25,6 +25,65 @@ + #ifndef DC_DDC_TYPES_H_ + #define DC_DDC_TYPES_H_ + ++enum aux_transaction_type { ++ AUX_TRANSACTION_TYPE_DP, ++ AUX_TRANSACTION_TYPE_I2C ++}; ++ ++ ++enum i2caux_transaction_action { ++ I2CAUX_TRANSACTION_ACTION_I2C_WRITE = 0x00, ++ I2CAUX_TRANSACTION_ACTION_I2C_READ = 0x10, ++ I2CAUX_TRANSACTION_ACTION_I2C_STATUS_REQUEST = 0x20, ++ ++ I2CAUX_TRANSACTION_ACTION_I2C_WRITE_MOT = 0x40, ++ I2CAUX_TRANSACTION_ACTION_I2C_READ_MOT = 0x50, ++ I2CAUX_TRANSACTION_ACTION_I2C_STATUS_REQUEST_MOT = 0x60, ++ ++ I2CAUX_TRANSACTION_ACTION_DP_WRITE = 0x80, ++ I2CAUX_TRANSACTION_ACTION_DP_READ = 0x90 ++}; ++ ++enum aux_channel_operation_result { ++ AUX_CHANNEL_OPERATION_SUCCEEDED, ++ AUX_CHANNEL_OPERATION_FAILED_REASON_UNKNOWN, ++ AUX_CHANNEL_OPERATION_FAILED_INVALID_REPLY, ++ AUX_CHANNEL_OPERATION_FAILED_TIMEOUT, ++ AUX_CHANNEL_OPERATION_FAILED_HPD_DISCON ++}; ++ ++ ++struct aux_request_transaction_data { ++ enum aux_transaction_type type; ++ enum i2caux_transaction_action action; ++ /* 20-bit AUX channel transaction address */ ++ uint32_t address; ++ /* delay, in 100-microsecond units */ ++ uint8_t delay; ++ uint32_t length; ++ uint8_t *data; ++}; ++ ++enum aux_transaction_reply { ++ AUX_TRANSACTION_REPLY_AUX_ACK = 0x00, ++ AUX_TRANSACTION_REPLY_AUX_NACK = 0x01, ++ AUX_TRANSACTION_REPLY_AUX_DEFER = 0x02, ++ ++ AUX_TRANSACTION_REPLY_I2C_ACK = 0x00, ++ AUX_TRANSACTION_REPLY_I2C_NACK = 0x10, ++ AUX_TRANSACTION_REPLY_I2C_DEFER = 0x20, ++ ++ AUX_TRANSACTION_REPLY_HPD_DISCON = 0x40, ++ ++ AUX_TRANSACTION_REPLY_INVALID = 0xFF ++}; ++ ++struct aux_reply_transaction_data { ++ enum aux_transaction_reply status; ++ uint32_t length; ++ uint8_t *data; ++}; ++ + struct i2c_payload { + bool write; + uint8_t address; +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h +index b9e35d0..b01488f 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h +@@ -26,49 +26,7 @@ + #ifndef __DAL_AUX_ENGINE_H__ + #define __DAL_AUX_ENGINE_H__ + +-enum aux_transaction_type { +- AUX_TRANSACTION_TYPE_DP, +- AUX_TRANSACTION_TYPE_I2C +-}; +- +-struct aux_request_transaction_data { +- enum aux_transaction_type type; +- enum i2caux_transaction_action action; +- /* 20-bit AUX channel transaction address */ +- uint32_t address; +- /* delay, in 100-microsecond units */ +- uint8_t delay; +- uint32_t length; +- uint8_t *data; +-}; +- +-enum aux_transaction_reply { +- AUX_TRANSACTION_REPLY_AUX_ACK = 0x00, +- AUX_TRANSACTION_REPLY_AUX_NACK = 0x01, +- AUX_TRANSACTION_REPLY_AUX_DEFER = 0x02, +- +- AUX_TRANSACTION_REPLY_I2C_ACK = 0x00, +- AUX_TRANSACTION_REPLY_I2C_NACK = 0x10, +- AUX_TRANSACTION_REPLY_I2C_DEFER = 0x20, +- +- AUX_TRANSACTION_REPLY_HPD_DISCON = 0x40, +- +- AUX_TRANSACTION_REPLY_INVALID = 0xFF +-}; +- +-struct aux_reply_transaction_data { +- enum aux_transaction_reply status; +- uint32_t length; +- uint8_t *data; +-}; +- +-enum aux_channel_operation_result { +- AUX_CHANNEL_OPERATION_SUCCEEDED, +- AUX_CHANNEL_OPERATION_FAILED_REASON_UNKNOWN, +- AUX_CHANNEL_OPERATION_FAILED_INVALID_REPLY, +- AUX_CHANNEL_OPERATION_FAILED_TIMEOUT, +- AUX_CHANNEL_OPERATION_FAILED_HPD_DISCON +-}; ++#include "dc_ddc_types.h" + + struct aux_engine; + +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/engine.h +index c110970..1e8a158 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/engine.h ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/engine.h +@@ -26,6 +26,8 @@ + #ifndef __DAL_ENGINE_H__ + #define __DAL_ENGINE_H__ + ++#include "dc_ddc_types.h" ++ + enum i2caux_transaction_operation { + I2CAUX_TRANSACTION_READ, + I2CAUX_TRANSACTION_WRITE +@@ -76,19 +78,6 @@ enum i2c_default_speed { + I2CAUX_DEFAULT_I2C_SW_SPEED = 50 + }; + +-enum i2caux_transaction_action { +- I2CAUX_TRANSACTION_ACTION_I2C_WRITE = 0x00, +- I2CAUX_TRANSACTION_ACTION_I2C_READ = 0x10, +- I2CAUX_TRANSACTION_ACTION_I2C_STATUS_REQUEST = 0x20, +- +- I2CAUX_TRANSACTION_ACTION_I2C_WRITE_MOT = 0x40, +- I2CAUX_TRANSACTION_ACTION_I2C_READ_MOT = 0x50, +- I2CAUX_TRANSACTION_ACTION_I2C_STATUS_REQUEST_MOT = 0x60, +- +- I2CAUX_TRANSACTION_ACTION_DP_WRITE = 0x80, +- I2CAUX_TRANSACTION_ACTION_DP_READ = 0x90 +-}; +- + struct engine; + + struct engine_funcs { +-- +2.7.4 + |