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:
Samantha Tran
2020-07-31 09:39:13 -07:00
committed by Nilaan Gunabalachandran
orang tua da5f5ff1ae
melakukan 2616e57a0a
3 mengubah file dengan 37 tambahan dan 6 penghapusan

Melihat File

@@ -2990,6 +2990,16 @@ static int sde_kms_inform_cont_splash_res_disable(struct msm_kms *kms,
drm_connector_list_iter_begin(dev, &conn_iter);
drm_for_each_connector_iter(connector, &conn_iter) {
struct drm_encoder *c_encoder;
drm_connector_for_each_possible_encoder(connector,
c_encoder)
break;
if (!c_encoder) {
SDE_ERROR("c_encoder not found\n");
return -EINVAL;
}
/**
* Inform cont_splash is disabled to each interface/connector.
* This is currently supported for DSI interface.
@@ -2999,8 +3009,7 @@ static int sde_kms_inform_cont_splash_res_disable(struct msm_kms *kms,
if (!dsi_display || !encoder) {
sde_conn->ops.cont_splash_res_disable
(sde_conn->display);
} else if (connector->encoder_ids[0]
== encoder->base.id) {
} else if (c_encoder->base.id == encoder->base.id) {
/**
* This handles dual DSI
* configuration where one DSI
@@ -3183,6 +3192,16 @@ static int sde_kms_cont_splash_config(struct msm_kms *kms,
mutex_lock(&dev->mode_config.mutex);
drm_connector_list_iter_begin(dev, &conn_iter);
drm_for_each_connector_iter(connector, &conn_iter) {
struct drm_encoder *c_encoder;
drm_connector_for_each_possible_encoder(connector,
c_encoder)
break;
if (!c_encoder) {
SDE_ERROR("c_encoder not found\n");
mutex_unlock(&dev->mode_config.mutex);
return -EINVAL;
}
/**
* SDE_KMS doesn't attach more than one encoder to
* a DSI connector. So it is safe to check only with
@@ -3190,7 +3209,7 @@ static int sde_kms_cont_splash_config(struct msm_kms *kms,
* ever have to support continuous splash for
* external displays in MST configuration.
*/
if (connector->encoder_ids[0] == encoder->base.id)
if (c_encoder->base.id == encoder->base.id)
break;
}
drm_connector_list_iter_end(&conn_iter);