Bladeren bron

disp: msm: sde: allow rect1 only configuration

This change allows the configuration where virtual plane is
staged without staging the corresponding master plane. Hw allows
such configuration and additionally during shell stop cases,
framework removes each staged plane one by one which requires
this configuration to be supported.

Change-Id: I85ce571dbbc148c069c2cf35cba55ad740d52b5d
Signed-off-by: Abhijit Kulkarni <[email protected]>
Abhijit Kulkarni 5 jaren geleden
bovenliggende
commit
842e86013e
1 gewijzigde bestanden met toevoegingen van 10 en 5 verwijderingen
  1. 10 5
      msm/sde/sde_crtc.c

+ 10 - 5
msm/sde/sde_crtc.c

@@ -4650,13 +4650,18 @@ static int _sde_crtc_check_get_pstates(struct drm_crtc *crtc,
 
 	for (i = 1; i < SSPP_MAX; i++) {
 		if (pipe_staged[i]) {
+			sde_plane_clear_multirect(pipe_staged[i]);
 			if (is_sde_plane_virtual(pipe_staged[i]->plane)) {
-				SDE_ERROR(
-					"r1 only virt plane:%d not supported\n",
-					pipe_staged[i]->plane->base.id);
-				return -EINVAL;
+				struct sde_plane_state *psde_state;
+
+				SDE_DEBUG("r1 only virt plane:%d staged\n",
+					 pipe_staged[i]->plane->base.id);
+
+				psde_state = to_sde_plane_state(
+						pipe_staged[i]);
+
+				psde_state->multirect_index = SDE_SSPP_RECT_1;
 			}
-			sde_plane_clear_multirect(pipe_staged[i]);
 		}
 	}