disp: msm: encoder_ids replaced in drm_connector
Commit 62afb4ad425a ("drm/connector: Allow max possible encoders to attach to a connector") enables additional encoders per connector through use of a mask rather than encoder ids. This change updates the driver when looking for an encoder for the connector to look through the list of all possible encoders. Change-Id: I69cc7c38cd0a9842ed2f15712feeb3c6b88daadf Signed-off-by: Samantha Tran <samtran@codeaurora.org> Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
This commit is contained in:

committed by
Nilaan Gunabalachandran

parent
da5f5ff1ae
commit
2616e57a0a
@@ -6379,6 +6379,7 @@ int dsi_display_drm_ext_bridge_init(struct dsi_display *display,
|
||||
for (i = 0; i < display->ext_bridge_cnt; i++) {
|
||||
struct dsi_display_ext_bridge *ext_bridge_info =
|
||||
&display->ext_bridge[i];
|
||||
struct drm_encoder *c_encoder;
|
||||
|
||||
/* return if ext bridge is already initialized */
|
||||
if (ext_bridge_info->bridge)
|
||||
@@ -6424,8 +6425,20 @@ int dsi_display_drm_ext_bridge_init(struct dsi_display *display,
|
||||
spin_lock_irq(&drm->mode_config.connector_list_lock);
|
||||
ext_conn = list_last_entry(&drm->mode_config.connector_list,
|
||||
struct drm_connector, head);
|
||||
|
||||
drm_connector_for_each_possible_encoder(ext_conn, c_encoder)
|
||||
break;
|
||||
|
||||
if (!c_encoder) {
|
||||
DSI_ERR("failed to get encoder\n");
|
||||
rc = PTR_ERR(c_encoder);
|
||||
|
||||
spin_unlock_irq(&drm->mode_config.connector_list_lock);
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (ext_conn && ext_conn != connector &&
|
||||
ext_conn->encoder_ids[0] == bridge->encoder->base.id) {
|
||||
c_encoder->base.id == bridge->encoder->base.id) {
|
||||
list_del_init(&ext_conn->head);
|
||||
display->ext_conn = ext_conn;
|
||||
}
|
||||
|
Reference in New Issue
Block a user