disp: msm: sde: don't advertise rotation for virtual planes

For existing HW, in-line rotation is only supported on master
planes. Remove publishing support for rotate-90 and rotate-270
on all virtual planes. Also, fixup the published support for
180 degree rotation which can be performed on all pipes that
have both X & Y axes reflections.

Change-Id: Iff248abeefeb2a100ffd833d94b429b47b6d407b
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
This commit is contained in:
Steve Cohen
2020-06-17 17:38:09 -04:00
parent fc320f34cf
commit 5346598663

View File

@@ -1646,8 +1646,8 @@ static void sde_plane_rot_install_properties(struct drm_plane *plane,
struct sde_mdss_cfg *catalog) struct sde_mdss_cfg *catalog)
{ {
struct sde_plane *psde = to_sde_plane(plane); struct sde_plane *psde = to_sde_plane(plane);
unsigned long supported_rotations = DRM_MODE_ROTATE_0 | unsigned int supported_rotations = DRM_MODE_ROTATE_0 |
DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y; DRM_MODE_ROTATE_180 | DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y;
int ret = 0; int ret = 0;
if (!plane || !psde) { if (!plane || !psde) {
@@ -1658,9 +1658,8 @@ static void sde_plane_rot_install_properties(struct drm_plane *plane,
return; return;
} }
if (psde->features & BIT(SDE_SSPP_TRUE_INLINE_ROT)) if (!psde->is_virtual && psde->features & BIT(SDE_SSPP_TRUE_INLINE_ROT))
supported_rotations |= DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 | supported_rotations |= DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_270;
DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270;
ret = drm_plane_create_rotation_property(plane, ret = drm_plane_create_rotation_property(plane,
DRM_MODE_ROTATE_0, supported_rotations); DRM_MODE_ROTATE_0, supported_rotations);