disp: msm: sde: fix cont splash pipe identification
This change fixes the continuos splash logic that identifies the pipes staged by bootloader. The same code flow is used in trusted ui handover as well. Existing logic was counting the pipes twice if the pipe is staged on both the layer mixers. This change simplifies the pipes already staged before handover by using the pipe index to convey if it is staged or not. Change-Id: Idb255f2077161dc3553114ac5d04e0ef743bb5ea Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
这个提交包含在:
@@ -2537,7 +2537,7 @@ static int _sde_plane_validate_shared_crtc(struct sde_plane *psde,
|
||||
{
|
||||
struct sde_kms *sde_kms;
|
||||
struct sde_splash_display *splash_display;
|
||||
int i, j;
|
||||
int i;
|
||||
|
||||
sde_kms = _sde_plane_get_kms(&psde->base);
|
||||
|
||||
@@ -2548,19 +2548,16 @@ static int _sde_plane_validate_shared_crtc(struct sde_plane *psde,
|
||||
splash_display = &sde_kms->splash_data.splash_display[i];
|
||||
|
||||
if (splash_display && splash_display->cont_splash_enabled &&
|
||||
splash_display->encoder &&
|
||||
state->crtc != splash_display->encoder->crtc) {
|
||||
splash_display->encoder &&
|
||||
state->crtc != splash_display->encoder->crtc) {
|
||||
struct sde_sspp_index_info *pipe_info = &splash_display->pipe_info;
|
||||
|
||||
for (j = 0; j < MAX_DATA_PATH_PER_DSIPLAY; j++) {
|
||||
|
||||
if (splash_display->pipes[j].sspp ==
|
||||
psde->pipe) {
|
||||
SDE_ERROR_PLANE(psde,
|
||||
"pipe:%d used in cont-splash on crtc:%d\n",
|
||||
psde->pipe,
|
||||
splash_display->encoder->crtc->base.id);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (test_bit(psde->pipe, pipe_info->pipes) ||
|
||||
test_bit(psde->pipe, pipe_info->virt_pipes)) {
|
||||
SDE_ERROR_PLANE(psde, "pipe:%d used in cont-splash on crtc:%d\n",
|
||||
psde->pipe,
|
||||
splash_display->encoder->crtc->base.id);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
在新工单中引用
屏蔽一个用户