mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
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: Jake Wang <haonan.wang2@amd.com> Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com> Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
37bedd9929
commit
3306ace54e
2 changed files with 4 additions and 7 deletions
|
@ -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,
|
||||||
(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 {
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue