aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4734-drm-amd-display-Move-i2c-and-aux-structs-into-dc_ddc.patch
diff options
context:
space:
mode:
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.patch180
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
+