disp: msm: update topology based on clock requirement
Update the topology allocation by considering the required mode clock (vtotal x htotal x fps * fudge factor). Modes with a clock that exceeds the maximum SDE clock will be denoted as requiring a topology that uses two layer mixers. Change-Id: I3c773598b0d79cb6fea9d3a0e04d89ff84d67e13 Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Este commit está contenido en:
@@ -2060,6 +2060,7 @@ static enum drm_mode_status dp_display_validate_mode(
|
||||
struct dp_display_mode dp_mode;
|
||||
bool dsc_en;
|
||||
u32 num_lm = 0;
|
||||
int rc = 0;
|
||||
|
||||
if (!dp_display || !mode || !panel ||
|
||||
!avail_res || !avail_res->max_mixer_width) {
|
||||
@@ -2105,8 +2106,12 @@ static enum drm_mode_status dp_display_validate_mode(
|
||||
goto end;
|
||||
}
|
||||
|
||||
num_lm = (avail_res->max_mixer_width <= mode->hdisplay) ?
|
||||
2 : 1;
|
||||
rc = msm_get_mixer_count(dp->priv, mode, avail_res, &num_lm);
|
||||
if (rc) {
|
||||
DP_ERR("error getting mixer count. rc:%d\n", rc);
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (num_lm > avail_res->num_lm ||
|
||||
(num_lm == 2 && !avail_res->num_3dmux)) {
|
||||
DP_MST_DEBUG("num_lm:%d, req lm:%d 3dmux:%d\n", num_lm,
|
||||
|
Referencia en una nueva incidencia
Block a user