Commit 3306ace5 authored by Jake Wang's avatar Jake Wang Committed by Alex Deucher

drm/amd/display: Added dc_edp_id_count to dc_context

[Why]
We need to keep track of the number of eDP links to
properly enumerate edp panel control instance.

[How]
Added dc_edp_id_count to dc_context to keep track of
number of eDP links.
Signed-off-by: default avatarJake Wang <haonan.wang2@amd.com>
Reviewed-by: default avatarNicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: default avatarQingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 37bedd99
...@@ -1386,8 +1386,6 @@ static bool dc_link_construct(struct dc_link *link, ...@@ -1386,8 +1386,6 @@ static bool dc_link_construct(struct dc_link *link,
struct dc_bios *bios = init_params->dc->ctx->dc_bios; struct dc_bios *bios = init_params->dc->ctx->dc_bios;
const struct dc_vbios_funcs *bp_funcs = bios->funcs; const struct dc_vbios_funcs *bp_funcs = bios->funcs;
struct bp_disp_connector_caps_info disp_connect_caps_info = { 0 }; struct bp_disp_connector_caps_info disp_connect_caps_info = { 0 };
struct dc_link *edp_links[MAX_NUM_EDP];
int edp_num;
DC_LOGGER_INIT(dc_ctx->logger); DC_LOGGER_INIT(dc_ctx->logger);
...@@ -1513,14 +1511,12 @@ static bool dc_link_construct(struct dc_link *link, ...@@ -1513,14 +1511,12 @@ static bool dc_link_construct(struct dc_link *link,
(link->link_id.id == CONNECTOR_ID_EDP || (link->link_id.id == CONNECTOR_ID_EDP ||
link->link_id.id == CONNECTOR_ID_LVDS)) { link->link_id.id == CONNECTOR_ID_LVDS)) {
panel_cntl_init_data.ctx = dc_ctx; panel_cntl_init_data.ctx = dc_ctx;
get_edp_links(panel_cntl_init_data.ctx->dc, edp_links, &edp_num); panel_cntl_init_data.inst =
if ((edp_num > 1) && (link->link_index > edp_links[0]->link_index)) panel_cntl_init_data.ctx->dc_edp_id_count;
panel_cntl_init_data.inst = 1;
else
panel_cntl_init_data.inst = 0;
link->panel_cntl = link->panel_cntl =
link->dc->res_pool->funcs->panel_cntl_create( link->dc->res_pool->funcs->panel_cntl_create(
&panel_cntl_init_data); &panel_cntl_init_data);
panel_cntl_init_data.ctx->dc_edp_id_count++;
if (link->panel_cntl == NULL) { if (link->panel_cntl == NULL) {
DC_ERROR("Failed to create link panel_cntl!\n"); DC_ERROR("Failed to create link panel_cntl!\n");
......
...@@ -113,6 +113,7 @@ struct dc_context { ...@@ -113,6 +113,7 @@ struct dc_context {
struct gpio_service *gpio_service; struct gpio_service *gpio_service;
uint32_t dc_sink_id_count; uint32_t dc_sink_id_count;
uint32_t dc_stream_id_count; uint32_t dc_stream_id_count;
uint32_t dc_edp_id_count;
uint64_t fbc_gpu_addr; uint64_t fbc_gpu_addr;
struct dc_dmub_srv *dmub_srv; struct dc_dmub_srv *dmub_srv;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment