diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0827-drm-amd-dal-Route-i2c-through-drm-s-i2cadapter.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0827-drm-amd-dal-Route-i2c-through-drm-s-i2cadapter.patch | 682 |
1 files changed, 0 insertions, 682 deletions
diff --git a/common/recipes-kernel/linux/files/0827-drm-amd-dal-Route-i2c-through-drm-s-i2cadapter.patch b/common/recipes-kernel/linux/files/0827-drm-amd-dal-Route-i2c-through-drm-s-i2cadapter.patch deleted file mode 100644 index 16e2c74c..00000000 --- a/common/recipes-kernel/linux/files/0827-drm-amd-dal-Route-i2c-through-drm-s-i2cadapter.patch +++ /dev/null @@ -1,682 +0,0 @@ -From c0da0066c05d0e388a3e6a632ae61fab62f46ff5 Mon Sep 17 00:00:00 2001 -From: Harry Wentland <harry.wentland@amd.com> -Date: Thu, 18 Feb 2016 15:45:33 -0500 -Subject: [PATCH 0827/1110] drm/amd/dal: Route i2c through drm's i2cadapter - -Signed-off-by: Harry Wentland <harry.wentland@amd.com> ---- - .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_helpers.c | 31 +++++ - .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 74 +++++++++++- - drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c | 1 + - drivers/gpu/drm/amd/dal/dc/core/dc.c | 15 +++ - drivers/gpu/drm/amd/dal/dc/core/dc_link.c | 1 + - drivers/gpu/drm/amd/dal/dc/core/dc_link_ddc.c | 72 ++++-------- - drivers/gpu/drm/amd/dal/dc/dc.h | 4 + - drivers/gpu/drm/amd/dal/dc/dc_ddc_types.h | 129 +++++++++++++++++++++ - drivers/gpu/drm/amd/dal/dc/dc_types.h | 3 + - drivers/gpu/drm/amd/dal/dc/dm_helpers.h | 5 + - drivers/gpu/drm/amd/dal/dc/gpio/ddc.h | 7 -- - drivers/gpu/drm/amd/dal/dc/inc/dc_link_ddc.h | 1 + - .../gpu/drm/amd/dal/include/ddc_service_types.h | 30 ----- - drivers/gpu/drm/amd/dal/include/gpio_types.h | 4 - - drivers/gpu/drm/amd/dal/include/i2caux_interface.h | 23 ---- - 15 files changed, 282 insertions(+), 118 deletions(-) - create mode 100644 drivers/gpu/drm/amd/dal/dc/dc_ddc_types.h - -diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_helpers.c -index bbc60a6..97a3206 100644 ---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_helpers.c -+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_helpers.c -@@ -26,6 +26,7 @@ - #include <linux/string.h> - #include <linux/acpi.h> - #include <linux/version.h> -+#include <linux/i2c.h> - - #include <drm/drmP.h> - #include <drm/drm_crtc_helper.h> -@@ -498,3 +499,33 @@ bool dm_helper_dp_write_dpcd( - return drm_dp_dpcd_write(&aconnector->dm_dp_aux.aux, - address, (uint8_t *)data, size) > 0; - } -+ -+bool dm_helpers_submit_i2c( -+ struct dc_context *ctx, -+ const struct dc_link *link, -+ struct i2c_command *cmd) -+{ -+ struct amdgpu_device *adev = ctx->driver_context; -+ struct drm_device *dev = adev->ddev; -+ struct amdgpu_connector *aconnector = get_connector_for_link(dev, link); -+ struct i2c_msg *msgs; -+ int i = 0; -+ int num = cmd->number_of_payloads; -+ -+ if (!aconnector) { -+ DRM_ERROR("Failed to found connector for link!"); -+ return false; -+ } -+ -+ msgs = kzalloc(num * sizeof(struct i2c_msg), GFP_KERNEL); -+ -+ for (i = 0; i < num; i++) { -+ msgs[i].flags = cmd->payloads[i].write ? I2C_M_RD : 0; -+ msgs[i].addr = cmd->payloads[i].address; -+ msgs[i].len = cmd->payloads[i].length; -+ msgs[i].buf = cmd->payloads[i].data; -+ } -+ -+ return i2c_transfer(&aconnector->i2c->base, msgs, num) == num; -+} -+ -diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c -index df7afc9..84ce0bb 100644 ---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c -+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c -@@ -1808,6 +1808,58 @@ void amdgpu_dm_connector_init_helper( - 0); - } - -+int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap, -+ struct i2c_msg *msgs, int num) -+{ -+ struct amdgpu_i2c_adapter *i2c = i2c_get_adapdata(i2c_adap); -+ struct i2c_command cmd; -+ int i; -+ -+ cmd.payloads = kzalloc(num * sizeof(struct i2c_payload), GFP_KERNEL); -+ cmd.number_of_payloads = num; -+ cmd.engine = I2C_COMMAND_ENGINE_DEFAULT; -+ cmd.speed = 100; -+ -+ for (i = 0; i < num; i++) { -+ 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; -+ } -+ -+ if (dc_submit_i2c(i2c->dm->dc, i2c->link_index, &cmd)) -+ return num; -+ else -+ return -EIO; -+} -+ -+u32 amdgpu_dm_i2c_func(struct i2c_adapter *adap) -+{ -+ return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; -+} -+ -+static const struct i2c_algorithm amdgpu_dm_i2c_algo = { -+ .master_xfer = amdgpu_dm_i2c_xfer, -+ .functionality = amdgpu_dm_i2c_func, -+}; -+ -+struct amdgpu_i2c_adapter *create_i2c(unsigned int link_index, struct amdgpu_display_manager *dm, int *res) -+{ -+ struct amdgpu_i2c_adapter *i2c; -+ -+ i2c = kzalloc(sizeof (struct amdgpu_i2c_adapter), GFP_KERNEL); -+ i2c->dm = dm; -+ i2c->base.owner = THIS_MODULE; -+ i2c->base.class = I2C_CLASS_DDC; -+ i2c->base.dev.parent = &dm->adev->pdev->dev; -+ i2c->base.algo = &amdgpu_dm_i2c_algo; -+ snprintf(i2c->base.name, sizeof (i2c->base.name), "AMDGPU DM i2c hw bus %d", link_index); -+ i2c->link_index = link_index; -+ i2c_set_adapdata(&i2c->base, i2c); -+ -+ return i2c; -+} -+ - /* Note: this function assumes that dc_link_detect() was called for the - * dc_link which will be represented by this aconnector. */ - int amdgpu_dm_connector_init( -@@ -1816,12 +1868,23 @@ int amdgpu_dm_connector_init( - uint32_t link_index, - struct amdgpu_encoder *aencoder) - { -- int res, connector_type; -+ int res = 0; -+ int connector_type; - struct dc *dc = dm->dc; - const struct dc_link *link = dc_get_link_at_index(dc, link_index); -+ struct amdgpu_i2c_adapter *i2c; - - DRM_DEBUG_KMS("%s()\n", __func__); - -+ i2c = create_i2c(link->link_index, dm, &res); -+ aconnector->i2c = i2c; -+ res = i2c_add_adapter(&i2c->base); -+ -+ if (res) { -+ DRM_ERROR("Failed to register hw i2c %d\n", link->link_index); -+ goto out_free; -+ } -+ - connector_type = to_drm_connector_type(link->connector_signal); - - res = drm_connector_init( -@@ -1833,7 +1896,7 @@ int amdgpu_dm_connector_init( - if (res) { - DRM_ERROR("connector_init failed\n"); - aconnector->connector_id = -1; -- return res; -+ goto out_free; - } - - drm_connector_helper_add( -@@ -1877,7 +1940,12 @@ int amdgpu_dm_connector_init( - } - #endif - -- return 0; -+out_free: -+ if (res) { -+ kfree(i2c); -+ aconnector->i2c = NULL; -+ } -+ return res; - } - - int amdgpu_dm_get_encoder_crtc_mask(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c -index 4ce5f9f..586a5ee 100644 ---- a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c -+++ b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c -@@ -3432,6 +3432,7 @@ static bool i2c_read( - cmd.payloads = payloads; - cmd.number_of_payloads = ARRAY_SIZE(payloads); - -+ /* TODO route this through drm i2c_adapter */ - result = dal_i2caux_submit_i2c_command( - dal_adapter_service_get_i2caux(bp->as), - ddc, -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c -index 666e248..8ca8121 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c -@@ -817,6 +817,21 @@ bool dc_write_dpcd( - return r == DDC_RESULT_SUCESSFULL; - } - -+bool dc_submit_i2c( -+ struct dc *dc, -+ uint32_t link_index, -+ struct i2c_command *cmd) -+{ -+ struct core_link *link = -+ DC_LINK_TO_LINK(dc_get_link_at_index(dc, link_index)); -+ struct ddc_service *ddc = link->ddc; -+ -+ return dal_i2caux_submit_i2c_command( -+ dal_adapter_service_get_i2caux(ddc->as), -+ ddc->ddc_pin, -+ cmd); -+} -+ - bool dc_link_add_remote_sink(const struct dc_link *link, struct dc_sink *sink) - { - struct core_link *core_link = DC_LINK_TO_LINK(link); -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c -index 8203432..054216c 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c -@@ -971,6 +971,7 @@ static bool construct( - ddc_service_init_data.as = as; - ddc_service_init_data.ctx = link->ctx; - ddc_service_init_data.id = link->link_id; -+ ddc_service_init_data.link = link; - link->ddc = dal_ddc_service_create(&ddc_service_init_data); - - link->public.ddc_hw_inst = -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_ddc.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_ddc.c -index 62b8c26..f725da7 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_ddc.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_ddc.c -@@ -24,14 +24,14 @@ - */ - - #include "dm_services.h" -- -+#include "dm_helpers.h" - #include "include/adapter_service_interface.h" - #include "include/ddc_service_types.h" - #include "include/grph_object_id.h" - #include "include/dpcd_defs.h" - #include "include/logger_interface.h" - #include "include/vector.h" -- -+#include "core_types.h" - #include "dc_link_ddc.h" - - #define AUX_POWER_UP_WA_DELAY 500 -@@ -145,37 +145,6 @@ union hdmi_scdc_test_config_Data { - - - --union ddc_wa { -- struct { -- uint32_t DP_SKIP_POWER_OFF:1; -- uint32_t DP_AUX_POWER_UP_WA_DELAY:1; -- } bits; -- uint32_t raw; --}; -- --struct ddc_flags { -- uint8_t EDID_QUERY_DONE_ONCE:1; -- uint8_t IS_INTERNAL_DISPLAY:1; -- uint8_t FORCE_READ_REPEATED_START:1; -- uint8_t EDID_STRESS_READ:1; -- --}; -- --struct ddc_service { -- struct ddc *ddc_pin; -- struct ddc_flags flags; -- union ddc_wa wa; -- enum ddc_transaction_type transaction_type; -- enum display_dongle_type dongle_type; -- struct dp_receiver_id_info dp_receiver_id_info; -- struct adapter_service *as; -- struct dc_context *ctx; -- -- uint32_t address; -- uint32_t edid_buf_len; -- uint8_t edid_buf[MAX_EDID_BUFFER_SIZE]; --}; -- - struct i2c_payloads { - struct vector payloads; - }; -@@ -312,6 +281,7 @@ static bool construct( - enum connector_id connector_id = - dal_graphics_object_id_get_connector_id(init_data->id); - -+ ddc_service->link = init_data->link; - ddc_service->ctx = init_data->ctx; - ddc_service->as = init_data->as; - ddc_service->ddc_pin = dal_adapter_service_obtain_ddc( -@@ -474,10 +444,10 @@ static bool i2c_read( - .engine = DDC_I2C_COMMAND_ENGINE, - .speed = dal_adapter_service_get_sw_i2c_speed(ddc->as) }; - -- return dal_i2caux_submit_i2c_command( -- dal_adapter_service_get_i2caux(ddc->as), -- ddc->ddc_pin, -- &command); -+ return dm_helpers_submit_i2c( -+ ddc->ctx, -+ &ddc->link->public, -+ &command); - } - - static uint8_t aux_read_edid_block( -@@ -614,18 +584,18 @@ static uint8_t i2c_read_edid_block( - cmd.payloads = &payloads[1]; - cmd.number_of_payloads = 1; - -- if (dal_i2caux_submit_i2c_command( -- dal_adapter_service_get_i2caux(ddc->as), -- ddc->ddc_pin, -+ if (dm_helpers_submit_i2c( -+ ddc->ctx, -+ &ddc->link->public, - &cmd)) { - - cmd.payloads = &payloads[2]; - cmd.number_of_payloads = 1; - -- ret = dal_i2caux_submit_i2c_command( -- dal_adapter_service_get_i2caux(ddc->as), -- ddc->ddc_pin, -- &cmd); -+ ret = dm_helpers_submit_i2c( -+ ddc->ctx, -+ &ddc->link->public, -+ &cmd); - } - - } else { -@@ -644,10 +614,10 @@ static uint8_t i2c_read_edid_block( - cmd.number_of_payloads = 2; - } - -- ret = dal_i2caux_submit_i2c_command( -- dal_adapter_service_get_i2caux(ddc->as), -- ddc->ddc_pin, -- &cmd); -+ ret = dm_helpers_submit_i2c( -+ ddc->ctx, -+ &ddc->link->public, -+ &cmd); - } - - return ret ? DDC_EDID_BLOCK_SIZE : 0; -@@ -982,9 +952,9 @@ bool dal_ddc_service_query_ddc_data( - command.number_of_payloads = - dal_ddc_i2c_payloads_get_count(payloads); - -- ret = dal_i2caux_submit_i2c_command( -- dal_adapter_service_get_i2caux(ddc->as), -- ddc->ddc_pin, -+ ret = dm_helpers_submit_i2c( -+ ddc->ctx, -+ &ddc->link->public, - &command); - - dal_ddc_i2c_payloads_destroy(&payloads); -diff --git a/drivers/gpu/drm/amd/dal/dc/dc.h b/drivers/gpu/drm/amd/dal/dc/dc.h -index 9cd239c..40e5883 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dc.h -+++ b/drivers/gpu/drm/amd/dal/dc/dc.h -@@ -511,5 +511,9 @@ bool dc_write_dpcd( - const uint8_t *data, - uint32_t size); - -+bool dc_submit_i2c( -+ struct dc *dc, -+ uint32_t link_index, -+ struct i2c_command *cmd); - - #endif /* DC_INTERFACE_H_ */ -diff --git a/drivers/gpu/drm/amd/dal/dc/dc_ddc_types.h b/drivers/gpu/drm/amd/dal/dc/dc_ddc_types.h -new file mode 100644 -index 0000000..c74d99c ---- /dev/null -+++ b/drivers/gpu/drm/amd/dal/dc/dc_ddc_types.h -@@ -0,0 +1,129 @@ -+/* -+ * Copyright 2012-15 Advanced Micro Devices, Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ * -+ * Authors: AMD -+ * -+ */ -+#ifndef DC_DDC_TYPES_H_ -+#define DC_DDC_TYPES_H_ -+ -+struct i2c_payload { -+ bool write; -+ uint8_t address; -+ uint8_t length; -+ uint8_t *data; -+}; -+ -+enum i2c_command_engine { -+ I2C_COMMAND_ENGINE_DEFAULT, -+ I2C_COMMAND_ENGINE_SW, -+ I2C_COMMAND_ENGINE_HW -+}; -+ -+struct i2c_command { -+ struct i2c_payload *payloads; -+ uint8_t number_of_payloads; -+ -+ enum i2c_command_engine engine; -+ -+ /* expressed in KHz -+ * zero means "use default value" */ -+ uint32_t speed; -+}; -+ -+struct gpio_ddc_hw_info { -+ bool hw_supported; -+ uint32_t ddc_channel; -+}; -+ -+struct ddc { -+ struct gpio *pin_data; -+ struct gpio *pin_clock; -+ struct gpio_ddc_hw_info hw_info; -+ struct dc_context *ctx; -+}; -+ -+ -+union ddc_wa { -+ struct { -+ uint32_t DP_SKIP_POWER_OFF:1; -+ uint32_t DP_AUX_POWER_UP_WA_DELAY:1; -+ } bits; -+ uint32_t raw; -+}; -+ -+struct ddc_flags { -+ uint8_t EDID_QUERY_DONE_ONCE:1; -+ uint8_t IS_INTERNAL_DISPLAY:1; -+ uint8_t FORCE_READ_REPEATED_START:1; -+ uint8_t EDID_STRESS_READ:1; -+ -+}; -+ -+enum ddc_transaction_type { -+ DDC_TRANSACTION_TYPE_NONE = 0, -+ DDC_TRANSACTION_TYPE_I2C, -+ DDC_TRANSACTION_TYPE_I2C_OVER_AUX, -+ DDC_TRANSACTION_TYPE_I2C_OVER_AUX_WITH_DEFER, -+ DDC_TRANSACTION_TYPE_I2C_OVER_AUX_RETRY_DEFER -+}; -+ -+enum display_dongle_type { -+ DISPLAY_DONGLE_NONE = 0, -+ /* Active converter types*/ -+ DISPLAY_DONGLE_DP_VGA_CONVERTER, -+ DISPLAY_DONGLE_DP_DVI_CONVERTER, -+ DISPLAY_DONGLE_DP_HDMI_CONVERTER, -+ /* DP-HDMI/DVI passive dongles (Type 1 and Type 2)*/ -+ DISPLAY_DONGLE_DP_DVI_DONGLE, -+ DISPLAY_DONGLE_DP_HDMI_DONGLE, -+ /* Other types of dongle*/ -+ DISPLAY_DONGLE_DP_HDMI_MISMATCHED_DONGLE, -+}; -+ -+struct dp_receiver_id_info { -+ uint32_t dpcd_rev; -+ uint32_t sink_id; -+ int8_t sink_id_str[6]; -+ int8_t sink_hw_revision; -+ int8_t sink_fw_revision[2]; -+ uint32_t branch_id; -+ int8_t branch_name[6]; -+ enum display_dongle_type dongle_type; -+}; -+ -+struct ddc_service { -+ struct ddc *ddc_pin; -+ struct ddc_flags flags; -+ union ddc_wa wa; -+ enum ddc_transaction_type transaction_type; -+ enum display_dongle_type dongle_type; -+ struct dp_receiver_id_info dp_receiver_id_info; -+ struct adapter_service *as; -+ struct dc_context *ctx; -+ struct core_link *link; -+ -+ uint32_t address; -+ uint32_t edid_buf_len; -+ uint8_t edid_buf[MAX_EDID_BUFFER_SIZE]; -+}; -+ -+#endif /* DC_DDC_TYPES_H_ */ -diff --git a/drivers/gpu/drm/amd/dal/dc/dc_types.h b/drivers/gpu/drm/amd/dal/dc/dc_types.h -index 219fe77..8d81d08 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dc_types.h -+++ b/drivers/gpu/drm/amd/dal/dc/dc_types.h -@@ -67,6 +67,8 @@ enum dce_environment { - #define MAX_SURFACE_NUM 2 - #define NUM_PIXEL_FORMATS 10 - -+#include "dc_ddc_types.h" -+ - enum tiling_mode { - TILING_MODE_INVALID, - TILING_MODE_LINEAR, -@@ -102,6 +104,7 @@ enum plane_stereo_format { - PLANE_STEREO_FORMAT_CHECKER_BOARD = 7 - }; - -+ - /* TODO: Find way to calculate number of bits - * Please increase if pixel_format enum increases - * num from PIXEL_FORMAT_INDEX8 to PIXEL_FORMAT_444BPP32 -diff --git a/drivers/gpu/drm/amd/dal/dc/dm_helpers.h b/drivers/gpu/drm/amd/dal/dc/dm_helpers.h -index b6ce510..faffc16 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dm_helpers.h -+++ b/drivers/gpu/drm/amd/dal/dc/dm_helpers.h -@@ -95,4 +95,9 @@ bool dm_helper_dp_write_dpcd( - const uint8_t *data, - uint32_t size); - -+bool dm_helpers_submit_i2c( -+ struct dc_context *ctx, -+ const struct dc_link *link, -+ struct i2c_command *cmd); -+ - #endif /* __DM_HELPERS__ */ -diff --git a/drivers/gpu/drm/amd/dal/dc/gpio/ddc.h b/drivers/gpu/drm/amd/dal/dc/gpio/ddc.h -index 2631571..500c3cd 100644 ---- a/drivers/gpu/drm/amd/dal/dc/gpio/ddc.h -+++ b/drivers/gpu/drm/amd/dal/dc/gpio/ddc.h -@@ -26,13 +26,6 @@ - #ifndef __DAL_DDC_H__ - #define __DAL_DDC_H__ - --struct ddc { -- struct gpio *pin_data; -- struct gpio *pin_clock; -- struct gpio_ddc_hw_info hw_info; -- struct dc_context *ctx; --}; -- - struct ddc *dal_gpio_create_ddc( - struct gpio_service *service, - uint32_t offset, -diff --git a/drivers/gpu/drm/amd/dal/dc/inc/dc_link_ddc.h b/drivers/gpu/drm/amd/dal/dc/inc/dc_link_ddc.h -index 18104d6..088afce 100644 ---- a/drivers/gpu/drm/amd/dal/dc/inc/dc_link_ddc.h -+++ b/drivers/gpu/drm/amd/dal/dc/inc/dc_link_ddc.h -@@ -69,6 +69,7 @@ struct ddc_service_init_data { - struct adapter_service *as; - struct graphics_object_id id; - struct dc_context *ctx; -+ struct core_link *link; - }; - - struct ddc_service *dal_ddc_service_create( -diff --git a/drivers/gpu/drm/amd/dal/include/ddc_service_types.h b/drivers/gpu/drm/amd/dal/include/ddc_service_types.h -index cbdb6df..63dbbc5 100644 ---- a/drivers/gpu/drm/amd/dal/include/ddc_service_types.h -+++ b/drivers/gpu/drm/amd/dal/include/ddc_service_types.h -@@ -52,26 +52,6 @@ enum ddc_service_type { - DDC_SERVICE_TYPE_DISPLAY_PORT_MST, - }; - --enum ddc_transaction_type { -- DDC_TRANSACTION_TYPE_NONE = 0, -- DDC_TRANSACTION_TYPE_I2C, -- DDC_TRANSACTION_TYPE_I2C_OVER_AUX, -- DDC_TRANSACTION_TYPE_I2C_OVER_AUX_WITH_DEFER, -- DDC_TRANSACTION_TYPE_I2C_OVER_AUX_RETRY_DEFER --}; -- --enum display_dongle_type { -- DISPLAY_DONGLE_NONE = 0, -- /* Active converter types*/ -- DISPLAY_DONGLE_DP_VGA_CONVERTER, -- DISPLAY_DONGLE_DP_DVI_CONVERTER, -- DISPLAY_DONGLE_DP_HDMI_CONVERTER, -- /* DP-HDMI/DVI passive dongles (Type 1 and Type 2)*/ -- DISPLAY_DONGLE_DP_DVI_DONGLE, -- DISPLAY_DONGLE_DP_HDMI_DONGLE, -- /* Other types of dongle*/ -- DISPLAY_DONGLE_DP_HDMI_MISMATCHED_DONGLE, --}; - - enum dcs_dpcd_revision { - DCS_DPCD_REV_10 = 0x10, -@@ -130,16 +110,6 @@ struct display_sink_capability { - enum signal_type signal; - }; - --struct dp_receiver_id_info { -- uint32_t dpcd_rev; -- uint32_t sink_id; -- int8_t sink_id_str[6]; -- int8_t sink_hw_revision; -- int8_t sink_fw_revision[2]; -- uint32_t branch_id; -- int8_t branch_name[6]; -- enum display_dongle_type dongle_type; --}; - - struct av_sync_data { - uint8_t av_granularity;/* DPCD 00023h */ -diff --git a/drivers/gpu/drm/amd/dal/include/gpio_types.h b/drivers/gpu/drm/amd/dal/include/gpio_types.h -index 6d3214b..62548d6 100644 ---- a/drivers/gpu/drm/amd/dal/include/gpio_types.h -+++ b/drivers/gpu/drm/amd/dal/include/gpio_types.h -@@ -329,10 +329,6 @@ struct gpio_config_data { - } config; - }; - --struct gpio_ddc_hw_info { -- bool hw_supported; -- uint32_t ddc_channel; --}; - - struct gpio_ddc_open_options { - bool en_bit_present; -diff --git a/drivers/gpu/drm/amd/dal/include/i2caux_interface.h b/drivers/gpu/drm/amd/dal/include/i2caux_interface.h -index b961d24..ac16fa0 100644 ---- a/drivers/gpu/drm/amd/dal/include/i2caux_interface.h -+++ b/drivers/gpu/drm/amd/dal/include/i2caux_interface.h -@@ -29,29 +29,6 @@ - #include "ddc_interface.h" - #include "adapter_service_interface.h" - --struct i2c_payload { -- bool write; -- uint8_t address; -- uint8_t length; -- uint8_t *data; --}; -- --enum i2c_command_engine { -- I2C_COMMAND_ENGINE_DEFAULT, -- I2C_COMMAND_ENGINE_SW, -- I2C_COMMAND_ENGINE_HW --}; -- --struct i2c_command { -- struct i2c_payload *payloads; -- uint8_t number_of_payloads; -- -- enum i2c_command_engine engine; -- -- /* expressed in KHz -- * zero means "use default value" */ -- uint32_t speed; --}; - - #define DEFAULT_AUX_MAX_DATA_SIZE 16 - #define AUX_MAX_DEFER_WRITE_RETRY 20 --- -2.7.4 - |