aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch')
-rw-r--r--common/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch406
1 files changed, 0 insertions, 406 deletions
diff --git a/common/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch b/common/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch
deleted file mode 100644
index 5ad0f63c..00000000
--- a/common/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch
+++ /dev/null
@@ -1,406 +0,0 @@
-From 735bfe630c7dbbd8387dbeba3e353b5898d7c8be Mon Sep 17 00:00:00 2001
-From: Eric Yang <eric.yang2@amd.com>
-Date: Sat, 27 Feb 2016 14:22:46 -0500
-Subject: [PATCH 0856/1110] drm/amd/dal: Refactor DC creation merge dc and dal
- init_data
-
-Also deletes unused members in the two init data structures
-
-Signed-off-by: Eric Yang <eric.yang2@amd.com>
-Acked-by: Harry Wentland <harry.wentland@amd.com>
----
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 11 +--
- .../gpu/drm/amd/dal/dc/adapter/adapter_service.c | 5 --
- .../gpu/drm/amd/dal/dc/adapter/adapter_service.h | 1 -
- drivers/gpu/drm/amd/dal/dc/core/dc.c | 89 ++++++++++------------
- drivers/gpu/drm/amd/dal/dc/dc.h | 12 +--
- drivers/gpu/drm/amd/dal/dc/dc_types.h | 15 ----
- .../amd/dal/include/adapter_service_interface.h | 4 -
- 7 files changed, 44 insertions(+), 93 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-index 257969f..ed2cdc5 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-@@ -246,8 +246,7 @@ static void hotplug_notify_work_func(struct work_struct *work)
- */
- int amdgpu_dm_init(struct amdgpu_device *adev)
- {
-- struct dal_init_data init_data;
-- struct drm_device *ddev = adev->ddev;
-+ struct dc_init_data init_data;
- adev->dm.ddev = adev->ddev;
- adev->dm.adev = adev;
-
-@@ -265,14 +264,6 @@ int amdgpu_dm_init(struct amdgpu_device *adev)
- goto error;
- }
-
-- if (ddev->pdev) {
-- init_data.bdf_info.DEVICE_NUMBER = PCI_SLOT(ddev->pdev->devfn);
-- init_data.bdf_info.FUNCTION_NUMBER =
-- PCI_FUNC(ddev->pdev->devfn);
-- if (ddev->pdev->bus)
-- init_data.bdf_info.BUS_NUMBER = ddev->pdev->bus->number;
-- }
--
- init_data.display_param = display_param;
-
- init_data.asic_id.chip_family = adev->family;
-diff --git a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c
-index 99ba0c7..339f046 100644
---- a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c
-+++ b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c
-@@ -1938,11 +1938,6 @@ struct ddc *dal_adapter_service_obtain_ddc_from_i2c_info(
- (1 << info->gpio_info.clk_a_shift), &hw_info);
- }
-
--struct bdf_info dal_adapter_service_get_adapter_info(struct adapter_service *as)
--{
-- return as->bdf_info;
--}
--
- /*
- * dal_adapter_service_should_psr_skip_wait_for_pll_lock
- *
-diff --git a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.h b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.h
-index 7cc8991..57f9a87 100644
---- a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.h
-+++ b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.h
-@@ -49,7 +49,6 @@ struct adapter_service {
- struct wireless_data wireless_data;
- struct hw_ctx_adapter_service *hw_ctx;
- struct integrated_info *integrated_info;
-- struct bdf_info bdf_info;
- uint32_t platform_methods_mask;
- uint32_t ac_level_percentage;
- uint32_t dc_level_percentage;
-diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c
-index 44f43ea..ef238a0 100644
---- a/drivers/gpu/drm/amd/dal/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c
-@@ -69,7 +69,10 @@ static void destroy_links(struct core_dc *dc)
- }
- }
-
--static bool create_links(struct core_dc *dc, const struct dc_init_data *init_params)
-+static bool create_links(
-+ struct core_dc *dc,
-+ struct adapter_service *as,
-+ uint32_t num_virtual_links)
- {
- int i;
- int connectors_num;
-@@ -77,7 +80,7 @@ static bool create_links(struct core_dc *dc, const struct dc_init_data *init_par
-
- dc->link_count = 0;
-
-- dcb = dal_adapter_service_get_bios_parser(init_params->adapter_srv);
-+ dcb = dal_adapter_service_get_bios_parser(as);
-
- connectors_num = dcb->funcs->get_connectors_number(dcb);
-
-@@ -89,7 +92,7 @@ static bool create_links(struct core_dc *dc, const struct dc_init_data *init_par
- return false;
- }
-
-- if (connectors_num == 0 && init_params->num_virtual_links == 0) {
-+ if (connectors_num == 0 && num_virtual_links == 0) {
- dm_error("DC: Number of connectors can not be zero!\n");
- return false;
- }
-@@ -98,14 +101,14 @@ static bool create_links(struct core_dc *dc, const struct dc_init_data *init_par
- "DC: %s: connectors_num: physical:%d, virtual:%d\n",
- __func__,
- connectors_num,
-- init_params->num_virtual_links);
-+ num_virtual_links);
-
- for (i = 0; i < connectors_num; i++) {
- struct link_init_data link_init_params = {0};
- struct core_link *link;
-
-- link_init_params.ctx = init_params->ctx;
-- link_init_params.adapter_srv = init_params->adapter_srv;
-+ link_init_params.ctx = dc->ctx;
-+ link_init_params.adapter_srv = as;
- link_init_params.connector_index = i;
- link_init_params.link_index = dc->link_count;
- link_init_params.dc = dc;
-@@ -120,7 +123,7 @@ static bool create_links(struct core_dc *dc, const struct dc_init_data *init_par
- }
- }
-
-- for (i = 0; i < init_params->num_virtual_links; i++) {
-+ for (i = 0; i < num_virtual_links; i++) {
- struct core_link *link = dm_alloc(sizeof(*link));
- struct encoder_init_data enc_init = {0};
-
-@@ -129,8 +132,8 @@ static bool create_links(struct core_dc *dc, const struct dc_init_data *init_par
- goto failed_alloc;
- }
-
-- link->adapter_srv = init_params->adapter_srv;
-- link->ctx = init_params->ctx;
-+ link->adapter_srv = as;
-+ link->ctx = dc->ctx;
- link->dc = dc;
- link->public.connector_signal = SIGNAL_TYPE_VIRTUAL;
- link->link_id.type = OBJECT_TYPE_CONNECTOR;
-@@ -138,8 +141,8 @@ static bool create_links(struct core_dc *dc, const struct dc_init_data *init_par
- link->link_id.enum_id = ENUM_ID_1;
- link->link_enc = dm_alloc(sizeof(*link->link_enc));
-
-- enc_init.adapter_service = init_params->adapter_srv;
-- enc_init.ctx = init_params->ctx;
-+ enc_init.adapter_service = as;
-+ enc_init.ctx = dc->ctx;
- enc_init.channel = CHANNEL_ID_UNKNOWN;
- enc_init.hpd_source = HPD_SOURCEID_UNKNOWN;
- enc_init.transmitter = TRANSMITTER_UNKNOWN;
-@@ -215,18 +218,18 @@ static void init_hw(struct core_dc *dc)
- }
-
- static struct adapter_service *create_as(
-- struct dc_init_data *dc_init_data,
-- const struct dal_init_data *init)
-+ const struct dc_init_data *init,
-+ struct dc_context *dc_ctx)
- {
- struct adapter_service *as = NULL;
- struct as_init_data init_data;
-
- dm_memset(&init_data, 0, sizeof(init_data));
-
-- init_data.ctx = dc_init_data->ctx;
-+ init_data.ctx = dc_ctx;
-
- /* BIOS parser init data */
-- init_data.bp_init_data.ctx = dc_init_data->ctx;
-+ init_data.bp_init_data.ctx = dc_ctx;
- init_data.bp_init_data.bios = init->asic_id.atombios_base_address;
-
- /* HW init data */
-@@ -240,9 +243,6 @@ static struct adapter_service *create_as(
- init_data.hw_init_data.vram_width = init->asic_id.vram_width;
- init_data.hw_init_data.vram_type = init->asic_id.vram_type;
-
-- /* bdf is BUS,DEVICE,FUNCTION*/
-- init_data.bdf_info = init->bdf_info;
--
- init_data.display_param = &init->display_param;
- init_data.vbios_override = init->vbios_override;
- init_data.dce_environment = init->dce_environment;
-@@ -298,72 +298,63 @@ static void bw_calcs_data_update_from_pplib(struct core_dc *dc)
- 1000);
- }
-
--static bool construct(struct core_dc *dc, const struct dal_init_data *init_params)
-+static bool construct(struct core_dc *dc, const struct dc_init_data *init_params)
- {
- struct dal_logger *logger;
-- /* Tempory code
-- * TODO: replace dal_init_data with dc_init_data when dal is removed
-- */
-- struct dc_init_data dc_init_data = {0};
--
-- /* Create dc context */
-- /* A temp dc context is used only to allocate the memory for actual
-- * dc context */
-- struct dc_context ctx = {0};
-- ctx.cgs_device = init_params->cgs_device;
-- ctx.dc = dc;
-+ struct adapter_service *as;
-+ struct dc_context *dc_ctx = dm_alloc(sizeof(*dc_ctx));
-
-- dc_init_data.ctx = dm_alloc(sizeof(*dc_init_data.ctx));
-- if (!dc_init_data.ctx) {
-+
-+ if (!dc_ctx) {
- dm_error("%s: failed to create ctx\n", __func__);
- goto ctx_fail;
- }
-- dc_init_data.ctx->driver_context = init_params->driver;
-- dc_init_data.ctx->cgs_device = init_params->cgs_device;
-- dc_init_data.num_virtual_links = init_params->num_virtual_links;
-- dc_init_data.ctx->dc = dc;
-+
-+ dc_ctx->cgs_device = init_params->cgs_device;
-+ dc_ctx->driver_context = init_params->driver;
-+ dc_ctx->dc = dc;
-
- /* Create logger */
-- logger = dal_logger_create(dc_init_data.ctx);
-+ logger = dal_logger_create(dc_ctx);
-
- if (!logger) {
- /* can *not* call logger. call base driver 'print error' */
- dm_error("%s: failed to create Logger!\n", __func__);
- goto logger_fail;
- }
-- dc_init_data.ctx->logger = logger;
-+ dc_ctx->logger = logger;
-
- /* Create adapter service */
-- dc_init_data.adapter_srv = create_as(&dc_init_data, init_params);
-+ as = create_as(init_params, dc_ctx);
-
-- if (!dc_init_data.adapter_srv) {
-+ if (!as) {
- dm_error("%s: create_as() failed!\n", __func__);
- goto as_fail;
- }
-
- /* Initialize HW controlled by Adapter Service */
- if (false == dal_adapter_service_initialize_hw_data(
-- dc_init_data.adapter_srv)) {
-+ as)) {
- dm_error("%s: dal_adapter_service_initialize_hw_data()"\
- " failed!\n", __func__);
- /* Note that AS exist, so have to destroy it.*/
- goto as_fail;
- }
-
-- dc->ctx = dc_init_data.ctx;
-+ dc->ctx = dc_ctx;
-
- dc->ctx->dce_environment = dal_adapter_service_get_dce_environment(
-- dc_init_data.adapter_srv);
-+ as);
-
- /* Create hardware sequencer */
-- if (!dc_construct_hw_sequencer(dc_init_data.adapter_srv, dc))
-+ if (!dc_construct_hw_sequencer(as, dc))
- goto hwss_fail;
-
- if (!dc_construct_resource_pool(
-- dc_init_data.adapter_srv, dc, dc_init_data.num_virtual_links))
-+ as, dc, init_params->num_virtual_links))
- goto construct_resource_fail;
-
-- if (!create_links(dc, &dc_init_data))
-+ if (!create_links(dc, as, init_params->num_virtual_links))
- goto create_links_fail;
-
- bw_calcs_init(&dc->bw_dceip, &dc->bw_vbios);
-@@ -376,10 +367,10 @@ static bool construct(struct core_dc *dc, const struct dal_init_data *init_param
- construct_resource_fail:
- create_links_fail:
- as_fail:
-- dal_logger_destroy(&dc_init_data.ctx->logger);
-+ dal_logger_destroy(&dc_ctx->logger);
- logger_fail:
- hwss_fail:
-- dm_free(dc_init_data.ctx);
-+ dm_free(dc_ctx);
- ctx_fail:
- return false;
- }
-@@ -463,7 +454,7 @@ static int8_t acquire_first_free_underlay(
- * Public functions
- ******************************************************************************/
-
--struct core_dc *dc_create(const struct dal_init_data *init_params)
-+struct core_dc *dc_create(const struct dc_init_data *init_params)
- {
- struct dc_context ctx = {
- .driver_context = init_params->driver,
-diff --git a/drivers/gpu/drm/amd/dal/dc/dc.h b/drivers/gpu/drm/amd/dal/dc/dc.h
-index aacdefe..41010f7 100644
---- a/drivers/gpu/drm/amd/dal/dc/dc.h
-+++ b/drivers/gpu/drm/amd/dal/dc/dc.h
-@@ -38,11 +38,6 @@
- /*******************************************************************************
- * Display Core Interfaces
- ******************************************************************************/
--struct dc_init_data {
-- struct dc_context *ctx;
-- struct adapter_service *adapter_srv;
-- uint8_t num_virtual_links;
--};
-
- struct dc_caps {
- uint32_t max_targets;
-@@ -52,13 +47,12 @@ struct dc_caps {
-
- void dc_get_caps(const struct core_dc *dc, struct dc_caps *caps);
-
--struct dal_init_data {
-+struct dc_init_data {
- struct hw_asic_id asic_id;
-- struct view_port_alignment vp_alignment;
-- struct bdf_info bdf_info;
- struct dal_override_parameters display_param;
- void *driver; /* ctx */
- void *cgs_device;
-+
- uint8_t num_virtual_links;
- /*
- * If 'vbios_override' not NULL, it will be called instead
-@@ -68,7 +62,7 @@ struct dal_init_data {
- enum dce_environment dce_environment;
- };
-
--struct core_dc *dc_create(const struct dal_init_data *init_params);
-+struct core_dc *dc_create(const struct dc_init_data *init_params);
- void dc_destroy(struct core_dc **dc);
-
- /*******************************************************************************
-diff --git a/drivers/gpu/drm/amd/dal/dc/dc_types.h b/drivers/gpu/drm/amd/dal/dc/dc_types.h
-index b737206..0fb4822 100644
---- a/drivers/gpu/drm/amd/dal/dc/dc_types.h
-+++ b/drivers/gpu/drm/amd/dal/dc/dc_types.h
-@@ -120,14 +120,6 @@ struct hw_asic_id {
- void *atombios_base_address;
- };
-
--/* this is pci information. BDF stands for BUS,DEVICE,FUNCTION*/
--
--struct bdf_info {
-- uint16_t BUS_NUMBER:8;
-- uint16_t DEVICE_NUMBER:5;
-- uint16_t FUNCTION_NUMBER:3;
--};
--
- /* array index for integer override parameters*/
- enum int_param_array_index {
- DAL_PARAM_MAX_COFUNC_NON_DP_DISPLAYS = 0,
-@@ -534,13 +526,6 @@ enum dc_acpi_cm_power_state {
- DC_ACPI_CM_POWER_STATE_D3 = 8
- };
-
--struct view_port_alignment {
-- uint8_t x_width_size_alignment;
-- uint8_t y_height_size_alignment;
-- uint8_t x_start_alignment;
-- uint8_t y_start_alignment;
--};
--
- enum dc_connection_type {
- dc_connection_none,
- dc_connection_single,
-diff --git a/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h b/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h
-index a4b37ff..cc093b1 100644
---- a/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h
-+++ b/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h
-@@ -318,7 +318,6 @@ struct as_init_data {
- struct hw_asic_id hw_init_data;
- struct bp_init_data bp_init_data;
- struct dc_context *ctx;
-- struct bdf_info bdf_info;
- const struct dal_override_parameters *display_param;
- struct dc_bios *vbios_override;
- enum dce_environment dce_environment;
-@@ -580,9 +579,6 @@ struct ddc *dal_adapter_service_obtain_ddc_from_i2c_info(
- struct adapter_service *as,
- struct graphics_object_i2c_info *info);
-
--struct bdf_info dal_adapter_service_get_adapter_info(
-- struct adapter_service *as);
--
- /* Determine if this ASIC needs to wait on PLL lock bit */
- bool dal_adapter_service_should_psr_skip_wait_for_pll_lock(
- struct adapter_service *as);
---
-2.7.4
-