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
orang tua fc320f34cf
melakukan 5346598663

Melihat File

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