diff options
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch')
-rw-r--r-- | meta-amdfalconx86/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch | 406 |
1 files changed, 0 insertions, 406 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/0856-drm-amd-dal-Refactor-DC-creation-merge-dc-and-dal-in.patch b/meta-amdfalconx86/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/meta-amdfalconx86/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 - |